Skip to content

feat(spartan): WIF + Artifact Registry for treasury-infra CI#24527

Merged
aminsammara merged 1 commit into
nextfrom
as/treasury-infra-ci-wif
Jul 6, 2026
Merged

feat(spartan): WIF + Artifact Registry for treasury-infra CI#24527
aminsammara merged 1 commit into
nextfrom
as/treasury-infra-ci-wif

Conversation

@aminsammara

Copy link
Copy Markdown
Contributor

Adds the IAM for aztec-labs-eng/treasury-infra GitHub Actions to push Docker images (the propose-watcher service, treasury-infra#4) to Artifact Registry in testnet-440309 — keyless via Workload Identity Federation, as requested by Alex instead of ad-hoc gcloud commands.

What it declares (in spartan/terraform/gke-cluster/):

  • iam.tf: service account treasury-infra-ci, a github Workload Identity pool, an OIDC provider trusting GitHub-issued tokens with an attribute condition pinning it to exactly the aztec-labs-eng/treasury-infra repository, and the workloadIdentityUser binding.
  • docker-registry.tf: Docker repository treasury-infra (us-west1) and an artifactregistry.writer binding for the CI service account scoped to that one repository — nothing project-wide.

Notes for the applier:

  • terraform validate passes; I don't have permissions to plan/apply against the live state (editor only).
  • A previously hand-created treasury-infra AR repo and treasury-infra-ci SA were deleted before this PR, so terraform apply creates everything fresh — no imports needed. Expected plan: 6 to add, 0 to change, 0 to destroy.
  • GKE image pulls need nothing: aztec-gke-nodes-sa already has project-level artifactregistry.reader (managed in this same file).
  • The consuming workflow and repo variables are already in place on the treasury-infra side; once this applies, its build-push job works immediately.

Adds a GitHub Actions Workload Identity pool/provider restricted to the
aztec-labs-eng/treasury-infra repository, a treasury-infra-ci service
account it may impersonate, and a treasury-infra Docker repository the
account can write to. Lets that repo's CI push its propose-watcher
image keylessly; GKE nodes already read Artifact Registry project-wide.

The pool/provider names (github / treasury-infra) are referenced by the
GCP_WIF_PROVIDER variable already set on the treasury-infra repo.
@aminsammara
aminsammara added this pull request to the merge queue Jul 6, 2026
Merged via the queue into next with commit ca4b5aa Jul 6, 2026
20 checks passed
@aminsammara
aminsammara deleted the as/treasury-infra-ci-wif branch July 6, 2026 11:42
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.

2 participants