55 lines
2.1 KiB
Text
55 lines
2.1 KiB
Text
# Hetzner-specific image role defaults — build server type, snapshot retention, ARM64 locations.
|
|
|
|
{
|
|
hetzner_image_role | default = {
|
|
os_base | default = "debian-12",
|
|
provider | default = "hetzner",
|
|
template_name | default = "hetzner_build_image.j2",
|
|
build_server_type | default = "cax11",
|
|
location | default = "fsn1",
|
|
state | default = 'keep,
|
|
state_config | default = {
|
|
freshness_days | default = 30,
|
|
},
|
|
packages | default = [],
|
|
labels | default = {},
|
|
hardware | default = {
|
|
allowed_types | default = ["cax11", "cax21", "cax31"],
|
|
min_memory_gb | default = 2,
|
|
min_disk_gb | default = 20,
|
|
network_required | default = true,
|
|
ports_required | default = [],
|
|
ssh_required | default = true,
|
|
},
|
|
},
|
|
|
|
# x86_64 Debian base image with custom GPT partition layout.
|
|
# Produces a snapshot with: sda1=bios_grub, sda2=root (~root_size_gb), sda3=data (remainder).
|
|
# Use this role when deploying to server types larger than the builder (cx22);
|
|
# the root partition stays small and extra disk is available for sda3 expansion.
|
|
hetzner_base_image_role | default = {
|
|
os_base | default = "debian-12",
|
|
provider | default = "hetzner",
|
|
template_name | default = "hetzner_base_image_build.j2",
|
|
build_server_type | default = "cx22",
|
|
location | default = "fsn1",
|
|
state | default = 'keep,
|
|
state_config | default = {
|
|
freshness_days | default = 30,
|
|
},
|
|
packages | default = [],
|
|
labels | default = {},
|
|
partition_layout | default = {
|
|
root_size_gb | default = 5,
|
|
data_part | default = "ext4", # "ext4" | "unallocated"
|
|
},
|
|
hardware | default = {
|
|
allowed_types | default = ["cx22", "cx32", "cx42"],
|
|
min_memory_gb | default = 2,
|
|
min_disk_gb | default = 5, # root actual usage after debootstrap
|
|
network_required | default = true,
|
|
ports_required | default = [],
|
|
ssh_required | default = true,
|
|
},
|
|
},
|
|
}
|