Files
setup-buildx/action.yml
T
Anders OlssonandClaude Opus 5 17d77ace6a fix: default to the buildkit in the caller's own namespace
The default was `tcp://buildkit.gitea.svc.cluster.local:1234`, which
names aceofbase's namespace explicitly. That was correct while aceofbase
was the only cluster running CI, and resolves to nothing from
planet-express — so every workflow moved to the new dink-backed runner
had to override it, and forgetting produced a DNS error from inside
buildx that named neither this action nor the cluster it pointed at.

A BARE Service name resolves in the job container's own namespace, which
is where its runner's buildkit lives on both clusters: `gitea` on
aceofbase, `gitea-runner` on planet-express. One default, correct on
both, and correct for a cluster nobody has built yet.

Verified before changing rather than assumed: on aceofbase the buildkit
Service is in `gitea`, and gitea-act-runner's Role is namespace-scoped
to `gitea`, so its job pods land in the same namespace as the Service.
Existing consumers therefore see no change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C1tzpqzv37DDbtpPTxHsyA
2026-08-18 06:25:35 +02:00

36 lines
1.4 KiB
YAML

name: setup-buildx
description: |
Wrapper around docker/setup-buildx-action that defaults to the buildkit
service in the caller's own namespace. Lets workflow authors skip the
boilerplate of pointing setup-buildx at a remote driver.
inputs:
endpoint:
# A BARE Service name, deliberately, rather than an FQDN. A job container
# resolves it in its own namespace, which is where its runner's buildkit
# lives on every cluster here: `gitea` on aceofbase, `gitea-runner` on
# planet-express. One default is therefore correct on both, and stays
# correct for a cluster nobody has built yet.
#
# It used to default to `tcp://buildkit.gitea.svc.cluster.local:1234`,
# which named aceofbase's namespace explicitly. That resolved to nothing
# from planet-express, so every workflow moved there had to override it —
# and the failure mode was a DNS error inside buildx rather than anything
# naming this action.
description: 'BuildKit TCP endpoint. Defaults to the buildkit Service in the calling job''s own namespace.'
required: false
default: 'tcp://buildkit:1234'
version:
description: 'buildx version to install (passed through).'
required: false
default: 'latest'
runs:
using: composite
steps:
- uses: docker/setup-buildx-action@v3
with:
driver: remote
endpoint: ${{ inputs.endpoint }}
version: ${{ inputs.version }}