Compare commits

...

23 Commits

Author SHA1 Message Date
unkinben 4e8f97ba7e chore: bump artifactapi
Build / build (pull_request) Successful in 39s
- unkin/artifactapi#3
2026-01-10 17:04:09 +11:00
unkinben 56a32bfaff fix: use correct path (#31)
Deploy / build (push) Successful in 32s
- I need a better way to test these changes

Reviewed-on: #31
2026-01-10 16:44:48 +11:00
unkinben 5ff0604d93 fix: ensure run script is executable (#30)
Deploy / build (push) Successful in 18s
Reviewed-on: #30
2026-01-10 16:29:46 +11:00
unkinben d9ad1d6b0e feat: add makerun image (#29)
Deploy / build (push) Successful in 37s
- a basic image that enables running development builds

Reviewed-on: #29
2026-01-10 16:16:10 +11:00
unkinben 563df98993 chore: bump artifactapi for boto3 fixes (#28)
Deploy / build (push) Successful in 39s
Reviewed-on: #28
2026-01-08 23:59:31 +11:00
unkinben e216b6b4f1 chore: bump artifactapi container (#27)
Deploy / build (push) Successful in 38s
- applies latest updates

Reviewed-on: #27
2026-01-08 23:10:26 +11:00
unkinben d753f686ff feat: build artifactapi container (#25)
Deploy / build (push) Successful in 1m5s
- build artifactapi container

Reviewed-on: #25
2026-01-07 00:01:50 +11:00
unkinben a1bd95caec chore: bump images 20260106 (#26)
Deploy / build (push) Successful in 12m2s
- rebuild all base images
- rebuild rpmbuilder/actionsdind

Reviewed-on: #26
2026-01-06 23:32:22 +11:00
unkinben 50425b052f feat: change to opentofu for el9 (#24)
Deploy / build (push) Successful in 4m1s
- update comments to match 9.6
- change terraform to opentofu
- bump some images to rebuild

Reviewed-on: #24
2025-10-17 10:23:34 +11:00
unkinben 12d1348ff6 fix: use correct repo for el8 (#23)
Deploy / build (push) Successful in 4s
- copy/paste and didnt check :/

Reviewed-on: #23
2025-07-12 13:24:18 +10:00
unkinben 737888f098 feat: add almalinux8 incus images (#22)
Deploy / build (push) Successful in 6m42s
- build new base images for el8 and el9
- build puppet-base images for el8 and el9

Reviewed-on: #22
2025-07-12 12:22:23 +10:00
unkinben 146f65797e feat: update gitea build images (#21)
Deploy / build (push) Successful in 12s
- update the images used in gitea workflows

Reviewed-on: #21
2025-07-06 17:26:43 +10:00
unkinben 47ddd5b0b2 feat: update docker sources (#20)
Deploy / build (push) Successful in 10m28s
- update docker sources from git.query.consul to git.unkin.net

Reviewed-on: #20
2025-07-06 17:00:38 +10:00
unkinben 1c3584790d feat: migrate 9.5 to 9.6 (#19)
Deploy / build (push) Successful in 12m32s
- replace almalinux 9.5 with almalinux 9.6
- upgrade el8.10 epel repo to use packagerepo
- add version to all el8.10 images to force a rebuild

Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/19
2025-06-08 23:08:56 +10:00
unkinben 8b7030eda5 feat: enable incus builds (#18)
Deploy / build (push) Successful in 1m33s
Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/18
2025-06-08 22:42:59 +10:00
unkinben 782a2778cd feat: update incus-images host (#17)
Deploy / build (push) Successful in 2m22s
- add a new incus-images host, update server cert
- add new client certificate

Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/17
2025-06-08 21:20:57 +10:00
unkinben 50f4021038 chore: add version file to images (#16)
Deploy / build (push) Successful in 5m25s
- this is a way to ensure images are rebuilt by adding changed files to
  image directories

Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/16
2025-05-25 11:09:33 +10:00
unkinben b2ba6f5eab feat: update repos for el9 (#15)
Deploy / build (push) Successful in 50s
- changed from edgecache to packagerepo for el9.4/9.5

Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/15
2025-05-25 11:03:28 +10:00
unkinben 44e1ecc84e feat: add htoprc for incus containers (#14)
Deploy / build (push) Successful in 4m11s
- htop shows offline cpus with lxd
- change htop to show cpu average (instead of all)
- add network/disk io

Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/14
2025-04-26 19:39:23 +10:00
unkinben 889a4ffc87 feat: ensure sshd is installed (#13)
Deploy / build (push) Successful in 5s
- ensure the openssh-server package is installed
- this is required for puppet ssh-signing

Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/13
2025-04-24 22:55:38 +10:00
unkinben da06bcb1ac feat: rebuild incus (#12)
Deploy / build (push) Successful in 8s
- add htop
- puppet-initial package has been updated

Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/12
2025-04-24 22:00:45 +10:00
unkinben 8e42e3c6b9 neoloc/build_incus_images (#11)
Deploy / build (push) Failing after 42s
Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/11
2025-04-24 01:12:25 +10:00
unkinben f59b0fa199 feat: enable incus support in actionsdind container (#10)
Deploy / build (push) Successful in 26m54s
- add incus-images backend
- set incus-images as default backend

Reviewed-on: https://git.query.consul/unkin/packer-images/pulls/10
2025-04-23 19:44:49 +10:00
64 changed files with 355 additions and 60 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
build:
runs-on: almalinux-8
container:
image: git.query.consul/unkin/almalinux9-actionsdind:latest
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
options: --privileged
steps:
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
build:
runs-on: almalinux-8
container:
image: git.query.consul/unkin/almalinux9-actionsdind:latest
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
options: --privileged
steps:
+5 -3
View File
@@ -4,7 +4,7 @@ LIBRARY_PATH := library
SYMLINK_PREFIX := library_
# Docker registry variables
REGISTRY := git.query.consul
REGISTRY := git.unkin.net
OWNER := unkin
DATE_TAG := $(shell date +%Y%m%d)
SUFFIX=$(shell basename $$(mktemp -u) | cut -d . -f 2)
@@ -50,7 +50,7 @@ $(DIRS):
@echo "Building for $@"
# Export environment
export VAULT_ADDR=https://vault.query.consul:8200
export VAULT_ADDR=https://vault.service.consul:8200
export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID) && \
eval $$(vault kv get -format=json kv/service/packer/builder/env | jq -r '.data.data | to_entries[] | "export \(.key)=\(.value)"')
@@ -86,11 +86,13 @@ $(DIRS):
export OS_IMAGE=$$(echo $@ | cut -d'/' -f3) && \
export OS_VERSION_MAJOR=$$(echo $$OS_VERSION_FULL | cut -d'.' -f1) && \
export DOCKER_SOURCE=$$OS_NAME:$$OS_VERSION_FULL && \
export DOCKER_SERVER='git.query.consul' && \
export DOCKER_SERVER='git.unkin.net' && \
export INCUS_SOURCE="images:$$OS_NAME/$$OS_VERSION_MAJOR" && \
export SUFFIX=$(SUFFIX) && \
export GIT_COMMIT=$(GIT_COMMIT) && \
export GIT_BRANCH=$(GIT_BRANCH) && \
export VAULT_ADDR=https://vault.service.consul:8200
export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID) && \
/usr/bin/packer init . && \
/usr/bin/packer build . )
+12
View File
@@ -21,6 +21,18 @@ build {
destination = "/"
}
# manage deploying incus client certficates
# this isnt super-secure, as the key ends up baked into the docker image
provisioner "shell" {
inline = [
"if [ ${var.include_incus_client_certs} = true ]; then",
" mkdir -p /root/.config/incus",
" echo '${replace(local.incus_crt, "'", "'\\''")}' > /root/.config/incus/client.crt",
" echo '${replace(local.incus_key, "'", "'\\''")}' > /root/.config/incus/client.key",
"fi"
]
}
# post-file-copy scripts
provisioner "shell" {
inline = var.scripts_post_file_copy
+5 -5
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}')"
]
}
}
+3 -3
View File
@@ -12,15 +12,15 @@ fi
# Run `make all` if there are changes in builds/
if [ -n "$builds_changes" ]; then
echo "Changes detected in builds/. Running 'make all'..."
make all
make all && exit 0 || exit 1
fi
# Run specific `make` commands for each changed file in images/
if [ -n "$images_changes" ]; then
echo "Changes detected in images/. Running specific 'make' commands..."
# Extract unique paths for `make` commands
TARGETS=$(echo "$images_changes" | sed -E 's|images/||; s|/[^/]+$||' | sort -u)
# Extract unique image targets (keep only up to 3 directory levels)
TARGETS=$(echo "$images_changes" | sed -E 's|^images/([^/]+/[^/]+/[^/]+).*|\1|' | sort -u)
# Prioritize base images first
BASE_TARGETS=$(echo "$TARGETS" | grep '/base$' || true)
@@ -0,0 +1,13 @@
default-remote: incus-images
remotes:
images:
addr: https://images.linuxcontainers.org
protocol: simplestreams
public: true
incus-images:
addr: https://incus-images.service.consul:8443
auth_type: tls
project: default
protocol: incus
public: false
aliases: {}
@@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE-----
MIICQzCCAcmgAwIBAgIRAKlysEAEDZRgq7isqIy2yEkwCgYIKoZIzj0EAwMwSDEZ
MBcGA1UEChMQTGludXggQ29udGFpbmVyczErMCkGA1UEAwwicm9vdEBhdXN5ZDFu
eHZtMjA2Mi5tYWluLnVua2luLm5ldDAeFw0yNTA2MDcyMTQ0NDdaFw0zNTA2MDUy
MTQ0NDdaMEgxGTAXBgNVBAoTEExpbnV4IENvbnRhaW5lcnMxKzApBgNVBAMMInJv
b3RAYXVzeWQxbnh2bTIwNjIubWFpbi51bmtpbi5uZXQwdjAQBgcqhkjOPQIBBgUr
gQQAIgNiAARsP2WBpyTosVZ5eqRe7mkg/R/dFBGUE+qyW1GZFC6zc8EEdh5Be5IA
yQPOi+s9cFHPFFOAZXdEQdGcjWs8NFISLhuSAWKwgm5Rl1p2Necrauf/ugMEfjuH
V0J7LeUBDJOjdzB1MA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcD
ATAMBgNVHRMBAf8EAjAAMEAGA1UdEQQ5MDeCHWF1c3lkMW54dm0yMDYyLm1haW4u
dW5raW4ubmV0hwR/AAABhxAAAAAAAAAAAAAAAAAAAAABMAoGCCqGSM49BAMDA2gA
MGUCMCU719yvT6OolcQlWv4s7hIxQRkJ4l/vtwa9sj5QJLZp0xklM4m/X29B0Ogf
yBDkUAIxANua9trToXOzZQooTRvK9ZFRk011XR1NO2A5hyn8uNtrIJYSuAnfcZ14
jZUjLzIkKA==
-----END CERTIFICATE-----
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/bash
set -e
mkdir /app
git clone --branch ${BRANCH} ${REPOSITORY} /app/repo
cd /app/repo
make run
@@ -1,9 +1,13 @@
# almalinux/8.10/actionsdind
docker_source = "git.query.consul/unkin/almalinux8-base:latest"
deploy_files_from_common = true
include_incus_client_certs = true
docker_source = "git.unkin.net/unkin/almalinux8-base:latest"
packages = [
"bash",
"consul",
"docker-ce-cli",
"incus-client",
"incus-tools",
"nodejs",
"packer",
"terraform",
@@ -0,0 +1 @@
20260106
+1
View File
@@ -1 +1,2 @@
docker
incus
@@ -1,6 +1,6 @@
[epel]
name=epel repository
baseurl=https://edgecache.query.consul/epel/8/Everything/x86_64
gpgkey=https://edgecache.query.consul/epel/RPM-GPG-KEY-EPEL-8
baseurl=https://packagerepo.service.consul/epel/8/everything-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/epel/8/everything-daily/x86_64/os/RPM-GPG-KEY-EPEL-8
enabled=1
gpgcheck=1
@@ -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",
]
+1
View File
@@ -0,0 +1 @@
20260106
@@ -1,5 +1,5 @@
# almalinux/8.10/jupyterlab
docker_source = "git.query.consul/unkin/almalinux8-base:latest"
docker_source = "git.unkin.net/unkin/almalinux8-base:latest"
deploy_files_from_common = true
scripts_pre_file_copy = [
"dnf install -y sudo",
+1
View File
@@ -0,0 +1 @@
20250608
+1
View File
@@ -0,0 +1 @@
incus
@@ -0,0 +1,64 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
htop_version=3.3.0
config_reader_min_version=3
fields=0 48 17 18 38 39 40 2 46 47 49 1
hide_kernel_threads=1
hide_userland_threads=0
hide_running_in_container=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_deleted_exe=1
shadow_distribution_path_prefix=0
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
header_margin=1
screen_tabs=1
detailed_cpu_time=0
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
enable_mouse=1
delay=15
hide_function_bar=0
topology_affinity=0
header_layout=two_50_50
column_meters_0=CPU Memory Swap DiskIO
column_meter_modes_0=1 1 1 2
column_meters_1=Tasks LoadAverage Uptime NetworkIO
column_meter_modes_1=2 2 2 2
tree_view=1
sort_key=46
tree_sort_key=0
sort_direction=-1
tree_sort_direction=1
tree_view_always_by_pid=0
all_branches_collapsed=0
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=PERCENT_CPU
.tree_sort_key=PID
.tree_view_always_by_pid=0
.tree_view=1
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
.sort_key=IO_RATE
.tree_sort_key=PID
.tree_view_always_by_pid=0
.tree_view=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0
@@ -0,0 +1,4 @@
[puppet]
name=puppet repository
baseurl=https://packagerepo.service.consul/puppet7/el/8-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/puppet7/el/8-daily/x86_64/os/RPM-GPG-KEY-puppet-20250406
@@ -0,0 +1,19 @@
# almalinux/8.10/puppet-base
incus_source = "almalinux8/base/latest"
deploy_files_from_image = true
use_incus = true
packages = [
"htop",
"openssh-server",
"puppet-agent",
"puppet-initial"
]
scripts_pre_packages = [
"dnf makecache",
"dnf update -y",
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf",
"systemctl enable sshd"
]
@@ -0,0 +1 @@
20250712
@@ -1,5 +1,5 @@
# almalinux/8.10/rpmbuilder
docker_source = "git.query.consul/unkin/almalinux8-base:latest"
docker_source = "git.unkin.net/unkin/almalinux8-base:latest"
packages = [
"asciidoc",
"autoconf",
+1
View File
@@ -0,0 +1 @@
20260106
@@ -1,6 +0,0 @@
[appstream]
name=appstream repository
baseurl=https://edgecache.query.consul/almalinux/9.5/AppStream/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
enabled=1
gpgcheck=1
@@ -1,6 +0,0 @@
[baseos]
name=baseos repository
baseurl=https://edgecache.query.consul/almalinux/9.5/BaseOS/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
enabled=1
gpgcheck=1
@@ -1,5 +0,0 @@
# new repo for EL9+, replaces PowerTools repo
[crb]
name=crb repository
baseurl=https://edgecache.query.consul/almalinux/9.5/CRB/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
@@ -1,6 +0,0 @@
[epel]
name=epel repository
baseurl=https://edgecache.query.consul/epel/9/Everything/x86_64
gpgkey=https://edgecache.query.consul/epel/RPM-GPG-KEY-EPEL-9
enabled=1
gpgcheck=1
@@ -1,4 +0,0 @@
[extras]
name=extras repository
baseurl=https://edgecache.query.consul/almalinux/9.5/extras/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
@@ -1,4 +0,0 @@
[highavailability]
name=highavailability repository
baseurl=https://edgecache.query.consul/almalinux/9.5/HighAvailability/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
@@ -1,12 +1,16 @@
# almalinux/9.5/actionsdind
docker_source = "git.query.consul/unkin/almalinux9-base:latest"
# almalinux/9.6/actionsdind
deploy_files_from_common = true
include_incus_client_certs = true
docker_source = "git.unkin.net/unkin/almalinux9-base:latest"
packages = [
"bash",
"consul",
"docker-ce-cli",
"incus-client",
"incus-tools",
"nodejs",
"opentofu",
"packer",
"terraform",
"terragrunt",
"unzip",
"vault"
+1
View File
@@ -0,0 +1 @@
20260106
@@ -0,0 +1,22 @@
# almalinux/9.6/rpmbuilder
docker_source = "git.unkin.net/unkin/almalinux9-base:latest"
packages = [
"sudo"
]
scripts_post_packages = [
"git clone https://git.unkin.net/unkin/artifactapi.git /app/artifactapi && uv build --wheel /app/artifactapi",
"useradd -m -r -s /bin/sh appuser && chown -R appuser:appuser /app",
"sudo -u appuser uv tool install --from /app/artifactapi/dist/*.whl artifactapi",
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
docker_changes = [
"EXPOSE 8000",
"HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 CMD curl -f http://localhost:8000/health || exit 1",
"USER appuser",
"ENV PATH=\"/home/appuser/.local/bin:$PATH\"",
"WORKDIR /app",
"CMD [\"artifactapi\"]"
]
+1
View File
@@ -0,0 +1 @@
20260110
+2
View File
@@ -0,0 +1,2 @@
docker
incus
@@ -0,0 +1,6 @@
[appstream]
name=appstream repository
baseurl=https://packagerepo.service.consul/almalinux/9.6/appstream-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/almalinux/9.6/appstream-daily/x86_64/os/RPM-GPG-KEY-AlmaLinux-9
enabled=1
gpgcheck=1
@@ -0,0 +1,6 @@
[baseos]
name=baseos repository
baseurl=https://packagerepo.service.consul/almalinux/9.6/baseos-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/almalinux/9.6/baseos-daily/x86_64/os/RPM-GPG-KEY-AlmaLinux-9
enabled=1
gpgcheck=1
@@ -0,0 +1,7 @@
# new repo for EL9+, replaces PowerTools repo
[crb]
name=crb repository
baseurl=https://packagerepo.service.consul/almalinux/9.6/crb-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/almalinux/9.6/crb-daily/x86_64/os/RPM-GPG-KEY-AlmaLinux-9
enabled=1
gpgcheck=1
@@ -0,0 +1,6 @@
[epel]
name=epel repository
baseurl=https://packagerepo.service.consul/epel/9/everything-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/epel/9/everything-daily/x86_64/os/RPM-GPG-KEY-EPEL-9
enabled=1
gpgcheck=1
@@ -0,0 +1,6 @@
[extras]
name=extras repository
baseurl=https://packagerepo.service.consul/almalinux/9.6/extras-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/almalinux/9.6/extras-daily/x86_64/os/RPM-GPG-KEY-AlmaLinux-9
enabled=1
gpgcheck=1
@@ -0,0 +1,4 @@
[ha]
name=ha repository
baseurl=https://packagerepo.service.consul/almalinux/9.6/ha-daily/x86_64/os/
gpgkey=https://packagerepo.service.consul/almalinux/9.6/ha-daily/x86_64/os/RPM-GPG-KEY-AlmaLinux-9
@@ -1,7 +1,7 @@
# almalinux/9.5/base
# almalinux/9.6/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",
]
+1
View File
@@ -0,0 +1 @@
20260106
@@ -1,6 +1,6 @@
# almalinux/9.5/jupyterlab
deploy_files_from_common = true
docker_source = "git.query.consul/unkin/almalinux9-base:latest"
docker_source = "git.unkin.net/unkin/almalinux9-base:latest"
scripts_pre_file_copy = [
"dnf install -y sudo",
]
+1
View File
@@ -0,0 +1 @@
20250608
@@ -0,0 +1,12 @@
# almalinux/9.6/makerun
docker_source = "git.unkin.net/unkin/almalinux9-base:latest"
packages = [
"sudo"
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
docker_changes = [
"CMD /usr/local/bin/run.sh"
]
+1
View File
@@ -0,0 +1 @@
20260110_2
+1
View File
@@ -0,0 +1 @@
incus
@@ -0,0 +1,64 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
htop_version=3.3.0
config_reader_min_version=3
fields=0 48 17 18 38 39 40 2 46 47 49 1
hide_kernel_threads=1
hide_userland_threads=0
hide_running_in_container=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_deleted_exe=1
shadow_distribution_path_prefix=0
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
header_margin=1
screen_tabs=1
detailed_cpu_time=0
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
enable_mouse=1
delay=15
hide_function_bar=0
topology_affinity=0
header_layout=two_50_50
column_meters_0=CPU Memory Swap DiskIO
column_meter_modes_0=1 1 1 2
column_meters_1=Tasks LoadAverage Uptime NetworkIO
column_meter_modes_1=2 2 2 2
tree_view=1
sort_key=46
tree_sort_key=0
sort_direction=-1
tree_sort_direction=1
tree_view_always_by_pid=0
all_branches_collapsed=0
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=PERCENT_CPU
.tree_sort_key=PID
.tree_view_always_by_pid=0
.tree_view=1
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
.sort_key=IO_RATE
.tree_sort_key=PID
.tree_view_always_by_pid=0
.tree_view=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0
@@ -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
@@ -0,0 +1,19 @@
# almalinux/9.5/puppet-base
incus_source = "almalinux9/base/latest"
deploy_files_from_image = true
use_incus = true
packages = [
"htop",
"openssh-server",
"puppet-agent",
"puppet-initial"
]
scripts_pre_packages = [
"dnf makecache",
"dnf update -y",
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf",
"systemctl enable sshd"
]
+1
View File
@@ -0,0 +1 @@
20250712
+1
View File
@@ -0,0 +1 @@
docker
@@ -1,5 +1,5 @@
# almalinux/9.5/rpmbuilder
docker_source = "git.query.consul/unkin/almalinux9-base:latest"
# almalinux/9.6/rpmbuilder
docker_source = "git.unkin.net/unkin/almalinux9-base:latest"
packages = [
"asciidoc",
"autoconf",
+1
View File
@@ -0,0 +1 @@
20260106
+2
View File
@@ -7,4 +7,6 @@ locals {
incus_base_name = "${var.os_name}${var.os_version_major}/${var.os_image}"
incus_output_image = "${local.incus_base_name}/${var.suffix}"
is_master = "${var.git_branch}" == "master"
incus_key = vault("kv/data/service/packer/builder/docker-incus-client", "private_key")
incus_crt = vault("kv/data/service/packer/builder/docker-incus-client", "public_key")
}
+1 -1
View File
@@ -6,7 +6,7 @@ packer {
}
incus = {
source = "github.com/bketelsen/incus"
version = "~> 1"
version = "1.2.0"
}
}
}
+1 -1
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 = "local"
profile = "build"
}
+4
View File
@@ -121,3 +121,7 @@ variable "git_branch" {
type = string
default = env("GIT_BRANCH")
}
variable "include_incus_client_certs" {
type = bool
default = false
}