Skip to content

add buildkit-setup composite action#6

Draft
markatto wants to merge 1 commit into
mainfrom
mark/buildkit-setup-action
Draft

add buildkit-setup composite action#6
markatto wants to merge 1 commit into
mainfrom
mark/buildkit-setup-action

Conversation

@markatto
Copy link
Copy Markdown

Summary

Adds lightsparkdev/.github/actions/buildkit-setup — a composite action that wires docker/setup-buildx-action against the shared rootless buildkitd in the tooling-prod EKS cluster.

Workflow author shape goes from this:

- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v6

to this, with no other diff:

- uses: lightsparkdev/.github/actions/buildkit-setup@v1
- uses: docker/build-push-action@v6

The composite action handles driver: remote, the buildkitd Service endpoint, and the mTLS material (/etc/buildkit-client/{ca.crt,tls.crt,tls.key}, mounted into every ARC runner pod by charts/arc-runner/values.yaml in tooling-infra). Authors don't see any of the auth or transport plumbing.

Depends on

  • lightsparkdev/tooling-infra#30 — buildkit chart + arc-runner cert mount
  • lightsparkdev/ops#2727 — cert-manager + ca/internal ClusterIssuers

Both should land before users start using this action.

Tagging

After merge, tag as v1 (or use a moving v1 ref via the standard GH actions release flow) so workflows can pin @v1.

Test plan

  • Smoke-test workflow in lightsparkdev/tooling-infra/.github/workflows/ builds + pushes a hello-world image via this action against an arc-runner-N runner.
  • One real consumer migrates (e.g. lightsparkdev/golinks/.github/workflows/ci.yml — small, standalone). Verify docker/build-push-action succeeds and the layer cache survives a second build.

Wires up docker/setup-buildx-action with driver=remote pointed at the
shared buildkitd in the tooling-prod EKS cluster (lightsparkdev/tooling-infra
PRs #30 + lightsparkdev/ops#2727 set up the cluster side).

Workflow authors get a one-line replacement for the standard
setup-buildx-action call:

  - uses: lightsparkdev/.github/actions/buildkit-setup@v1
  - uses: docker/build-push-action@v6

The runner pod has the mTLS client cert mounted at /etc/buildkit-client/
already (gha-runner-scale-set chart in tooling-infra), so the action
doesn't need any secrets or auth plumbing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant