@underpostnet/underpost
Version:
Underpost Platform — end-to-end CI/CD and application-delivery toolchain CLI. Covers bare metal, Kubernetes, K3s, kubeadm, LXD, container/image orchestration, secrets, databases, cron jobs, monitoring, SSH, runners, PWA + Workbox delivery, and release orc
63 lines (47 loc) • 1.07 kB
Plain Text
#!/usr/bin/make -f
include ../scripts/check.mk
PACKER ?= packer
PACKER_LOG ?= 0
TIMEOUT ?= 1h
ARCH ?= x86_64
# Detect if running on ARM host
ifeq ($(shell uname -m),aarch64)
HOST_IS_ARM = true
else
HOST_IS_ARM = false
endif
ifeq ($(wildcard /usr/share/OVMF/OVMF_CODE.fd),)
OVMF_SFX ?= _4M
else
OVMF_SFX ?=
endif
export PACKER_LOG
# Fallback
ifeq ($(strip $(ARCH)),amd64)
ARCH = x86_64
endif
all: rocky9.tar.gz
$(eval $(call check_packages_deps))
lint:
packer validate .
packer fmt -check -diff .
format:
packer fmt .
OVMF_VARS.fd: /usr/share/OVMF/OVMF_VARS${OVMF_SFX}.fd
cp -v $< ${ARCH}_VARS.fd
SIZE_VARS.fd:
ifeq ($(strip $(ARCH)),aarch64)
truncate -s 64m ${ARCH}_VARS.fd
else
truncate -s 2m ${ARCH}_VARS.fd
endif
rocky9.tar.gz: check-deps clean OVMF_VARS.fd SIZE_VARS.fd
${PACKER} init rocky9.pkr.hcl && ${PACKER} build \
-var architecture=${ARCH} \
-var host_is_arm=${HOST_IS_ARM} \
-var timeout=${TIMEOUT} \
-var ovmf_suffix=${OVMF_SFX} \
rocky9.pkr.hcl
clean:
${RM} -rf *.fd output-rocky9 rocky9.tar.gz