feat: update incus build process
Some checks failed
Build / build (pull_request) Has been cancelled

- ensure unkin-ca-certificates are installed
- find the default incus remote and use that for images
- dont set publish_remote_name
- build incus images for the base image
- build puppet-base image for incus only
- ensure builds are made with the `build` profile
- only build 9.5+ for incus
This commit is contained in:
Ben Vincent 2025-04-23 22:42:26 +10:00
parent afceaa8618
commit 4deae00ca4
8 changed files with 31 additions and 8 deletions

View File

@ -50,11 +50,11 @@ build {
post-processor "shell-local" {
inline = [
"incus image alias delete local:${local.incus_base_name}/latest || true",
"incus image alias delete local:${local.incus_base_name}/${var.date} || true",
"incus image info local:${local.incus_output_image} | grep Fingerprint | awk '{print $2}'",
"incus image alias create local:${local.incus_base_name}/latest $(incus image info local:${local.incus_output_image} | grep Fingerprint | awk '{print $2}')",
"incus image alias create local:${local.incus_base_name}/${var.date} $(incus image info local:${local.incus_output_image} | grep Fingerprint | awk '{print $2}')"
"incus image alias delete $(incus remote get-default):${local.incus_base_name}/latest || true",
"incus image alias delete $(incus remote get-default):${local.incus_base_name}/${var.date} || true",
"incus image info $(incus remote get-default):${local.incus_output_image} | grep Fingerprint | awk '{print $2}'",
"incus image alias create $(incus remote get-default):${local.incus_base_name}/latest $(incus image info $(incus remote get-default):${local.incus_output_image} | grep Fingerprint | awk '{print $2}')",
"incus image alias create $(incus remote get-default):${local.incus_base_name}/${var.date} $(incus image info $(incus remote get-default):${local.incus_output_image} | grep Fingerprint | awk '{print $2}')"
]
}
}

View File

@ -1,7 +1,6 @@
# almalinux/8.10/base
deploy_files_from_image = true
deploy_files_from_common = true
use_incus = false
packages = [
"git",
"jq",
@ -10,6 +9,7 @@ packages = [
"python3.11-pip",
"python3.12",
"python3.12-pip",
"unkin-ca-certificates",
"uv",
"wget",
]

View File

@ -1 +1,2 @@
docker
incus

View File

@ -1,7 +1,7 @@
# almalinux/9.5/base
deploy_files_from_image = true
deploy_files_from_common = true
use_incus = false
use_incus = true
packages = [
"git",
"jq",
@ -10,6 +10,7 @@ packages = [
"python3.11-pip",
"python3.12",
"python3.12-pip",
"unkin-ca-certificates",
"uv",
"wget",
]

View File

@ -0,0 +1 @@
incus

View File

@ -0,0 +1,4 @@
[puppet]
name=puppet repository
baseurl=https://packagerepo.service.consul/puppet7/el/9-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/puppet7/el/9-daily/x86_64/os/RPM-GPG-KEY-puppet-20250406

View File

@ -0,0 +1,16 @@
# almalinux/9.5/puppet-base
incus_source = "almalinux9/base/latest"
deploy_files_from_image = true
use_incus = true
packages = [
"puppet-agent",
"puppet-initial"
]
scripts_pre_packages = [
"dnf makecache",
"dnf update -y",
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]

View File

@ -7,5 +7,5 @@ source "docker" "os" {
source "incus" "os" {
image = var.incus_source
output_image = local.incus_output_image
publish_remote_name = "incus-images"
profile = "build"
}