169 Commits

Author SHA1 Message Date
unkin-agent 4db58f5d2d Add go-cache-plugin vendored package
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-fedora44 Pipeline was successful
ci/woodpecker/pr/build-fedora43 Pipeline was successful
ci/woodpecker/pr/build-fedora42 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
Package the tailscale/go-cache-plugin GOCACHEPROG binary for el9 and
Fedora 42/43/44. Upstream has no tags, so pin commit 3031b5d and version
by its commit date.
2026-09-26 19:11:26 +10:00
unkin-agent 327a7c367a feat: add argocd CLI (#173)
ci/woodpecker/push/deploy-fedora44 Pipeline was successful
ci/woodpecker/push/deploy-fedora43 Pipeline was successful
ci/woodpecker/push/deploy-fedora42 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
The ArgoCD CLI is not packaged, so nodes have no supported way to install it alongside the other vendored kubernetes tools. Pin it to the 3.3 series to track the deployed server (v3.3.2).

- Add `argocd` 3.3.14 for almalinux/el9 and fedora 42/43/44
- Fetch the linux-amd64 binary through the artifactapi github remote and verify it against upstream `cli_checksums.txt`
- Generate and package bash, zsh and fish completions
- Hold `update-gh` on the 3.3 series via `github_release_pattern`

Depends on terraform-artifactapi#46; builds 403 until that is merged and applied.

Reviewed-on: #173
Co-authored-by: unkin-agent <unkin-agent@unkin.net>
Co-committed-by: unkin-agent <unkin-agent@unkin.net>
2026-09-19 17:09:12 +10:00
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
unkinben 8c0d23afae Publish RPMs to artifactapi rpm-vendor repos (#169)
Why: vendored RPMs currently upload to Gitea's per-distro RPM registry. Publish them instead to the artifactapi per-distro rpm-vendor local repos (real yum repos; repodata regenerates automatically), keeping them separate from in-house software (rpm-internal). The existing per-distro build-all build jobs are unchanged.

Changes:
- .woodpecker/deploy-*.yaml: retarget the deploy-rpms step from git.unkin.net/api/packages/... to a PUT against artifactapi /api/v2/remotes/rpm-vendor-<distro>/files/ (unauthenticated, like the other repos), with an existence probe to skip re-uploads. Drops the DRONECI_PASSWORD secret.
- tools/build: repoint check_package_exists from the Gitea packages API to the artifactapi rpm-vendor repo so build-all's skip check matches the real publish target; verify artifactapi's internal TLS cert against the OS CA bundle; carry arch on PackageInfo so the probed filename matches the built RPM.

Depends on the already-merged rpm-vendor repos (terraform-artifactapi) and pairs with puppet-prod rpm-vendor yumrepo.

Reviewed-on: #169
Co-authored-by: Ben Vincent <ben@unkin.net>
Co-committed-by: Ben Vincent <ben@unkin.net>
2026-07-18 16:00:11 +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 24bba58dfd feat: update per workflow resources (#158)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
trying to avoid contention, where all jobs end up on one host causing
timeouts

- ensure build jobs requests/limits are more specific

Reviewed-on: #158
2026-05-02 17:10:04 +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 d71b0570ff Merge pull request 'feat: update victoria-logs to 1.50.0' (#142) from update/victoria-logs into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #142
2026-05-02 10:20:43 +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 6a764d28d3 Merge pull request 'feat: update consul to 1.22.7' (#134) from update/consul into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #134
2026-05-02 09:06:17 +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
unkinben 34516a951d Merge branch 'master' into update/vault
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:42:33 +10:00
unkinben cd2cee4b44 Merge branch 'master' into update/frr_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 08:36:42 +10:00
unkinben c5408d231c Merge branch 'master' into update/vals
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:36:29 +10:00
unkinben 1ec69da49b Merge pull request 'feat: update nfpm to 2.46.3' (#122) from update/nfpm into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #122
2026-05-02 08:33:42 +10:00
unkinben 62dc3c56d2 Merge pull request 'feat: update boilerplate to 0.15.0' (#121) from update/boilerplate into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #121
2026-05-02 08:31:09 +10:00
unkinben 0665f3bdb2 Merge pull request 'feat: update uv to 0.11.8' (#146) from update/uv into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #146
2026-05-02 08:27:59 +10:00
unkinben 4ae1758d81 Merge pull request 'feat: update tflint to 0.62.0' (#152) from update/tflint into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #152
2026-05-02 08:26:02 +10:00
unkinben c977bb3f81 Merge branch 'master' into update/uv
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:23:51 +10:00
unkinben 13c4a2365d Merge branch 'master' into update/tflint
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:21:46 +10:00
unkinben 6db63d80ef Merge branch 'master' into update/nfpm
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:18:54 +10:00
unkinben 79fa72fd09 Merge branch 'master' into update/boilerplate
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:14:57 +10:00
unkinben 6c2ae01c1f Merge pull request 'feat: update terragrunt to 1.0.3' (#138) from update/terragrunt into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #138
2026-05-02 08:01:07 +10:00
unkinben b778d77617 Merge branch 'master' into update/terragrunt
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 07:54:40 +10:00
unkinben d4c961c3b0 Merge pull request 'feat: update nzbget to 26.1' (#143) from update/nzbget into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #143
2026-05-02 07:52:20 +10:00
unkinben d28087cd7c Merge branch 'master' into update/nzbget
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 07:50:22 +10:00
unkinben 9903a888dc Merge pull request 'feat: update starship to 1.25.1' (#116) from update/starship into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #116
2026-05-02 07:48:11 +10:00
unkinben 6fe13f2c06 Merge pull request 'feat: update claude-code to 2.1.126' (#131) from update/claude-code into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #131
2026-05-02 07:43:36 +10:00
unkinben e1c0dc7f85 Merge pull request 'feat: update helm to 4.1.4' (#157) from update/helm into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #157
2026-05-02 07:41:10 +10:00
unkinben 2de5147e27 feat: update helm to 4.1.4
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 01:48:53 +10:00
unkinben b2e786f444 feat: update vmutils to 1.142.0
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 01:48:47 +10:00
unkinben 0bd0655009 feat: update vals to 0.44.0
ci/woodpecker/pr/build-almalinux8 Pipeline is pending
ci/woodpecker/pr/build-almalinux9 Pipeline is pending
ci/woodpecker/pr/pre-commit Pipeline is pending
2026-05-02 01:48:41 +10:00
unkinben af06a66e86 feat: update frr_exporter to 1.11.0
ci/woodpecker/pr/build-almalinux8 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline is pending
ci/woodpecker/pr/build-almalinux9 Pipeline is running
2026-05-02 01:48:35 +10:00
unkinben 083abf54b0 feat: update vault to 2.0.0
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/pre-commit Pipeline is running
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:48:32 +10:00
unkinben 7a7cc8c3ac feat: update tflint to 0.62.0
ci/woodpecker/pr/build-almalinux9 Pipeline is pending
ci/woodpecker/pr/pre-commit Pipeline is pending
ci/woodpecker/pr/build-almalinux8 Pipeline is running
2026-05-02 01:48:23 +10:00
unkinben 955c7d98c8 feat: update vmstorage to 1.142.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:48:19 +10:00
unkinben 2b584d74a3 feat: update packer to 1.15.3
ci/woodpecker/pr/build-almalinux9 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:48:16 +10:00
unkinben e2634dfa4a feat: update helmfile to 1.4.4
ci/woodpecker/pr/build-almalinux8 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:48:10 +10:00
unkinben 6f154faaf1 feat: update vlutils to 1.50.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:48:08 +10:00
unkinben 738541fe59 feat: update uv to 0.11.8
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:48:05 +10:00
unkinben 7fd61d945a feat: update stalwart-foundationdb to 0.16.3
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:47:54 +10:00
unkinben 83d532a538 feat: update vmselect to 1.142.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:47:54 +10:00
unkinben 071de6a716 feat: update nzbget to 26.1
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:53 +10:00
unkinben 0f97c20f30 feat: update victoria-logs to 1.50.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:47:50 +10:00
unkinben 66ba9e7b8d feat: update jsonnet-language-server to 0.17.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:50 +10:00
unkinben 39513219c7 feat: update vminsert to 1.142.0
ci/woodpecker/pr/build-almalinux9 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 01:47:37 +10:00
unkinben 40470f4778 feat: update terragrunt to 1.0.3
ci/woodpecker/pr/build-almalinux8 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:47:35 +10:00
unkinben 7e834112c4 feat: update nomad-autoscaler to 0.4.9
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:33 +10:00
unkinben 61513c7647 feat: update jsonnet-lint to 0.22.0
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 01:47:29 +10:00
unkinben 2d46a58cdb feat: update postgres_exporter to 0.19.1
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 01:47:29 +10:00
unkinben 9da177743e feat: update consul to 1.22.7
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:26 +10:00
unkinben 6a271b988d feat: update vmalert to 1.142.0
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 01:47:18 +10:00
unkinben 17e0568616 feat: update terraform to 1.15.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:14 +10:00
unkinben a5b7591187 feat: update claude-code to 2.1.126
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 01:47:13 +10:00
unkinben 4ad40ed620 feat: update node_exporter to 1.11.1
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:10 +10:00
unkinben 3a7a016592 feat: update stalwart to 0.16.3
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:47:09 +10:00
unkinben 78bb31b806 feat: update nfpm to 2.46.3
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 01:46:49 +10:00
unkinben e4000d4abc feat: update boilerplate to 0.15.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:46:46 +10:00
unkinben a8ec31fbde feat: update starship to 1.25.1
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 01:45:29 +10:00
unkinben 5a0b93c4b7 Merge pull request 'fix: support builds[].version metadata structure in update-gh' (#114) from worktree-fix+update-gh-builds-version into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #114
2026-05-02 01:34:41 +10:00
unkinben 17fec6b015 fix: support builds[].version metadata structure in update-gh
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
Packages use version/release fields nested inside builds[] entries
rather than at the top level of metadata.yaml.
2026-05-02 01:29:15 +10:00
unkinben eafcc7abc4 Merge pull request 'feat: add yq rpm' (#104) from benvin/yq into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #104
2026-04-26 22:03:28 +10:00
unkinben f80fde0524 Merge pull request 'feat: add kubectx rpm (includes kubens)' (#105) from benvin/kubectx into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #105
2026-04-26 22:01:15 +10:00
unkinben b4b7b39715 Merge pull request 'feat: add git-delta rpm' (#106) from benvin/git-delta into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #106
2026-04-26 21:38:17 +10:00
unkinben 3a286fc69c Merge pull request 'feat: add hadolint rpm' (#108) from benvin/hadolint into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #108
2026-04-26 21:36:21 +10:00
unkinben 029ca3ab17 Merge pull request 'feat: add lazydocker rpm' (#109) from benvin/lazydocker into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #109
2026-04-26 21:33:59 +10:00
unkinben 11ae33d80a Merge pull request 'feat: add code-server rpm' (#110) from benvin/code-server into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #110
2026-04-26 21:31:39 +10:00
unkinben dd2c72548f Merge pull request 'feat: add neovim and neovim-glibc-2.17 rpms' (#111) from benvin/neovim into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #111
2026-04-26 21:29:30 +10:00
unkinben 96ca30941a Merge pull request 'feat: add sops rpm' (#107) from benvin/sops into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #107
2026-04-26 21:27:11 +10:00
unkinben f001a9aa4b Merge pull request 'feat: add starship rpm' (#103) from benvin/starship into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #103
2026-04-26 21:24:50 +10:00
unkinben 0fd817b13f Merge pull request 'benvin/escape_secret' (#113) from benvin/escape_secret into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #113
2026-04-26 21:11:29 +10:00
unkinben c7eddffbb3 fix: uploads fail with wrong password
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
- properly escape the ${} function
2026-04-26 21:07:49 +10:00
unkinben 17e0fadd44 feat: add tea rpm 2026-04-26 21:07:49 +10:00
unkinben cfd1972d54 Merge pull request 'feat: add stern rpm' (#102) from benvin/stern into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #102
2026-04-26 19:50:59 +10:00
unkinben 82ae18e914 feat: add neovim and neovim-glibc-2.17 rpms
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-04-26 16:55:49 +10:00
unkinben 169959a3ac feat: add code-server rpm
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-04-26 16:50:39 +10:00
unkinben ee98e4bcd3 feat: add lazydocker rpm
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-04-26 16:45:58 +10:00
unkinben 2a56be453e feat: add hadolint rpm
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-04-26 16:44:34 +10:00
unkinben 1128eb5d0f feat: add sops rpm
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-04-26 16:43:48 +10:00
unkinben adaa9d8b19 feat: add git-delta rpm
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-04-26 16:42:52 +10:00
unkinben 7f7f314121 feat: add kubectx rpm (includes kubens)
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-04-26 16:41:39 +10:00
unkinben 03e3d6c9ca feat: add yq rpm
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-04-26 16:40:44 +10:00
unkinben 8a7e991c5f feat: add starship rpm
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-04-26 16:39:48 +10:00
unkinben e04f19ed03 feat: add stern rpm
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-04-26 16:23:01 +10:00
unkinben ff054f42bb Merge pull request 'fix: add --network=host to docker and fix build tool fallback order' (#89) from fix/docker-network-host-and-tool-detection into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #89
2026-04-25 16:14:57 +10:00
unkinben 818a48fa78 fix: add --network=host to docker and fix build tool fallback order
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
Pass --network=host to docker build and docker create so package builds
can reach the network. Reorder auto-detection so Docker is tried before
buildah/native, only falling back when the explicit flag is not set.
2026-04-25 16:11:40 +10:00
unkinben 111ea50d80 Merge pull request 'feat: automatically update claude-ai version' (#88) from benvin/claude-ai-versioncheck into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #88
2026-04-25 15:39:39 +10:00
unkinben 1b46845734 feat: automatically update claude-ai version
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-04-25 11:38:32 +10:00
unkinben 497b99c328 Merge pull request 'feat: add claude-code rpm' (#87) from benvin/claude-code into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #87
2026-04-25 11:37:22 +10:00
unkinben 6b070d8c14 feat: add claude-code rpm
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-04-25 11:32:10 +10:00
unkinben dff743a00b Merge pull request 'feat: migrate to woodpeckerci' (#83) from benvin/woodpecker_changes into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #83
2026-03-07 17:14:18 +11:00
unkinben f408d3d705 feat: migrate to woodpeckerci
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
- update build tool for kubernetes auth
- update build tool to build packages without docker (native + buildah)
- add woodpecker pre-commit and build jobs
- add woodpecker deployment jobs
- cleanup gitea actions workflows
2026-03-07 17:11:20 +11:00
unkinben c4c018b1ee Merge pull request 'feat: additional pre-commit checks' (#86) from benvin/pre-commit-improvements into master
Deploy / deploy-8 (push) Successful in 4s
Deploy / deploy-9 (push) Successful in 3s
Reviewed-on: #86
2026-03-07 17:06:30 +11:00
unkinben b18e34c905 feat: additional pre-commit checks
Build / build-8 (pull_request) Successful in 10s
Build / build-9 (pull_request) Successful in 10s
- add all precommit checks from pre-commit's hooks repo
- ensure scripts with shebangs are executable
2026-03-07 17:04:48 +11:00
unkinben cede57a565 Merge pull request 'fix: precommit fix all' (#85) from benvin/pre-commit-all into master
Deploy / deploy-8 (push) Successful in 3s
Deploy / deploy-9 (push) Successful in 3s
Reviewed-on: #85
2026-03-07 12:30:01 +11:00
unkinben 07a75008a1 fix: precommit fix all
Build / build-8 (pull_request) Successful in 12s
Build / build-9 (pull_request) Successful in 13s
- run pre-commit against all files
- preparation for running pre-commit in ci
2026-03-07 12:28:20 +11:00
unkinben 5e1533289f Merge pull request 'chore: bump rarlab version' (#84) from benvin/rarlab_fix into master
Deploy / deploy-8 (push) Successful in 3s
Deploy / deploy-9 (push) Successful in 3s
Reviewed-on: #84
2026-03-07 12:27:25 +11:00
unkinben cd1eb1f46c chore: bump rarlab version
Build / build-8 (pull_request) Successful in 16s
Build / build-9 (pull_request) Successful in 17s
- release 7.20
- use artifactapi caching
2026-03-07 12:15:19 +11:00
unkinben b585cca9f0 Merge pull request 'feat: update pre-commit with more tests' (#82) from benvin/pre-commit-update into master
Deploy / deploy-8 (push) Successful in 2s
Deploy / deploy-9 (push) Successful in 3s
Reviewed-on: #82
2026-03-01 23:48:29 +11:00
unkinben a117caae27 Merge pull request 'feat: add kustomize' (#81) from benvin/kustomize into master
Deploy / deploy-9 (push) Successful in 4s
Deploy / deploy-8 (push) Successful in 4s
Reviewed-on: #81
2026-03-01 23:47:01 +11:00
unkinben a0b8d8b806 feat: update pre-commit with more tests
Build / build-9 (pull_request) Successful in 14s
Build / build-8 (pull_request) Successful in 17s
- autofix the end-of-file
- report trailing whitespace
2026-03-01 23:43:31 +11:00
unkinben c8bb19d6d6 feat: add kustomize
Build / build-8 (pull_request) Successful in 15s
Build / build-9 (pull_request) Successful in 15s
- add kustomize to rpmbuilder
2026-03-01 23:41:57 +11:00
unkinben 4976f0e43b Merge pull request 'fix: standardize artifact directory structure for multi-distro support' (#80) from benvin/artifact_upload into master
Deploy / deploy-8 (push) Successful in 55s
Deploy / deploy-9 (push) Successful in 1m5s
Reviewed-on: #80
2026-03-01 22:24:06 +11:00
unkinben 745ce03757 fix: standardize artifact directory structure for multi-distro support
Build / build-8 (pull_request) Successful in 4m30s
Build / build-9 (pull_request) Successful in 7m56s
Remove per-package subdirectories from build output to align with workflow expectations.
Update deploy workflow paths to match repository-based structure (dist/repository/*.rpm).
This enables consistent artifact handling across different Linux distributions.
2026-03-01 22:11:23 +11:00
unkinben 3742eabfde Merge pull request 'feat: add kubeconfirm' (#79) from benvin/kubeconfirm into master
Deploy / deploy-8 (push) Failing after 4s
Deploy / deploy-9 (push) Failing after 4s
Reviewed-on: #79
2026-03-01 21:59:03 +11:00
unkinben 5c9fce3607 feat: add kubeconfirm
Build / build-8 (pull_request) Successful in 3m18s
Build / build-9 (pull_request) Successful in 4m38s
- add new rpm kubeconfirm
2026-03-01 21:50:08 +11:00
unkinben 76f79a7371 Merge pull request 'feat: add helm release' (#78) from benvin/helm into master
Deploy / deploy-9 (push) Failing after 3s
Deploy / deploy-8 (push) Failing after 4s
Reviewed-on: #78
2026-01-21 21:55:31 +11:00
unkinben 8e8285546b feat: add helm release
Build / build-8 (pull_request) Successful in 1m55s
Build / build-9 (pull_request) Successful in 4m35s
- helm release in fedora repos is behind the latest
- some helm releases require a newer version
2026-01-20 21:20:45 +11:00
unkinben b15fc0612f Merge pull request 'benvin/replace_release_el8' (#77) from benvin/replace_release_el8 into master
Deploy / deploy-8 (push) Failing after 3s
Deploy / deploy-9 (push) Failing after 3s
Reviewed-on: #77
2026-01-17 20:39:06 +11:00
unkinben 1f1b1cfe32 chore: update urls to artifactapi
Build / build-8 (pull_request) Successful in 2m16s
Build / build-9 (pull_request) Successful in 4m23s
- change github urls to artifactapi
- change gitea urls to artifactapi
- change scripts in nfpm to use full path
- update unrar to 7.12
2026-01-17 20:21:04 +11:00
unkinben e09d0c4bc6 chore: update build tool, puppet-initial
- update build tool with github_release_pattern
- update puppet-initial to reduce impact on upgrades
2026-01-17 15:18:26 +11:00
unkinben 6d379d99b6 chore: update build job, fixed versions
- changed all releases from 1-el8 and 1-el9 to 1
- updated build job to write files to per-repository directories
2026-01-03 23:24:58 +11:00
unkinben 9e02175ead Merge pull request 'chore: nzbget re-release' (#76) from benvin/nzbget_v2 into master
Deploy / deploy-9 (push) Successful in 3s
Deploy / deploy-8 (push) Successful in 4s
Reviewed-on: #76
2026-01-03 22:13:32 +11:00
unkinben a4a28c67d4 chore: nzbget re-release
Build / build-8 (pull_request) Successful in 12s
Build / build-9 (pull_request) Successful in 11s
- failed to upload new release, trying again
2026-01-03 22:12:24 +11:00
unkinben be4df03f81 Merge pull request 'feat: enhance GitHub release tracking with pattern support and version extraction' (#75) from benvin/release_updates into master
Deploy / deploy-8 (push) Successful in 1m7s
Deploy / deploy-9 (push) Successful in 1m16s
Reviewed-on: #75
2026-01-03 21:52:39 +11:00
unkinben 5cdbe3a6b5 feat: enhance GitHub release tracking with pattern support and version extraction
Build / build-8 (pull_request) Successful in 5m45s
Build / build-9 (pull_request) Successful in 8m54s
- Add github_release_pattern field to support multi-product repositories
- Implement get_github_releases_by_pattern() for filtered release matching
- Add parse_github_version_release() to extract version-release components
- Update openbao plugin packages with release patterns and correct versions
- Configure openbao-plugins meta package for manual versioning
- Fix HashiCorp package GitHub repository references
- Support complex tag formats like "secrets-consul-v0.1.0" and "v7.1.3-1"

This enables automatic updates for packages sharing GitHub repos while
maintaining proper RPM version/release semantics and backward compatibility.
2025-12-30 22:38:23 +11:00
unkinben 1e7b06aa84 Merge pull request 'chore: add xh rpm' (#74) from benvin/xh into master
Deploy / deploy-8 (push) Successful in 3s
Deploy / deploy-9 (push) Successful in 3s
Reviewed-on: #74
2025-12-30 20:49:49 +11:00
unkinben 6c468c40d1 chore: add xh rpm
Build / build-8 (pull_request) Successful in 13s
Build / build-9 (pull_request) Successful in 1m22s
- add xh to list of RPMs to build
2025-12-30 20:44:40 +11:00
unkinben 6d74a9dfab Merge pull request 'feat: add GitHub integration for automated package updates' (#73) from benvin/update_updategh into master
Deploy / deploy-8 (push) Failing after 3s
Deploy / deploy-9 (push) Failing after 2s
Reviewed-on: #73
2025-12-29 22:10:17 +11:00
unkinben 2954835dd0 feat: add GitHub integration for automated package updates
Build / build-8 (pull_request) Successful in 13s
Build / build-9 (pull_request) Successful in 13s
- add GitHub API functions to fetch latest releases and compare versions
- implement package update checking against GitHub repositories
- add upgrade and upgrade-all CLI commands with dry-run support
- include .ruff_cache in .gitignore for cleaner repository
2025-12-29 22:08:15 +11:00
unkinben c6d8e33a54 Merge pull request 'feat: add pre-commit' (#72) from benvin/pre-commit into master
Deploy / deploy-8 (push) Failing after 3s
Deploy / deploy-9 (push) Failing after 3s
Reviewed-on: #72
2025-11-30 21:55:39 +11:00
unkinben 3fa0d39d43 feat: add pre-commit
Build / build-8 (pull_request) Successful in 8s
Build / build-9 (pull_request) Successful in 8s
- test yamllint
- test ruff linting/formatter
- fix yaml errors
2025-11-30 21:45:55 +11:00
unkinben 099b90fbc5 Merge pull request 'refactor: modernise RPM builder with Python tooling v2' (#71) from benvin/tooling_v2 into master
Deploy / deploy-8 (push) Failing after 2s
Deploy / deploy-9 (push) Failing after 3s
Reviewed-on: #71
2025-11-30 20:29:36 +11:00
unkinben 182641132a refactor: modernise RPM builder with Python tooling v2
Build / build-8 (pull_request) Successful in 8s
Build / build-9 (pull_request) Successful in 9s
- Migrate from legacy shell-based build system to modern Python tooling
- Update all metadata.yaml files to new schema with per-distro builds
- Standardise build scripts with curl -L, envsubst, and error handling
- Convert nfpm.yaml templates to use environment variable substitution
- Update Dockerfile to accept all package metadata as build arguments
- Modernise Makefile to use new Python build tool commands
- Update CI workflow to use tools/build instead of make
2025-11-30 20:27:05 +11:00
266 changed files with 5423 additions and 1321 deletions
-59
View File
@@ -1,59 +0,0 @@
name: Build
on:
pull_request:
workflow_call:
workflow_dispatch:
jobs:
build-8:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux8-actionsdind:latest
options: "--privileged --volume /etc/pki/tls/vault:/etc/pki/tls/vault:ro"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build Packages
env:
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
run: |
make all DISTRO=el/8
- name: Show RPMs
run: |
find /workspace -type f -name "*.rpm"
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: rpms-8
path: /workspace/unkin/rpmbuilder/dist/*/*.rpm
build-9:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
options: "--privileged --volume /etc/pki/tls/vault:/etc/pki/tls/vault:ro"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build Packages
env:
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
run: |
make all DISTRO=el/9
- name: Show RPMs
run: |
find /workspace -type f -name "*.rpm"
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: rpms-9
path: /workspace/unkin/rpmbuilder/dist/*/*.rpm
-66
View File
@@ -1,66 +0,0 @@
name: Deploy
on:
push:
branches:
- master
workflow_dispatch:
jobs:
deploy-8:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux8-actionsdind:latest
options: --privileged
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download Artifacts
run: |
mkdir -p /workspace/unkin/rpmbuilder/dist/8
export PREVIOUS_RUN_ID=$((GITHUB_RUN_NUMBER - 1))
curl -L -o /workspace/rpms.zip "https://git.unkin.net/${GITHUB_REPOSITORY}/actions/runs/${PREVIOUS_RUN_ID}/artifacts/rpms-8"
unzip /workspace/rpms.zip -d /workspace/unkin/rpmbuilder/dist/8
- name: Show RPMs
run: |
find /workspace -type f -name "*.rpm"
- name: Upload RPMs to Gitea
env:
DRONECI_PASSWORD: ${{ secrets.DRONECI_PASSWORD }}
run: |
for rpm in $(find /workspace/unkin/rpmbuilder/dist/8 -type f -name "*.rpm"); do
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/almalinux/el8/upload
done
deploy-9:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
options: --privileged
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download Artifacts
run: |
mkdir -p /workspace/unkin/rpmbuilder/dist/9
export PREVIOUS_RUN_ID=$((GITHUB_RUN_NUMBER - 1))
curl -L -o /workspace/rpms.zip "https://git.unkin.net/${GITHUB_REPOSITORY}/actions/runs/${PREVIOUS_RUN_ID}/artifacts/rpms-9"
unzip /workspace/rpms.zip -d /workspace/unkin/rpmbuilder/dist/9
- name: Show RPMs
run: |
find /workspace -type f -name "*.rpm"
- name: Upload RPMs to Gitea
env:
DRONECI_PASSWORD: ${{ secrets.DRONECI_PASSWORD }}
run: |
for rpm in $(find /workspace/unkin/rpmbuilder/dist/9 -type f -name "*.rpm"); do
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/almalinux/el9/upload
done
+1
View File
@@ -1,3 +1,4 @@
dist
env
.claude
.ruff_cache
+59
View File
@@ -0,0 +1,59 @@
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-executables-have-shebangs
- id: check-json
- id: check-added-large-files
args: ['--maxkb=500']
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-symlinks
- id: check-toml
- id: check-yaml
args: [--allow-multiple-documents]
- id: detect-aws-credentials
args: [--allow-missing-credentials]
- id: detect-private-key
- id: end-of-file-fixer
- id: forbid-new-submodules
- id: pretty-format-json
- id: trailing-whitespace
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.37.1
hooks:
- id: yamllint
args:
[
"-d {extends: relaxed, rules: {line-length: disable}}",
"-s",
]
- repo: local
hooks:
- id: pytest
name: Run unit tests
entry: make test
language: system
types: [python]
pass_filenames: false
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.37.2
hooks:
- id: check-jsonschema
name: Validate RPM package metadata
files: ^rpms/[^/]+/metadata\.yaml$
args: [--schemafile, schema/metadata.json]
language_version: python3.11
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.7
hooks:
# Run the linter.
- id: ruff-check
args: [--fix]
# Run the formatter.
- id: ruff-format
+26
View File
@@ -0,0 +1,26 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro almalinux/el8 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/almalinux8-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
+26
View File
@@ -0,0 +1,26 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro almalinux/el9 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/almalinux9-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
+26
View File
@@ -0,0 +1,26 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/42 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/fedora42-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
+26
View File
@@ -0,0 +1,26 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/43 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/fedora43-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
+26
View File
@@ -0,0 +1,26 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/44 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show rpms
image: git.unkin.net/unkin/fedora44-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
+56
View File
@@ -0,0 +1,56 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro almalinux/el8 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/almalinux9-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- |
HOST="https://artifactapi.k8s.syd1.au.unkin.net"
REPO="rpm-vendor-el8"
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
FILE=$$(basename "$$rpm")
# artifactapi has no HEAD route (405); probe the served Packages path.
code=$$(curl -s -o /dev/null -w '%{http_code}' "$$HOST/api/v2/remotes/$$REPO/files/Packages/$$FILE" || true)
if [ "$$code" = "200" ]; then
echo "$$FILE already exists in $$REPO; skipping"
continue
fi
curl -f -X PUT "$$HOST/api/v2/remotes/$$REPO/files/$$FILE" -H "Content-Type: application/x-rpm" --data-binary @"$$rpm"
done
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
+56
View File
@@ -0,0 +1,56 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro almalinux/el9 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/almalinux9-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- |
HOST="https://artifactapi.k8s.syd1.au.unkin.net"
REPO="rpm-vendor-el9"
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
FILE=$$(basename "$$rpm")
# artifactapi has no HEAD route (405); probe the served Packages path.
code=$$(curl -s -o /dev/null -w '%{http_code}' "$$HOST/api/v2/remotes/$$REPO/files/Packages/$$FILE" || true)
if [ "$$code" = "200" ]; then
echo "$$FILE already exists in $$REPO; skipping"
continue
fi
curl -f -X PUT "$$HOST/api/v2/remotes/$$REPO/files/$$FILE" -H "Content-Type: application/x-rpm" --data-binary @"$$rpm"
done
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
+56
View File
@@ -0,0 +1,56 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/42 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/fedora42-rpmbuilder:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/fedora42-rpmbuilder:latest
commands:
- |
HOST="https://artifactapi.k8s.syd1.au.unkin.net"
REPO="rpm-vendor-f42"
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
FILE=$$(basename "$$rpm")
# artifactapi has no HEAD route (405); probe the served Packages path.
code=$$(curl -s -o /dev/null -w '%{http_code}' "$$HOST/api/v2/remotes/$$REPO/files/Packages/$$FILE" || true)
if [ "$$code" = "200" ]; then
echo "$$FILE already exists in $$REPO; skipping"
continue
fi
curl -f -X PUT "$$HOST/api/v2/remotes/$$REPO/files/$$FILE" -H "Content-Type: application/x-rpm" --data-binary @"$$rpm"
done
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
+56
View File
@@ -0,0 +1,56 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/43 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/fedora43-rpmbuilder:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/fedora43-rpmbuilder:latest
commands:
- |
HOST="https://artifactapi.k8s.syd1.au.unkin.net"
REPO="rpm-vendor-f43"
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
FILE=$$(basename "$$rpm")
# artifactapi has no HEAD route (405); probe the served Packages path.
code=$$(curl -s -o /dev/null -w '%{http_code}' "$$HOST/api/v2/remotes/$$REPO/files/Packages/$$FILE" || true)
if [ "$$code" = "200" ]; then
echo "$$FILE already exists in $$REPO; skipping"
continue
fi
curl -f -X PUT "$$HOST/api/v2/remotes/$$REPO/files/$$FILE" -H "Content-Type: application/x-rpm" --data-binary @"$$rpm"
done
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
+56
View File
@@ -0,0 +1,56 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- ./tools/build build-all --distro fedora/44 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
- name: show-rpms
image: git.unkin.net/unkin/fedora44-rpmbuilder:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/fedora44-rpmbuilder:latest
commands:
- |
HOST="https://artifactapi.k8s.syd1.au.unkin.net"
REPO="rpm-vendor-f44"
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
FILE=$$(basename "$$rpm")
# artifactapi has no HEAD route (405); probe the served Packages path.
code=$$(curl -s -o /dev/null -w '%{http_code}' "$$HOST/api/v2/remotes/$$REPO/files/Packages/$$FILE" || true)
if [ "$$code" = "200" ]; then
echo "$$FILE already exists in $$REPO; skipping"
continue
fi
curl -f -X PUT "$$HOST/api/v2/remotes/$$REPO/files/$$FILE" -H "Content-Type: application/x-rpm" --data-binary @"$$rpm"
done
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
depends_on: [build-rpms, show-rpms]
+9
View File
@@ -0,0 +1,9 @@
when:
- event: pull_request
steps:
- name: pre-commit
image: git.unkin.net/unkin/almalinux9-base:latest
commands:
- dnf install uv make -y
- uvx pre-commit run --all-files
+18 -3
View File
@@ -7,13 +7,28 @@ RUN mkdir -p /app/dist
# Set working directory
WORKDIR /app
ARG PACKAGE_RELEASE
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
# Accept all package metadata as build arguments and set as environment variables
ARG PACKAGE_NAME
ENV PACKAGE_NAME=${PACKAGE_NAME}
ARG PACKAGE_VERSION
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
ARG PACKAGE_RELEASE
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
ARG PACKAGE_DESCRIPTION
ENV PACKAGE_DESCRIPTION=${PACKAGE_DESCRIPTION}
ARG PACKAGE_MAINTAINER
ENV PACKAGE_MAINTAINER=${PACKAGE_MAINTAINER}
ARG PACKAGE_HOMEPAGE
ENV PACKAGE_HOMEPAGE=${PACKAGE_HOMEPAGE}
ARG PACKAGE_LICENSE
ENV PACKAGE_LICENSE=${PACKAGE_LICENSE}
ARG PACKAGE_ARCH
ENV PACKAGE_ARCH=${PACKAGE_ARCH}
ARG PACKAGE_PLATFORM
ENV PACKAGE_PLATFORM=${PACKAGE_PLATFORM}
# Copy resources from the context into the container
COPY resources /app/resources
# Default command to build RPMs
CMD /app/resources/build.sh
CMD /app/resources/build.sh
+23 -41
View File
@@ -1,13 +1,17 @@
# Variables
ROOT_DIR := $(PWD)
BUILD_TOOL := $(ROOT_DIR)/tools/build
DISTRO ?= el/9 # Default to el/9 if not specified
DISTRO ?= almalinux/el9
# Authentication variables (optional)
# VAULT_ROLE_ID - Use AppRole authentication if set
# VAULT_ROLE - Kubernetes role for service account authentication (default: rpmbuilder)
# Automatically find all packages with metadata.yaml
PACKAGES := $(shell find $(ROOT_DIR)/rpms -mindepth 1 -maxdepth 1 -type d -exec test -f {}/metadata.yaml \; -print | xargs -n1 basename | sort)
# Default target to build all packages
.PHONY: all list build clean
.PHONY: all list build clean test
all: build-all
# List all available packages
@@ -20,33 +24,32 @@ list:
# Build all packages using Python tool
build-all:
@echo "Building all packages using Python tooling for distro $(DISTRO)..."
$(BUILD_TOOL) --all --distro $(DISTRO)
$(BUILD_TOOL) build-all --distro $(DISTRO)
# Build all packages using native build (no Docker)
build-all-native:
@echo "Building all packages natively (no Docker) for distro $(DISTRO)..."
$(BUILD_TOOL) build-all --distro $(DISTRO) --native
# Build all packages using Buildah
build-all-buildah:
@echo "Building all packages using Buildah for distro $(DISTRO)..."
$(BUILD_TOOL) build-all --distro $(DISTRO) --buildah
# Build specific package using Python tool
.PHONY: $(PACKAGES)
$(PACKAGES):
@echo "Building package: $@ for distro $(DISTRO)"
$(BUILD_TOOL) --package $@ --distro $(DISTRO)
# Build specific package with version/release override
build:
@if [ -z "$(PACKAGE_NAME)" ]; then \
echo "Error: PACKAGE_NAME not specified"; \
echo "Usage: make build PACKAGE_NAME=package [PACKAGE_VERSION=version] [PACKAGE_RELEASE=release]"; \
exit 1; \
fi
@if [ -n "$(PACKAGE_VERSION)" ] && [ -n "$(PACKAGE_RELEASE)" ]; then \
echo "Building $(PACKAGE_NAME) with explicit version $(PACKAGE_VERSION)-$(PACKAGE_RELEASE) for distro $(DISTRO)"; \
$(BUILD_TOOL) --package $(PACKAGE_NAME) --version $(PACKAGE_VERSION) --release $(PACKAGE_RELEASE) --distro $(DISTRO); \
else \
echo "Building $(PACKAGE_NAME) using metadata.yaml for distro $(DISTRO)"; \
$(BUILD_TOOL) --package $(PACKAGE_NAME) --distro $(DISTRO); \
fi
$(BUILD_TOOL) build --distro $(DISTRO) $@
# Dry run - show what would be built without building
dry-run:
@echo "Dry run - showing what would be built for distro $(DISTRO):"
$(BUILD_TOOL) --all --distro $(DISTRO) --dry-run
$(BUILD_TOOL) build-all --distro $(DISTRO) --dry-run
# Run unit tests
test:
@uv run --group dev pytest tests/ -q; rc=$$?; [ $$rc -eq 5 ] && exit 0 || exit $$rc
# Clean target
clean:
@@ -62,24 +65,3 @@ update:
update-%:
@echo "Checking for updates for package: $*"
$(ROOT_DIR)/tools/update-gh --package $*
# Help target
help:
@echo "Available targets:"
@echo " all - Build all packages (default)"
@echo " list - List all available packages"
@echo " build-all - Build all packages using Python tooling"
@echo " <package> - Build specific package (e.g., 'make consul')"
@echo " build - Build with explicit PACKAGE_NAME, PACKAGE_VERSION, PACKAGE_RELEASE"
@echo " dry-run - Show what would be built without building"
@echo " clean - Remove build artifacts"
@echo " update - Check all packages for GitHub release updates"
@echo " update-<pkg> - Check specific package for GitHub release updates"
@echo " help - Show this help message"
@echo ""
@echo "Examples:"
@echo " make consul # Build consul using metadata.yaml"
@echo " make build PACKAGE_NAME=consul # Build consul using metadata.yaml"
@echo " make build PACKAGE_NAME=consul PACKAGE_VERSION=1.21.1 PACKAGE_RELEASE=1"
@echo " make update-consul # Check consul for GitHub updates"
@echo " make dry-run # Show what would be built"
+11
View File
@@ -0,0 +1,11 @@
[project]
name = "rpmbuilder"
version = "0.1.0"
requires-python = ">=3.11"
[dependency-groups]
dev = [
"pytest>=8",
"jsonschema>=4",
"pyyaml>=6",
]
+19 -7
View File
@@ -1,8 +1,20 @@
name: act_runner
release: 1
version: 0.2.12
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: unknown/act_runner
description: A runner for Gitea based on act.
arch: amd64
platform: linux
maintainer: Gitea
homepage: https://gitea.com/gitea/act_runner
license: MIT
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 0.2.12
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 0.2.12
+9 -2
View File
@@ -1,3 +1,10 @@
#!/usr/bin/bash
curl --output act_runner-linux-amd64 https://dl.gitea.com/act_runner/${PACKAGE_VERSION}/act_runner-${PACKAGE_VERSION}-linux-amd64
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
set -e
curl -L --output act_runner-linux-amd64 https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/gitea-dl/act_runner/${PACKAGE_VERSION}/act_runner-${PACKAGE_VERSION}-linux-amd64
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,16 +1,16 @@
# nfpm.yaml
name: act_runner
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A runner for Gitea based on act."
maintainer: Gitea
homepage: https://gitea.com/gitea/act_runner
license: MIT
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+24
View File
@@ -0,0 +1,24 @@
name: argocd
github: argoproj/argo-cd
github_release_pattern: ^v3\.3\.
description: Declarative GitOps continuous delivery for Kubernetes - command line
client.
arch: amd64
platform: linux
maintainer: Argo Project
homepage: https://github.com/argoproj/argo-cd
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 3.3.14
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 3.3.14
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/bash
set -e
BASE_URL="https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/argoproj/argo-cd/releases/download/v${PACKAGE_VERSION}"
wget -O /app/argocd "${BASE_URL}/argocd-linux-amd64"
wget -O /app/cli_checksums.txt "${BASE_URL}/cli_checksums.txt"
# Upstream lists the asset name; check it against the local filename.
cd /app
grep ' argocd-linux-amd64$' cli_checksums.txt | sed 's/argocd-linux-amd64$/argocd/' | sha256sum --check --strict -
chmod +x /app/argocd
mkdir -p /app/completions
/app/argocd completion bash > /app/completions/argocd
/app/argocd completion zsh > /app/completions/_argocd
/app/argocd completion fish > /app/completions/argocd.fish
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+48
View File
@@ -0,0 +1,48 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- argocd
provides:
- argocd
contents:
- src: /app/argocd
dst: /usr/bin/argocd
file_info:
mode: 0755
owner: root
group: root
- src: /app/completions/argocd
dst: /usr/share/bash-completion/completions/argocd
file_info:
mode: 0644
owner: root
group: root
- src: /app/completions/_argocd
dst: /usr/share/zsh/site-functions/_argocd
file_info:
mode: 0644
owner: root
group: root
- src: /app/completions/argocd.fish
dst: /usr/share/fish/vendor_completions.d/argocd.fish
file_info:
mode: 0644
owner: root
group: root
+19 -7
View File
@@ -1,8 +1,20 @@
name: bind_exporter
release: 1
version: 0.8.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: prometheus-community/bind_exporter
description: Prometheus exporter for BIND
arch: amd64
platform: linux
maintainer: Prometheus
homepage: https://github.com/prometheus-community/bind_exporter
license: Apache-2.0 license
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 0.8.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 0.8.0
+6 -2
View File
@@ -1,6 +1,10 @@
#!/usr/bin/bash
set -e
# Download the required files
curl --output - -L https://github.com/prometheus-community/bind_exporter/releases/download/v${PACKAGE_VERSION}/bind_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
curl --output - -L https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/prometheus-community/bind_exporter/releases/download/v${PACKAGE_VERSION}/bind_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,16 +1,16 @@
# nfpm.yaml
name: bind_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Prometheus exporter for BIND"
maintainer: Prometheus
homepage: https://github.com/prometheus-community/bind_exporter
license: Apache-2.0 license
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+19 -7
View File
@@ -1,9 +1,21 @@
name: boilerplate
release: 1
version: 0.6.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: gruntwork-io/boilerplate
description: Boilerplate is a tool for generating files and folders (boilerplate)
from a set of templates.
arch: amd64
platform: linux
maintainer: Gruntwork
homepage: https://github.com/gruntwork-io/boilerplate
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.15.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.15.0
+6 -2
View File
@@ -1,7 +1,11 @@
#!/usr/bin/bash
set -e
# Download the required files
wget -O /app/boilerplate https://github.com/gruntwork-io/boilerplate/releases/download/v${PACKAGE_VERSION}/boilerplate_linux_amd64
wget -O /app/boilerplate https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/gruntwork-io/boilerplate/releases/download/v${PACKAGE_VERSION}/boilerplate_linux_amd64
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,17 +1,17 @@
# nfpm.yaml
name: boilerplate
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Boilerplate is a tool for generating files and folders (boilerplate) from a set of templates."
description: "${PACKAGE_DESCRIPTION}"
maintainer: Gruntwork
homepage: https://github.com/gruntwork-io/boilerplate
license: MIT
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+19
View File
@@ -0,0 +1,19 @@
name: claude-code
description: Claude Code - Anthropic's agentic AI coding tool
arch: amd64
platform: linux
maintainer: Anthropic
homepage: https://claude.ai/code
license: Proprietary
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
repository:
- almalinux/el8
version: 2.1.156
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
repository:
- almalinux/el9
version: 2.1.156
+13
View File
@@ -0,0 +1,13 @@
#!/usr/bin/bash
set -e
# Download claude-code binary
wget -O /app/claude https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/claude-ai/claude-code-releases/${PACKAGE_VERSION}/linux-x64/claude
chmod +x /app/claude
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+33
View File
@@ -0,0 +1,33 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- claude-code
- claude
provides:
- claude-code
- claude
# Files to include in the package
contents:
- src: /app/claude
dst: /usr/bin/claude
file_info:
mode: 0755
owner: root
group: root
+19 -7
View File
@@ -1,9 +1,21 @@
name: cni-plugins
release: 1
version: 1.7.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: containernetworking/plugins
description: Some reference and example networking plugins, maintained by the CNI
team.
arch: amd64
platform: linux
maintainer: ContainerNetworking
homepage: https://github.com/containernetworking/plugins
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.9.1
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.9.1
+6 -2
View File
@@ -1,8 +1,12 @@
#!/usr/bin/bash
set -e
# Download and extract cni-plugins
wget -O /app/cni-plugins-linux-amd64.tgz https://github.com/containernetworking/plugins/releases/download/v${PACKAGE_VERSION}/cni-plugins-linux-amd64-v${PACKAGE_VERSION}.tgz
wget -O /app/cni-plugins-linux-amd64.tgz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/containernetworking/plugins/releases/download/v${PACKAGE_VERSION}/cni-plugins-linux-amd64-v${PACKAGE_VERSION}.tgz
tar xf cni-plugins-linux-amd64.tgz
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,17 +1,17 @@
# nfpm.yaml
name: cni-plugins
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Some reference and example networking plugins, maintained by the CNI team."
description: "${PACKAGE_DESCRIPTION}"
maintainer: ContainerNetworking
homepage: https://github.com/containernetworking/plugins
license: Apache-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+20
View File
@@ -0,0 +1,20 @@
name: code-server
github: coder/code-server
description: VS Code in the browser.
arch: amd64
platform: linux
maintainer: Coder
homepage: https://github.com/coder/code-server
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 4.117.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 4.117.0
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/bash
set -e
curl -L -o /app/dist/code-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm \
https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/coder/code-server/releases/download/v${PACKAGE_VERSION}/code-server-${PACKAGE_VERSION}-amd64.rpm
+14
View File
@@ -0,0 +1,14 @@
# nfpm.yaml - unused, RPM is downloaded directly in build.sh
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
+20 -7
View File
@@ -1,8 +1,21 @@
name: consul-cni
release: 1
version: 1.7.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: unknown/consul-cni
description: Plugin for Consul on Kubernetes to allow configuring traffic redirection
rules without escalated container privileges.
arch: amd64
platform: linux
maintainer: Hashicorp
homepage: https://hashicorp.com
license: Mozilla Public License, version 2.0
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 1.7.1
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 1.7.1
+7 -3
View File
@@ -1,11 +1,15 @@
#!/usr/bin/bash
set -e
# Install dependencies
dnf install -y unzip
# Download and extract consul-cni
curl -o /app/consul-cni.zip https://releases.hashicorp.com/consul-cni/${PACKAGE_VERSION}/consul-cni_${PACKAGE_VERSION}_linux_amd64.zip
curl -L -o /app/consul-cni.zip https://releases.hashicorp.com/consul-cni/${PACKAGE_VERSION}/consul-cni_${PACKAGE_VERSION}_linux_amd64.zip
unzip consul-cni.zip
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,16 +1,16 @@
# nfpm.yaml
name: consul-cni
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Plugin for Consul on Kubernetes to allow configuring traffic redirection rules without escalated container privileges."
maintainer: Hashicorp
homepage: https://hashicorp.com
license: Mozilla Public License, version 2.0
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+25 -5
View File
@@ -1,8 +1,28 @@
name: consul
release: 1
version: 1.21.1
build:
- distro: el/8
github: hashicorp/consul
description: Consul is a distributed, highly available, and data center aware solution
to connect and configure applications across dynamic, distributed infrastructure.
arch: amd64
platform: linux
maintainer: HashiCorp
homepage: https://github.com/hashicorp/consul
license: BUSL-1.1
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1
version: 1.22.7
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.22.7
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.22.7
+7 -2
View File
@@ -1,11 +1,16 @@
#!/usr/bin/bash
set -e
# Install dependencies
dnf install -y unzip
# Download and extract consul
curl -o /app/consul.zip https://releases.hashicorp.com/consul/${PACKAGE_VERSION}/consul_${PACKAGE_VERSION}_linux_amd64.zip
curl -L -o /app/consul.zip https://releases.hashicorp.com/consul/${PACKAGE_VERSION}/consul_${PACKAGE_VERSION}_linux_amd64.zip
unzip consul.zip
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,17 +1,17 @@
# nfpm.yaml
name: consul
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure."
description: "${PACKAGE_DESCRIPTION}"
maintainer: HashiCorp
homepage: https://github.com/hashicorp/consul
license: BUSL-1.1
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+19 -7
View File
@@ -1,9 +1,21 @@
name: etcd
release: 2
version: 3.5.18
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: etcd-io/etcd
description: A distributed, reliable key-value store for the most critical data of
a distributed system.
arch: amd64
platform: linux
maintainer: https://etcd.io/
homepage: https://etcd.io/
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 3.6.10
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 3.6.10
+6 -2
View File
@@ -1,9 +1,13 @@
#!/usr/bin/bash
set -e
# Download and extract etcd
wget -O /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz https://github.com/etcd-io/etcd/releases/download/v${PACKAGE_VERSION}/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
wget -O /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/etcd-io/etcd/releases/download/v${PACKAGE_VERSION}/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
tar xf /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
mv /app/etcd-v${PACKAGE_VERSION}-linux-amd64/* /app/
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,17 +1,17 @@
# nfpm.yaml
name: etcd
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A distributed, reliable key-value store for the most critical data of a distributed system."
description: "${PACKAGE_DESCRIPTION}"
maintainer: https://etcd.io/
homepage: https://etcd.io/
license: Apache-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+18 -5
View File
@@ -1,8 +1,21 @@
name: exportarr
release: 1
version: 2.2.0
build:
- distro: el/8
github: onedr0p/exportarr
description: AIO Prometheus Exporter for Sabnzbd, Bazarr, Prowlarr, Lidarr, Readarr,
Radarr, and Sonarr
arch: amd64
platform: linux
maintainer: onedr0p
homepage: https://github.com/onedr0p/exportarr
license: MIT license
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1
version: 2.3.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2.3.0
+6 -2
View File
@@ -1,6 +1,10 @@
#!/usr/bin/bash
set -e
# Download the required files
curl --output - -L https://github.com/onedr0p/exportarr/releases/download/v${PACKAGE_VERSION}/exportarr_${PACKAGE_VERSION}_linux_amd64.tar.gz | tar --strip-components=1 -xzf -
curl --output - -L https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/onedr0p/exportarr/releases/download/v${PACKAGE_VERSION}/exportarr_${PACKAGE_VERSION}_linux_amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,16 +1,16 @@
# nfpm.yaml
name: exportarr
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "AIO Prometheus Exporter for Sabnzbd, Bazarr, Prowlarr, Lidarr, Readarr, Radarr, and Sonarr"
maintainer: onedr0p
homepage: https://github.com/onedr0p/exportarr
license: MIT license
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+18 -7
View File
@@ -1,9 +1,20 @@
name: frr_exporter
release: 1
version: 1.8.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: tynany/frr_exporter
description: Prometheus exporter for Free Range Routing
arch: amd64
platform: linux
maintainer: Prometheus
homepage: https://github.com/tynany/frr_exporter
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.11.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.11.0
+8 -2
View File
@@ -1,3 +1,9 @@
#!/usr/bin/bash
curl --output - -L https://github.com/tynany/frr_exporter/releases/download/v${PACKAGE_VERSION}/frr_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
set -e
curl --output - -L https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/tynany/frr_exporter/releases/download/v${PACKAGE_VERSION}/frr_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,16 +1,16 @@
# nfpm.yaml
name: frr_exporter
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Prometheus exporter for Free Range Routing"
maintainer: Prometheus
homepage: https://github.com/tynany/frr_exporter
license: MIT
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+18 -7
View File
@@ -1,9 +1,20 @@
name: g10k
release: 1
version: 0.9.10
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: xorpaul/g10k
description: An r10k fork written in Go, designed to work somwhat similar like puppetlabs/r10k.
arch: amd64
platform: linux
maintainer: xorpaul
homepage: https://github.com/xorpaul/g10k
license: Apache2.0
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 0.9.10
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 0.9.10
+6 -2
View File
@@ -1,10 +1,14 @@
#!/usr/bin/bash
set -e
# Download and extract g10k
wget -O /app/g10k.zip https://github.com/xorpaul/g10k/releases/download/v${PACKAGE_VERSION}/g10k-v${PACKAGE_VERSION}-linux-amd64.zip
wget -O /app/g10k.zip https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/xorpaul/g10k/releases/download/v${PACKAGE_VERSION}/g10k-v${PACKAGE_VERSION}-linux-amd64.zip
pushd /app
unzip /app/g10k.zip
popd
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,17 +1,17 @@
# nfpm.yaml
name: g10k
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "An r10k fork written in Go, designed to work somwhat similar like puppetlabs/r10k."
description: "${PACKAGE_DESCRIPTION}"
maintainer: xorpaul
homepage: https://github.com/xorpaul/g10k
license: Apache2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
+20
View File
@@ -0,0 +1,20 @@
name: git-delta
github: dandavison/delta
description: A syntax-highlighting pager for git, diff, grep, and blame output.
arch: amd64
platform: linux
maintainer: dandavison
homepage: https://github.com/dandavison/delta
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.19.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.19.2
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/bash
set -e
# Note: delta releases use plain version tags (no v prefix)
wget -O /app/delta-${PACKAGE_VERSION}-x86_64-unknown-linux-musl.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/dandavison/delta/releases/download/${PACKAGE_VERSION}/delta-${PACKAGE_VERSION}-x86_64-unknown-linux-musl.tar.gz
tar xf /app/delta-${PACKAGE_VERSION}-x86_64-unknown-linux-musl.tar.gz
mv /app/delta-${PACKAGE_VERSION}-x86_64-unknown-linux-musl/delta /app/delta
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- git-delta
provides:
- git-delta
contents:
- src: /app/delta
dst: /usr/bin/delta
file_info:
mode: 0755
owner: root
group: root
+22
View File
@@ -0,0 +1,22 @@
name: go-cache-plugin
github: tailscale/go-cache-plugin
description: A GOCACHEPROG implementation that backs the Go build cache with S3.
arch: amd64
platform: linux
maintainer: Tailscale
homepage: https://github.com/tailscale/go-cache-plugin
license: BSD-3-Clause
dist_tag: true
builds:
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2026.7.22
- repository:
- fedora/42
- fedora/43
- fedora/44
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2026.7.22
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/bash
set -e
# Upstream publishes no tags or releases; PACKAGE_VERSION dates this commit.
COMMIT=3031b5d01c50d2748a32c7c9386ea7049883f38e
# go.mod requires go 1.26.1
export GOTOOLCHAIN=go1.26.1
# Compile the go-cache-plugin binary using Go
GOBIN=/app go install github.com/tailscale/go-cache-plugin/cmd/go-cache-plugin@${COMMIT}
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+31
View File
@@ -0,0 +1,31 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- go-cache-plugin
provides:
- go-cache-plugin
# Files to include in the package
contents:
- src: /app/go-cache-plugin
dst: /usr/bin/go-cache-plugin
file_info:
mode: 0755
owner: root
group: root
+21
View File
@@ -0,0 +1,21 @@
name: hadolint
github: hadolint/hadolint
description: A smarter Dockerfile linter that helps you build best practice Docker
images.
arch: amd64
platform: linux
maintainer: hadolint
homepage: https://github.com/hadolint/hadolint
license: GPL-3.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 2.14.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2.14.0
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
wget -O /app/hadolint https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/hadolint/hadolint/releases/download/v${PACKAGE_VERSION}/hadolint-linux-x86_64
chmod +x /app/hadolint
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- hadolint
provides:
- hadolint
contents:
- src: /app/hadolint
dst: /usr/bin/hadolint
file_info:
mode: 0755
owner: root
group: root
+20
View File
@@ -0,0 +1,20 @@
name: helm
github: helm/helm
description: The Kubernetes Package Manager
arch: amd64
platform: linux
maintainer: Helm Contributors
homepage: https://github.com/helm/helm
license: Apache-2.0 license
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 4.1.4
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 4.1.4
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/bash
set -e
# Download the required files
curl -L -o /app/helm.tar.gz https://get.helm.sh/helm-v${PACKAGE_VERSION}-linux-amd64.tar.gz
# Extract the binary
cd /app
tar -xzf helm.tar.gz
# Make the binary executable
chmod +x /app/linux-amd64/helm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+39
View File
@@ -0,0 +1,39 @@
---
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- helm
provides:
- helm
# Files to include in the package
contents:
- src: /app/linux-amd64/helm
dst: /usr/bin/helm
file_info:
mode: 0755
owner: root
group: root
# Scripts to run during installation/removal (optional)
# scripts:
# preinstall: ./scripts/preinstall.sh
# postinstall: ./scripts/postinstall.sh
# preremove: ./scripts/preremove.sh
# postremove: ./scripts/postremove.sh
+19 -6
View File
@@ -1,9 +1,22 @@
name: helmfile
release: 1
version: 1.1.7
build:
- distro: el/8
github: helmfile/helmfile
description: A declarative spec for deploying Helm charts. It lets you keep a directory
of chart value files and maintain changes in version control; apply CI/CD to configuration
changes; and periodically sync to avoid skew in environments.
arch: amd64
platform: linux
maintainer: Helmfile Contributors
homepage: https://github.com/helmfile/helmfile
license: MIT
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1
version: 1.4.4
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: helmfile/helmfile
release: 1
version: 1.4.4
+7 -3
View File
@@ -1,7 +1,9 @@
#!/usr/bin/bash
set -e
# Download the required files
curl -L -o /app/helmfile.tar.gz https://github.com/helmfile/helmfile/releases/download/v${PACKAGE_VERSION}/helmfile_${PACKAGE_VERSION}_linux_amd64.tar.gz
curl -L -o /app/helmfile.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/helmfile/helmfile/releases/download/v${PACKAGE_VERSION}/helmfile_${PACKAGE_VERSION}_linux_amd64.tar.gz
# Extract the binary
cd /app
@@ -10,5 +12,7 @@ tar -xzf helmfile.tar.gz
# Make the binary executable
chmod +x /app/helmfile
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+9 -8
View File
@@ -1,17 +1,18 @@
---
# nfpm.yaml
name: helmfile
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A declarative spec for deploying Helm charts. It lets you keep a directory of chart value files and maintain changes in version control; apply CI/CD to configuration changes; and periodically sync to avoid skew in environments."
description: "${PACKAGE_DESCRIPTION}"
maintainer: Helmfile Contributors
homepage: https://github.com/helmfile/helmfile
license: MIT
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
@@ -35,4 +36,4 @@ contents:
# preinstall: ./scripts/preinstall.sh
# postinstall: ./scripts/postinstall.sh
# preremove: ./scripts/preremove.sh
# postremove: ./scripts/postremove.sh
# postremove: ./scripts/postremove.sh
+13 -7
View File
@@ -1,9 +1,15 @@
name: incus
release: 1
version: 6.10.1
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: lxc/incus
description: Powerful system container and virtual machine manager
arch: amd64
platform: linux
maintainer: unkin
homepage: https://linuxcontainers.org/incus/
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 6.23.0
+6 -4
View File
@@ -1,7 +1,9 @@
#!/usr/bin/bash
set -e
# Install build dependencies
dnf install -y \
dnf makecache && dnf install -y \
unzip \
libtool \
autoconf \
@@ -24,14 +26,14 @@ dnf install -y \
bash-completion \
gettext \
help2man \
curl
curl-minimal
# Download and extract incus source
curl -o /app/incus.tar.gz https://github.com/lxc/incus/archive/refs/tags/v${PACKAGE_VERSION}.tar.gz
curl -L -o /app/incus.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/lxc/incus/archive/refs/tags/v${PACKAGE_VERSION}.tar.gz
tar -C /app -xf incus.tar.gz
# Install specific Go version
curl -O https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
curl -L -O https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
rm -rf /usr/local/go
tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz
+4 -4
View File
@@ -92,7 +92,7 @@ contents:
# Scripts to run during installation/removal (optional)
scripts:
postinstall: ./scripts/postinstall.sh
preremove: ./scripts/preremove.sh
postremove: ./scripts/postremove.sh
preinstall: ./scripts/preinstall.sh
postinstall: ./resources/scripts/postinstall.sh
preremove: ./resources/scripts/preremove.sh
postremove: ./resources/scripts/postremove.sh
preinstall: ./resources/scripts/preinstall.sh
Regular → Executable
View File
+17 -5
View File
@@ -1,8 +1,20 @@
name: jellyfin-ffmpeg-bin
release: 3
version: 7.1.1
build:
- distro: el/8
github: jellyfin/jellyfin-ffmpeg
description: FFmpeg binary package optimized for Jellyfin media server
arch: amd64
platform: linux
maintainer: unkin
homepage: https://github.com/jellyfin/jellyfin-ffmpeg
license: GPL-3.0
dist_tag: false
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
release: 1.1
version: 7.1.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1.1
version: 7.1.3
+7 -4
View File
@@ -3,12 +3,15 @@
# Setup rpmbuild directory structure
mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
# Process the spec file template with environment variables
envsubst < /app/resources/jellyfin-ffmpeg-bin.spec.template > /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.spec
# Download source files using spectool
spectool -g -R /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec
spectool -g -R /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.spec
# Build the RPM
rpmbuild -ba /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec
rpmbuild -ba /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.spec
# Copy the built RPMs to output directory
cp /root/rpmbuild/RPMS/x86_64/jellyfin-ffmpeg-bin-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.*.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-ffmpeg-bin-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.*.rpm /app/dist
cp /root/rpmbuild/RPMS/x86_64/jellyfin-ffmpeg-bin-*.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-ffmpeg-bin-*.rpm /app/dist
@@ -1,20 +1,20 @@
%global debug_package %{nil}
%define _missing_build_ids_terminate_build 0
%global jellyfin_release 3
%global jellyfin_release 1
Name: jellyfin-ffmpeg-bin
Version: 7.1.1
Release: %{jellyfin_release}
Name: ${PACKAGE_NAME}
Version: ${PACKAGE_VERSION}
Release: ${PACKAGE_RELEASE}
Summary: FFmpeg for Jellyfin with custom extensions and enhancements
License: GPL-3.0-only
URL: https://github.com/jellyfin/jellyfin-ffmpeg
Source0: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v%{version}-%{jellyfin_release}/jellyfin-ffmpeg_%{version}-%{jellyfin_release}_portable_linux64-gpl.tar.xz
Source1: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v%{version}-%{jellyfin_release}/jellyfin-ffmpeg_%{version}-%{jellyfin_release}_portable_linuxarm64-gpl.tar.xz
Source2: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v%{version}-%{jellyfin_release}/LICENSE.md
Source3: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v%{version}-%{jellyfin_release}/README.md
Source0: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${PACKAGE_VERSION}-1/jellyfin-ffmpeg_${PACKAGE_VERSION}-1_portable_linux64-gpl.tar.xz
Source1: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${PACKAGE_VERSION}-1/jellyfin-ffmpeg_${PACKAGE_VERSION}-1_portable_linuxarm64-gpl.tar.xz
Source2: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v${PACKAGE_VERSION}-1/LICENSE.md
Source3: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v${PACKAGE_VERSION}-1/README.md
ExclusiveArch: x86_64 aarch64
+14 -7
View File
@@ -1,8 +1,15 @@
name: jellyfin-server
release: 1
version: 10.10.7
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: unknown/jellyfin-server
description: jellyfin-server package
dist_tag: false
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 10.10.7
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 10.10.7
+1 -1
View File
@@ -18,4 +18,4 @@ rpmbuild -ba /app/resources/jellyfin-server_${PACKAGE_VERSION}.spec
# Copy the built RPMs to output directory
cp /root/rpmbuild/RPMS/x86_64/jellyfin-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.src.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.src.rpm /app/dist/
+14 -7
View File
@@ -1,8 +1,15 @@
name: jellyfin-web
release: 1
version: 10.10.7
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: unknown/jellyfin-web
description: jellyfin-web package
dist_tag: false
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository:
- almalinux/el8
version: 10.10.7
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository:
- almalinux/el9
version: 10.10.7
+1 -1
View File
@@ -15,4 +15,4 @@ rpmbuild -ba /app/resources/jellyfin-web_${PACKAGE_VERSION}.spec
# Copy the built RPMs to output directory
cp /root/rpmbuild/RPMS/noarch/jellyfin-web-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.noarch.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-web-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.src.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-web-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.src.rpm /app/dist/
+20 -8
View File
@@ -1,9 +1,21 @@
name: jsonnet-language-server
release: 1
version: 0.16.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: grafana/jsonnet-language-server
github: grafana/jsonnet-language-server
description: Jsonnet Language Server Protocol implementation for the Jsonnet templating
language.
arch: amd64
platform: linux
maintainer: Grafana Labs
homepage: https://github.com/grafana/jsonnet-language-server
license: Apache-2.0
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
repository:
- almalinux/el8
version: 0.17.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
repository:
- almalinux/el9
version: 0.17.0
@@ -1,10 +1,14 @@
#!/usr/bin/bash
set -e
# Download the required files
curl -L -o /app/jsonnet-language-server https://github.com/grafana/jsonnet-language-server/releases/download/v${PACKAGE_VERSION}/jsonnet-language-server_${PACKAGE_VERSION}_linux_amd64
curl -L -o /app/jsonnet-language-server https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/grafana/jsonnet-language-server/releases/download/v${PACKAGE_VERSION}/jsonnet-language-server_${PACKAGE_VERSION}_linux_amd64
# Make the binary executable
chmod +x /app/jsonnet-language-server
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
@@ -1,17 +1,18 @@
---
# nfpm.yaml
name: jsonnet-language-server
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Jsonnet Language Server Protocol implementation for the Jsonnet templating language."
description: "${PACKAGE_DESCRIPTION}"
maintainer: Grafana Labs
homepage: https://github.com/grafana/jsonnet-language-server
license: Apache-2.0
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
@@ -35,4 +36,4 @@ contents:
# preinstall: ./scripts/preinstall.sh
# postinstall: ./scripts/postinstall.sh
# preremove: ./scripts/preremove.sh
# postremove: ./scripts/postremove.sh
# postremove: ./scripts/postremove.sh
+19 -8
View File
@@ -1,9 +1,20 @@
name: jsonnet-lint
release: 1
version: 0.21.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: google/go-jsonnet
github: google/go-jsonnet
description: Linter for Jsonnet
arch: amd64
platform: linux
maintainer: Google
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
repository:
- almalinux/el8
version: 0.22.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
repository:
- almalinux/el9
version: 0.22.0
+5 -1
View File
@@ -1,4 +1,5 @@
#!/usr/bin/bash
set -e
# Install dependencies and Go 1.24
dnf install -y wget git make
@@ -15,5 +16,8 @@ go version
# Build jsonnet-lint binary
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet-lint@v${PACKAGE_VERSION}
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build RPM package
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+9 -8
View File
@@ -1,16 +1,17 @@
---
# nfpm.yaml
name: jsonnet-lint
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "Linter for Jsonnet"
maintainer: Google
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
@@ -27,4 +28,4 @@ contents:
file_info:
mode: 0755
owner: root
group: root
group: root
+19 -8
View File
@@ -1,9 +1,20 @@
name: jsonnet
release: 1
version: 0.21.0
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
github: google/go-jsonnet
github: google/go-jsonnet
description: A data templating language
arch: amd64
platform: linux
maintainer: Google
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
dist_tag: true
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
repository:
- almalinux/el8
version: 0.22.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
repository:
- almalinux/el9
version: 0.22.0
+5 -1
View File
@@ -1,4 +1,5 @@
#!/usr/bin/bash
set -e
# Install dependencies and Go 1.24
dnf install -y wget git make
@@ -16,5 +17,8 @@ go version
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet@v${PACKAGE_VERSION}
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnetfmt@v${PACKAGE_VERSION}
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build RPM package
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+9 -8
View File
@@ -1,16 +1,17 @@
---
# nfpm.yaml
name: jsonnet
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "A data templating language"
maintainer: Google
homepage: https://github.com/google/go-jsonnet
license: Apache-2.0
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
@@ -33,4 +34,4 @@ contents:
file_info:
mode: 0755
owner: root
group: root
group: root
+20
View File
@@ -0,0 +1,20 @@
name: kubecolor
github: kubecolor/kubecolor
description: Colorize your kubectl output
arch: amd64
platform: linux
maintainer: kubecolor
homepage: https://github.com/kubecolor/kubecolor
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.6.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.6.0
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
wget -O /app/kubecolor_${PACKAGE_VERSION}_linux_amd64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/kubecolor/kubecolor/releases/download/v${PACKAGE_VERSION}/kubecolor_${PACKAGE_VERSION}_linux_amd64.tar.gz
tar xf /app/kubecolor_${PACKAGE_VERSION}_linux_amd64.tar.gz -C /app/ kubecolor
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- kubecolor
provides:
- kubecolor
contents:
- src: /app/kubecolor
dst: /usr/bin/kubecolor
file_info:
mode: 0755
owner: root
group: root
+20
View File
@@ -0,0 +1,20 @@
name: kubeconform
github: yannh/kubeconform
description: A FAST Kubernetes manifests validator, with support for Custom Resources!
arch: amd64
platform: linux
maintainer: Yann Hamon
homepage: https://github.com/yannh/kubeconform
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.7.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.7.0
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/bash
set -e
# Download kubeconform binary
wget -O /app/kubeconform-linux-amd64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/yannh/kubeconform/releases/download/v${PACKAGE_VERSION}/kubeconform-linux-amd64.tar.gz
# Extract the binary
tar -xzf /app/kubeconform-linux-amd64.tar.gz -C /app/
# Process nfpm.yaml with envsubst
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+39
View File
@@ -0,0 +1,39 @@
---
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- kubeconform
provides:
- kubeconform
# Files to include in the package
contents:
- src: /app/kubeconform
dst: /usr/bin/kubeconform
file_info:
mode: 0755
owner: root
group: root
# Scripts to run during installation/removal (optional)
# scripts:
# preinstall: ./scripts/preinstall.sh
# postinstall: ./scripts/postinstall.sh
# preremove: ./scripts/preremove.sh
# postremove: ./scripts/postremove.sh
+20
View File
@@ -0,0 +1,20 @@
name: kubectx
github: ahmetb/kubectx
description: Faster way to switch between clusters and namespaces in kubectl.
arch: amd64
platform: linux
maintainer: ahmetb
homepage: https://github.com/ahmetb/kubectx
license: Apache-2.0
dist_tag: true
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.11.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.11.0
+13
View File
@@ -0,0 +1,13 @@
#!/usr/bin/bash
set -e
wget -O /app/kubectx_v${PACKAGE_VERSION}_linux_x86_64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/ahmetb/kubectx/releases/download/v${PACKAGE_VERSION}/kubectx_v${PACKAGE_VERSION}_linux_x86_64.tar.gz
wget -O /app/kubens_v${PACKAGE_VERSION}_linux_x86_64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/ahmetb/kubectx/releases/download/v${PACKAGE_VERSION}/kubens_v${PACKAGE_VERSION}_linux_x86_64.tar.gz
tar xf /app/kubectx_v${PACKAGE_VERSION}_linux_x86_64.tar.gz -C /app/ kubectx
tar xf /app/kubens_v${PACKAGE_VERSION}_linux_x86_64.tar.gz -C /app/ kubens
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm

Some files were not shown because too many files have changed in this diff Show More