211 Commits

Author SHA1 Message Date
unkinben 0c5684bd9e fix: require openvox-agent instead of puppet-agent in puppet-initial (#172)
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
## Why

The estate migrated from Puppet to OpenVox. The `puppet-agent` package name no longer exists in the rpm-vendor repos, so kickstart installs of `puppet-initial` fail dependency resolution with "nothing provides puppet-agent", blocking host provisioning.

(Note: `openvox-agent` does `Provides: puppet-agent = 7`, so an alternative root cause is openvox repo priority/availability during the kickstart solve. This PR changes the explicit `Requires` as requested so puppet-initial depends on the package by its real name.)

## Changes

- Change puppet-initial's dependency from `puppet-agent` to `openvox-agent`.
- Bump el8/el9 build version `1.0.4` -> `1.0.5` so a new RPM is published (deploy dedup skips identical filenames).

## Validation

- `make test` — 72 passed.
- Local `nfpm pkg` build in the almalinux9-rpmbuilder image: RPM assembles as `puppet-initial-1.0.5-1.x86_64`, `rpm -qpR` reports `Requires: openvox-agent`.
- Confirmed `openvox-agent` is resolvable from the openvox el9 remote (7.35.0–7.37.2 available).

https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
Reviewed-on: #172
Co-authored-by: Ben Vincent <ben@unkin.net>
Co-committed-by: Ben Vincent <ben@unkin.net>
2026-08-06 23:25:11 +10:00
unkinben c6df3a7619 feat: make puppet-initial CA endpoint configurable, default to k8s puppetca (#171)
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
## Why

The `puppet-initial` firstrun bootstrap RPM hardcoded the legacy Consul-discovered CA endpoint `puppetca.query.consul:8140`. That VM-era CA is being replaced by the in-cluster puppetserver CA service `puppetca.k8s.syd1.au.unkin.net`. Rather than swap one hardcoded host for another, the endpoint is now configurable so kickstart can override it per host.

Verified the new service serves the same Puppet CA API on the same port: `https://puppetca.k8s.syd1.au.unkin.net:8140/puppet-ca/v1/certificate/ca` returns HTTP 200 with a valid Puppet CA cert.

## Changes

- Default the CA host to `puppetca.k8s.syd1.au.unkin.net` (still port `8140`, same `/puppet-ca/v1/certificate/ca` path).
- Bootstrap script reads `PUPPETCA_HOST` / `PUPPETCA_PORT` from the environment, falling back to the defaults, and uses them for both the CA cert fetch and the `--server` of the initial noop registration run.
- Add `EnvironmentFile=-/etc/sysconfig/puppet-initial` to the systemd unit so kickstart `%post` can drop overrides in there.
- Ship a commented example config at `/etc/sysconfig/puppet-initial` as `%config(noreplace)`.
- Add a package README documenting the override, with a kickstart `%post` example.
- Bump el8/el9 build version `1.0.3` -> `1.0.4` so a new RPM is published (dedup skips identical filenames).

Note: the run loop still targets `puppet.query.consul` (the compile master, a separate host from the CA) — intentionally left unchanged; scope here is the CA endpoint only.

## Validation

- `make test` — 72 passed
- pre-commit (metadata jsonschema, yamllint, shebang/executable checks) — all pass
- Local `nfpm pkg` build: RPM assembles; `/etc/sysconfig/puppet-initial` correctly listed by `rpm -qcp` as a config file; packaged script carries the new default + env wiring.

https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
---------

Co-authored-by: Ben Vincent <neotheo@gmail.com>
Reviewed-on: #171
Co-authored-by: Ben Vincent <ben@unkin.net>
Co-committed-by: Ben Vincent <ben@unkin.net>
2026-07-29 21:36:47 +10:00
unkinben 3ba9f77c10 fix: build and publish nzbget to artifactapi rpm-vendor repos (#170)
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
## Why

`nzbget` is absent from the artifactapi `rpm-vendor-el9` / `rpm-vendor-el8` repodata, so `dnf install nzbget` fails on the media host (AlmaLinux 9.7). The legacy Gitea RPM registry is being removed from hosts by puppet-prod #496, so nzbget must land in `rpm-vendor-el9` or installs break.

Root cause: nzbget's `build.sh` built the GitHub download URL from `PACKAGE_RELEASE`, which carries the dist tag (e.g. `1.el9`). Upstream only publishes `nzbget-<version>-1.x86_64.rpm` (no dist tag), so the fetch 404s and a 22-byte "upstream returned 404" junk file is what gets published — createrepo cannot index it, so the package never appears in the repo metadata. The stale junk `nzbget-26.1-1.el9` also makes the deploy step's dedup probe return HTTP 200, which would skip re-uploading a corrected 26.1.

## How

- Point the `build.sh` source URL at the upstream release-1 asset name (`nzbget-${PACKAGE_VERSION}-1.x86_64.rpm`) while keeping the dist-tagged local output filename, mirroring the `code-server` package which repackages a prebuilt upstream RPM the same way.
- Bump nzbget el8/el9 to `26.2` (current upstream stable) so the corrected build produces a fresh filename the deploy step will actually PUT (side-stepping the stale-junk dedup skip).

## Validation

- Confirmed the corrected URL fetches a real 9.1MB RPM through artifactapi's github remote: `NAME=nzbget VER=26.2 REL=1 ARCH=x86_64`.
- `pytest` 72 passed; metadata validates against `schema/metadata.json`; all pre-commit hooks pass (yamllint, check-jsonschema, etc.).

## Post-merge

The deploy pipelines (`.woodpecker/deploy-almalinux{8,9}.yaml`) run on push to `master`. On merge they will `build-all --distro almalinux/el{8,9}`, build nzbget 26.2, and PUT `nzbget-26.2-1.el{8,9}.x86_64.rpm` to `rpm-vendor-el{8,9}`; artifactapi regenerates repodata so `dnf install nzbget` resolves.

https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
Reviewed-on: #170
Co-authored-by: Ben Vincent <ben@unkin.net>
Co-committed-by: Ben Vincent <ben@unkin.net>
2026-07-27 00:45:00 +10:00
unkinben d49667c471 feat: update etcd to 3.6.10 (#140)
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Automated version bump: 3.6.7 → 3.6.10

Reviewed-on: #140
Co-authored-by: Ben Vincent <ben@unkin.net>
Co-committed-by: Ben Vincent <ben@unkin.net>
2026-07-18 17:04:24 +10:00
benvin 5086091807 feat: change vault to use artifactapi (#168)
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Co-authored-by: Ben Vincent <ben@unkin.net>
Reviewed-on: #168
2026-06-08 15:18:11 +10:00
benvin cf1b3b9a3d chore: bump claude-code (#167)
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
- upgrade claude-code to 2.1.156

---------

Co-authored-by: Ben Vincent <ben@unkin.net>
Reviewed-on: #167
2026-06-08 14:36:42 +10:00
unkinben 8a3a585f8c fix/distro-aware-package-check (#164)
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #164
2026-05-17 23:43:35 +10:00
unkinben 539a63e0a1 feat/metadata-schema-validation (#165)
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #165
2026-05-17 12:34:33 +10:00
unkinben aeea587aeb fix: move unkin-undionly-kpxe preinstall.sh to scripts/ subdirectory (#166)
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
nfpm.yaml referenced /app/resources/scripts/preinstall.sh but the file
was at resources/preinstall.sh, causing the build to fail.

Reviewed-on: #166
2026-05-17 12:29:10 +10:00
unkinben 96d0e25e94 feat: update pipelines (#160)
ci/woodpecker/push/deploy-fedora44 Pipeline failed
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
- remove buildah (now in image)
- add fedora42/fedora43/fedora44 pipelines

Reviewed-on: #160
2026-05-16 23:36:13 +10:00
unkinben a61bcb9d60 feat: add kubecolor (#159)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
- quality of life rpm for colorizing kubernetes

Reviewed-on: #159
2026-05-14 23:29:16 +10:00
unkinben 17ce4eb2cf feat: update incus to 6.23.0 (#151)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Automated version bump: 6.20.0 → 6.23.0

Reviewed-on: #151
2026-05-02 17:18:31 +10:00
unkinben d860a9d27f feat: update ruff to 0.15.12 (#123)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Automated version bump: 0.14.10 → 0.15.12

Reviewed-on: #123
2026-05-02 11:47:30 +10:00
unkinben 9e76b1ad83 feat: update pgbouncer_exporter to 0.12.0 (#127)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Automated version bump: 0.11.0 → 0.12.0

Reviewed-on: #127
2026-05-02 11:42:53 +10:00
unkinben a5a6c90b8e feat: update vmagent to 1.142.0 (#124)
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Automated version bump: 1.132.0 → 1.142.0

Reviewed-on: #124
2026-05-02 11:38:45 +10:00
unkinben 99c4db7b51 feat: update cni-plugins to 1.9.1 (#125)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Automated version bump: 1.9.0 → 1.9.1

Reviewed-on: #125
2026-05-02 11:34:08 +10:00
unkinben 9bc820ceaf feat: update jsonnet to 0.22.0 (#126)
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Automated version bump: 0.21.0 → 0.22.0

Reviewed-on: #126
2026-05-02 11:33:52 +10:00
unkinben 743f272793 Merge pull request 'feat: update stalwart to 0.16.3' (#128) from update/stalwart into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #128
2026-05-02 11:33:37 +10:00
unkinben e8f87aa9b5 Merge pull request 'feat: update node_exporter to 1.11.1' (#129) from update/node_exporter into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #129
2026-05-02 11:33:29 +10:00
unkinben ddf4b72ec5 Merge pull request 'feat: update terraform to 1.15.0' (#130) from update/terraform into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #130
2026-05-02 11:33:21 +10:00
unkinben a915b2c9f4 Merge pull request 'feat: update vmalert to 1.142.0' (#132) from update/vmalert into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #132
2026-05-02 11:33:13 +10:00
unkinben fb91ae8240 Merge pull request 'feat: update stalwart-foundationdb to 0.16.3' (#145) from update/stalwart-foundationdb into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #145
2026-05-02 11:33:02 +10:00
unkinben 7b808bce5c Merge branch 'master' into update/stalwart
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 11:07:26 +10:00
unkinben 5a3cca95e8 Merge pull request 'feat: update jsonnet-lint to 0.22.0' (#133) from update/jsonnet-lint into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #133
2026-05-02 10:21:23 +10:00
unkinben cdc60c992f Merge pull request 'feat: update postgres_exporter to 0.19.1' (#135) from update/postgres_exporter into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #135
2026-05-02 10:21:15 +10:00
unkinben 189b7aaa8b Merge pull request 'feat: update nomad-autoscaler to 0.4.9' (#137) from update/nomad-autoscaler into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #137
2026-05-02 10:21:07 +10:00
unkinben 2f289a8bea Merge pull request 'feat: update vminsert to 1.142.0' (#139) from update/vminsert into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #139
2026-05-02 10:20:58 +10:00
unkinben 124f258009 Merge pull request 'feat: update jsonnet-language-server to 0.17.0' (#141) from update/jsonnet-language-server into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #141
2026-05-02 10:20:50 +10:00
unkinben 084d0f7ebb Merge branch 'master' into update/node_exporter
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 10:17:55 +10:00
unkinben 6b7fe0cf50 Merge branch 'master' into update/terraform
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 10:17:19 +10:00
unkinben 447df4116b Merge branch 'master' into update/victoria-logs
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 09:53:57 +10:00
unkinben a46d30fc95 Merge branch 'master' into update/stalwart-foundationdb
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 09:53:47 +10:00
unkinben 5e0f56b6ef Merge pull request 'feat: update vmselect to 1.142.0' (#144) from update/vmselect into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #144
2026-05-02 09:51:17 +10:00
unkinben 58692a96b1 Merge pull request 'feat: update vlutils to 1.50.0' (#147) from update/vlutils into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #147
2026-05-02 09:51:10 +10:00
unkinben 9e78b93a6a Merge pull request 'feat: update vmstorage to 1.142.0' (#150) from update/vmstorage into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #150
2026-05-02 09:51:03 +10:00
unkinben 3419072f0c Merge pull request 'feat: update vmutils to 1.142.0' (#156) from update/vmutils into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #156
2026-05-02 09:50:47 +10:00
unkinben afe6673399 Merge pull request 'feat: update helmfile to 1.4.4' (#148) from update/helmfile into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #148
2026-05-02 09:50:37 +10:00
unkinben 89185e07c2 Merge branch 'master' into update/nomad-autoscaler
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 09:44:35 +10:00
unkinben 2bcfad04b0 Merge branch 'master' into update/jsonnet-language-server
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 09:44:20 +10:00
unkinben b7d5f2d656 Merge pull request 'feat: update packer to 1.15.3' (#149) from update/packer into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #149
2026-05-02 09:42:32 +10:00
unkinben 4b5419cf20 Merge pull request 'feat: update vault to 2.0.0' (#153) from update/vault into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #153
2026-05-02 09:14:26 +10:00
unkinben 3785181000 Merge pull request 'feat: update frr_exporter to 1.11.0' (#154) from update/frr_exporter into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #154
2026-05-02 09:12:58 +10:00
unkinben 8801731e13 Merge pull request 'feat: update vals to 0.44.0' (#155) from update/vals into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #155
2026-05-02 09:09:40 +10:00
unkinben 03dd516600 Merge branch 'master' into update/consul
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:57:39 +10:00
unkinben 9872215bf8 Merge branch 'master' into update/vminsert
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:57:19 +10:00
unkinben 92a9a20445 Merge branch 'master' into update/vmselect
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:57:01 +10:00
unkinben 042029ddc3 Merge branch 'master' into update/vlutils
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:52:36 +10:00
unkinben 3610c20ae6 Merge branch 'master' into update/helmfile
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:52:25 +10:00
unkinben 301f491a7c Merge branch 'master' into update/packer
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:46:34 +10:00
unkinben 58c997a971 Merge branch 'master' into update/vmstorage
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:42:56 +10:00