ci: build proxy image with ko instead of Docker Buildx #8

Merged
james merged 1 commit from fix/proxy-release-ko into main 2026-05-26 04:40:27 +00:00
Owner

Buildx (kubernetes driver) works but is fiddly to operate. ko is a much
simpler fit for a Go service: it compiles the binary and assembles/pushes
the OCI image via the registry API — no Docker daemon, no buildkit pod,
no privileged/userns access (which is what broke buildah on the runner).

  • proxy/.ko.yaml: distroless nonroot base, version stamped via
    ldflags {{.Env.VERSION}} (matches the Dockerfile, kept for local builds)
  • proxy-release.yml: setup-go + go install ko, then ko build --bare --tags to forge.wynning.tech/james/hugo-ap-comments-proxy
  • still uses REGISTRY_USERNAME/REGISTRY_TOKEN secrets

Verified locally with ko v0.18.1: --bare --tags produces :X.Y.Z and
:latest, and the embedded version is correct in the built binary.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Buildx (kubernetes driver) works but is fiddly to operate. ko is a much simpler fit for a Go service: it compiles the binary and assembles/pushes the OCI image via the registry API — no Docker daemon, no buildkit pod, no privileged/userns access (which is what broke buildah on the runner). - proxy/.ko.yaml: distroless nonroot base, version stamped via ldflags {{.Env.VERSION}} (matches the Dockerfile, kept for local builds) - proxy-release.yml: setup-go + `go install ko`, then `ko build --bare --tags` to forge.wynning.tech/james/hugo-ap-comments-proxy - still uses REGISTRY_USERNAME/REGISTRY_TOKEN secrets Verified locally with ko v0.18.1: --bare --tags produces :X.Y.Z and :latest, and the embedded version is correct in the built binary. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ci: build proxy image with ko instead of Docker Buildx
Some checks failed
CI / build (pull_request) Successful in 34s
Proxy Release / release (push) Has been cancelled
Proxy / test (pull_request) Successful in 1m29s
e4bb8be24b
Buildx (kubernetes driver) works but is fiddly to operate. ko is a much
simpler fit for a Go service: it compiles the binary and assembles/pushes
the OCI image via the registry API — no Docker daemon, no buildkit pod,
no privileged/userns access (which is what broke buildah on the runner).

- proxy/.ko.yaml: distroless nonroot base, version stamped via
  ldflags {{.Env.VERSION}} (matches the Dockerfile, kept for local builds)
- proxy-release.yml: setup-go + `go install ko`, then `ko build --bare
  --tags` to forge.wynning.tech/james/hugo-ap-comments-proxy
- still uses REGISTRY_USERNAME/REGISTRY_TOKEN secrets

Verified locally with ko v0.18.1: --bare --tags produces :X.Y.Z and
:latest, and the embedded version is correct in the built binary.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
james merged commit ffea9dec0e into main 2026-05-26 04:40:27 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
james/hugo-ap-comments!8
No description provided.