# vim: ts=2 et: project = zdt-alpine # all build configs start with these Default { project = ${project} # image name/description components name = [ zdt-alpine ] description = [ "ZeroDownTime Alpine Images" ] # initial provisioning script and data directory scripts = [ setup ] script_dirs = [ setup.d ] # This addds up to exact 1GB overall images by default disk_size = [1008] login = alpine image_format = vhd storage_url = "file://~quark/tmp/alpine-cloud-images/{v_version}/cloud/{cloud}/{arch}" download_url = "https://dev.alpinelinux.org/~tomalok/alpine-cloud-images/{v_version}/cloud/{cloud}/{arch}" # image access access.PUBLIC = false # image publication regions.ALL = null } # profile build matrix # atm we only support: # - tiny-cloud # - uefi boot # - Alpine 3.19 # - aws + nocloud # - x86_64 + aarch64 Dimensions { version { "3.19" { include required("version/3.19.conf") repos { "https://cdn.zero-downtime.net/alpine/v3.19/kubezero" = kubezero } } # edge { include required("version/edge.conf") } } arch { x86_64 { include required("arch/x86_64.conf") } aarch64 { include required("arch/aarch64.conf") } } firmware { # bios { include required("firmware/bios.conf") } uefi { include required("firmware/uefi.conf") } } bootstrap { # cloudinit { include required("bootstrap/cloudinit.conf") } tiny { include required("bootstrap/tiny.conf") } } cloud { aws { include required("cloud/aws.conf") } aws.regions { ALL = false ap-southeast-2 = true ca-central-1 = true eu-central-1 = true us-east-1 = true us-west-1 = true us-west-2 = true } nocloud { include required("cloud/nocloud.conf") } } edition { minimal { include required("edition/minimal.conf") } kubezero { include required("edition/kubezero.conf") } } machine { vm { include required("machine/vm.conf") } metal { include required("machine/metal.conf") } } } # all build configs merge these at the very end Mandatory { # name = [ "dev", "r{revision}" ] name = [ "r{revision}" ] encrypted = "alias/zdt/amis" # We use neofetch custom branding motd = { sudo_removed = null } # final provisioning script scripts = [ cleanup ] access { include required("access.conf") } }