init: CA-baked woodpecker docker-buildx plugin image #1

Merged
benvin merged 4 commits from benvin/init into main 2026-08-15 16:37:49 +10:00

4 Commits

Author SHA1 Message Date
unkin-agent 5977527348 Dockerfile: fully-qualify base image (buildah short-name TTY fix)
ci/woodpecker/pr/build Pipeline was successful
buildah (quay.io/buildah/stable) enforces short-name resolution and cannot
prompt without a TTY, so 'FROM woodpeckerci/plugin-docker-buildx:latest' errors.
Qualify as docker.io/... . Keep it on docker.io (public CA) deliberately: this
image is what bootstraps internal-CA trust, so pulling its own base through the
internal-CA artifactapi registry would reintroduce the x509 problem in-build.
2026-08-15 16:34:02 +10:00
unkin-agent 6fd0c6efba ci: re-trigger build (plugin-docker-buildx SA now exists via argocd-apps#368)
ci/woodpecker/pr/build Pipeline failed
2026-08-15 16:31:23 +10:00
unkin-agent 7f3adc5725 woodpecker: quote buildah commands (YAML colon-space parse fix)
ci/woodpecker/pr/build Pipeline failed
woodpecker interpolates ${CI_COMMIT_TAG} into the raw pipeline text before YAML
parsing; when empty, '-t $${IMG}:${CI_COMMIT_TAG} .' collapses to '... : .'
and the colon-space is parsed as a map key ('cannot unmarshal map ... into a
string value'). Quote every buildah command so it stays a scalar.
2026-08-15 16:26:38 +10:00
unkin-agent b13a8cec78 Add CA-baked plugin-docker-buildx image + buildah CI
Bake the internal Vault-PKI CA into a rebuild of
woodpeckerci/plugin-docker-buildx so k8s buildx jobs can push to
artifactapi's docker-internal registry over TLS.

- Dockerfile: copy unkin-ca.crt into /etc/docker/certs.d/<registry>/ca.crt
  and the system trust store
- unkin-ca.crt: vault-ca-cert bundle (root + intermediate)
- .woodpecker/build.yaml: PR gate, buildah build-only
- .woodpecker/release.yaml: on v* tag, buildah build + credless push to
  docker-internal with --tls-verify=false (bootstrap)
2026-08-15 15:22:11 +10:00