mirror of
https://github.com/recklessop/zroc.git
synced 2026-07-03 05:23:13 -04:00
0500ac171c
- 61 files across zroc-ui/ and zroc-ova/ directories - Full content written for: config, auth, API layers, CSS, build files, OVA scripts, backend routes, charts, hooks, constants - Stubs in place for: page components, Sidebar, TopBar, docker-compose, authentik client, blueprint YAML, packer HCL, workflows, setup wizard Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
65 lines
1.9 KiB
Makefile
65 lines
1.9 KiB
Makefile
# zroc-ova/Makefile
|
|
VERSION ?= 1.0.0
|
|
PACKER_DIR = packer
|
|
OUTPUT_DIR = output
|
|
OVA_NAME = zroc-appliance-$(VERSION)-ubuntu-26.04-amd64.ova
|
|
|
|
.PHONY: all init validate build build-qemu package checksum clean help
|
|
|
|
all: build package checksum
|
|
|
|
init:
|
|
cd $(PACKER_DIR) && packer init ubuntu-2604.pkr.hcl
|
|
|
|
validate: init
|
|
cd $(PACKER_DIR) && packer validate \
|
|
-var "vm_version=$(VERSION)" \
|
|
-var-file=variables.pkrvars.hcl \
|
|
ubuntu-2604.pkr.hcl
|
|
@echo "✓ Template valid"
|
|
|
|
build: init
|
|
@echo "==> Building zROC OVA v$(VERSION) with VMware builder"
|
|
cd $(PACKER_DIR) && PACKER_LOG=1 packer build \
|
|
-var "vm_version=$(VERSION)" \
|
|
-var "headless=true" \
|
|
-var-file=variables.pkrvars.hcl \
|
|
ubuntu-2604.pkr.hcl
|
|
@echo "✓ Build complete"
|
|
|
|
build-qemu: init
|
|
@echo "==> Building zROC image v$(VERSION) with QEMU builder"
|
|
cd $(PACKER_DIR) && PACKER_LOG=1 packer build \
|
|
-only="qemu.ubuntu2604" \
|
|
-var "vm_version=$(VERSION)" \
|
|
-var-file=variables.pkrvars.hcl \
|
|
ubuntu-2604.pkr.hcl
|
|
|
|
package:
|
|
@echo "==> Packaging OVF to OVA"
|
|
@OVF=$$(find $(OUTPUT_DIR)/vmware -name "*.ovf" | head -1); \
|
|
if [ -z "$$OVF" ]; then echo "No OVF found in $(OUTPUT_DIR)/vmware"; exit 1; fi; \
|
|
ovftool --compress=9 "$$OVF" "$(OUTPUT_DIR)/$(OVA_NAME)"
|
|
@echo "✓ OVA: $(OUTPUT_DIR)/$(OVA_NAME)"
|
|
|
|
checksum:
|
|
@cd $(OUTPUT_DIR) && sha256sum $(OVA_NAME) > $(OVA_NAME).sha256
|
|
@echo "✓ Checksum: $(OUTPUT_DIR)/$(OVA_NAME).sha256"
|
|
@cat $(OUTPUT_DIR)/$(OVA_NAME).sha256
|
|
|
|
verify:
|
|
@cd $(OUTPUT_DIR) && sha256sum -c $(OVA_NAME).sha256
|
|
|
|
clean:
|
|
rm -rf $(OUTPUT_DIR)
|
|
@echo "✓ Output directory cleaned"
|
|
|
|
help:
|
|
@echo ""
|
|
@echo " zroc-ova build targets"
|
|
@echo " ──────────────────────────────────────────"
|
|
@grep -E '^## ' Makefile | sed 's/## / make /'
|
|
@echo ""
|
|
@echo " VERSION=$(VERSION) (override: make build VERSION=1.1.0)"
|
|
@echo ""
|