101 lines
2.2 KiB
Plaintext
101 lines
2.2 KiB
Plaintext
# 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 ]
|
|
|
|
size = 1G
|
|
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
|
|
# - latest stable Alpine 3.17
|
|
|
|
Dimensions {
|
|
version {
|
|
"3.17" { include required("version/3.17.conf")
|
|
repos {
|
|
"https://cdn.zero-downtime.net/alpine/v3.17/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") }
|
|
}
|
|
|
|
machine {
|
|
vm { include required("machine/vm.conf") }
|
|
metal { include required("machine/metal.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
|
|
}
|
|
}
|
|
|
|
edition {
|
|
minimal { include required("edition/minimal.conf") }
|
|
kubezero { include required("edition/kubezero.conf") }
|
|
}
|
|
}
|
|
|
|
# all build configs merge these at the very end
|
|
Mandatory {
|
|
name = [ "r{revision}" ]
|
|
encrypted = "alias/zdt/amis"
|
|
|
|
# We use neofetch custom branding
|
|
motd = {}
|
|
|
|
# final provisioning script
|
|
scripts = [ cleanup ]
|
|
|
|
access { include required("access.conf") }
|
|
}
|
|
|
|
|