blumeops/argocd/manifests
Erich Blume 1bc2b421a8
All checks were successful
Build Container / build (push) Successful in 13s
Adopt Dagger CI for container builds (Phase 1) (#156)
## Summary

- Add Dagger Python module (`.dagger/`) with `build` and `publish` functions for container images
- Replace Docker buildx + skopeo composite action with `dagger call publish` in `build-container.yaml`
- BuildKit's native push is compatible with Zot — **skopeo workaround eliminated**
- Add Dagger CLI (v0.19.11) to forgejo-runner Dockerfile, bump runner to v2.6.0
- Bootstrap step in workflow curl-installs dagger if not in runner (for first build on v2.5.1 runner)
- Delete old `.forgejo/actions/build-push-image/` composite action
- Add GPLv3 LICENSE

## Verified locally

- `dagger call build --src=. --container-name=nettest` — builds ✓
- `dagger call publish --src=. --container-name=nettest --version=dagger-test` — pushed to Zot ✓
- `dagger call build --src=. --container-name=forgejo-runner` — new runner image builds ✓
- Dagger CLI accessible inside built runner image ✓

## Deployment sequence (after merge)

1. `mise run container-tag-and-release forgejo-runner v2.6.0` — old runner bootstraps dagger via curl, builds new runner
2. `argocd app sync forgejo-runner` — runner restarts with v2.6.0 (dagger baked in)
3. `mise run container-tag-and-release nettest v0.13.0` — end-to-end test of new pipeline
4. `mise run container-list` — verify tags

## Not included (future phases)

- Phase 2: docs build + Forgejo packages migration
- Phase 3: runner simplification (remove skopeo, Node.js, etc.)
- Phase 4: future workflows

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/156
2026-02-11 15:38:31 -08:00
..
1password-connect Add External Secrets Operator with 1Password Connect (#66) (#66) 2026-01-28 19:30:10 -08:00
alloy-k8s Remove logfmt parsing stage from Alloy k8s config 2026-01-22 18:06:34 -08:00
argocd Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00
cloudnative-pg K8s Migration Phase 1: Infrastructure Setup (#29) 2026-01-19 09:49:52 -08:00
databases Switch all ExternalSecrets to creationPolicy: Owner 2026-01-28 20:27:16 -08:00
devpi Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00
docs Update docs release to v1.6.1 2026-02-11 21:37:34 +00:00
external-secrets Add External Secrets Operator with 1Password Connect (#66) (#66) 2026-01-28 19:30:10 -08:00
forgejo-runner Adopt Dagger CI for container builds (Phase 1) (#156) 2026-02-11 15:38:31 -08:00
grafana Homepage dashboard improvements (#76) 2026-01-30 15:05:02 -08:00
grafana-config Operations and observability for sifaka NAS (#135) 2026-02-09 17:44:05 -08:00
homepage Fix Immich/Homepage Ingress host matching, add missing service checks (#127) 2026-02-08 22:12:50 -08:00
immich Fix Immich/Homepage Ingress host matching, add missing service checks (#127) 2026-02-08 22:12:50 -08:00
kiwix Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00
kube-state-metrics Observability cleanup and k8s service monitoring (#43) (#43) 2026-01-22 13:51:01 -08:00
loki Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00
miniflux Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00
navidrome Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00
prometheus Operations and observability for sifaka NAS (#135) 2026-02-09 17:44:05 -08:00
tailscale-operator Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00
teslamate Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00
torrent Restrict flyio-proxy ACLs to dedicated tag:flyio-target endpoints (#126) 2026-02-08 21:54:18 -08:00