Skip to content

Pull the accounts image from GHCR instead of ECR#25

Draft
aatchison wants to merge 1 commit into
mainfrom
ci/accounts-image-from-ghcr
Draft

Pull the accounts image from GHCR instead of ECR#25
aatchison wants to merge 1 commit into
mainfrom
ci/accounts-image-from-ghcr

Conversation

@aatchison

Copy link
Copy Markdown
Contributor

What

Repoints both overlays' Kustomize image transform from ECR to the new multi-arch GHCR image:

- name: REPLACE_ACCOUNTS_ECR/accounts
  newName: ghcr.io/thunderbird/thunderbird-accounts   # was *.dkr.ecr.eu-central-1.amazonaws.com/accounts
  newTag: latest                                       # interim placeholder — see TODO

Applies to all three accounts deployments (web, celery, flower) via the single images: transform.

Why

thunderbird/thunderbird-accounts#1087 splits image publishing into a standalone pipeline (publish-images.yml) that builds the accounts image as a native multi-arch (amd64 + arm64) manifest list and pushes it to ghcr.io/thunderbird/thunderbird-accounts. The deploy-stage pipeline there was reverted to build an amd64-only image to ECR (for ECS Fargate).

The Pro EKS clusters are Graviton/arm64, so they need the multi-arch image — which now lives in GHCR. This directly resolves the arm64 availability note in the tb-prod overlay ("…once available to tb-prod … platform-infrastructure#593").

⚠️ Draft — do not merge yet

Blocked on thunderbird/thunderbird-accounts#1087:

  1. #1087 must merge and the publish-images.yml pipeline must publish the GHCR images.
  2. Then replace the interim newTag: latest with a pinned published image (newTag: <sha> or digest: sha256:…) in both overlays — see the TODO before merge comments.
  3. Confirm the GHCR package is readable by the clusters' pull mechanism (package visibility / pull secret).

Validation

Both overlays build clean:

$ kustomize build overlays/tb-dev   # ✅ image: ghcr.io/thunderbird/thunderbird-accounts:latest (web/celery/flower)
$ kustomize build overlays/tb-prod  # ✅ image: ghcr.io/thunderbird/thunderbird-accounts:latest (web/celery/flower)

Note on keycloak

This repo deploys accounts only (keycloak-customer is consumed as an external in-cluster service). If the keycloak image deployment lives in another repo, it needs a matching ECR→GHCR change separately — flagging so it isn't missed.

🤖 Generated with Claude Code

The thunderbird-accounts publish-images.yml pipeline now builds the accounts
image as a native multi-arch (amd64 + arm64) manifest list and pushes it to
ghcr.io/thunderbird/thunderbird-accounts. The Pro EKS clusters are Graviton
(arm64), and the deploy-stage ECR image is amd64-only, so point both overlays
at the GHCR multi-arch image. Resolves the arm64 availability gap noted in the
tb-prod overlay (platform-infrastructure#593).

Both overlays render clean under `kustomize build`.

DRAFT: depends on thunderbird/thunderbird-accounts#1087 merging and publishing
the GHCR images first. Before merge, pin newTag/digest to a specific published
image instead of the interim `latest` placeholder.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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