Skip to content

ci(images): push slurm-operator/-webhook to ECR instead of Docker Hub - #45

Merged
eb3095 merged 2 commits into
slurm-1.0-together-changesfrom
ericbenner/tcl-9443-slurm-operator-ecr-migration
Sep 10, 2026
Merged

eb3095 merged 2 commits into
slurm-1.0-together-changesfrom
ericbenner/tcl-9443-slurm-operator-ecr-migration

Conversation

@eb3095

@eb3095 eb3095 commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Moves the 1.0-line container-images-1.0.yaml workflow off Docker Hub onto this account's ECR (651706779278.dkr.ecr.us-west-2.amazonaws.com), the same registry/role openldap-sync uses.

Both images (slurm-operator, slurm-operator-webhook) are built from this one repo via docker-bake.hcl's operator/webhook targets, both tagged off the same REGISTRY variable — so this is a single-file change.

Changes

  • REGISTRY env now points at the ECR URL instead of togethercomputer (Docker Hub org)
  • Replaced docker/login-action (Docker Hub) with aws-actions/configure-aws-credentials + aws-actions/amazon-ecr-login (OIDC via github-actions-oidc-role)
  • Moved AWS auth ahead of the existing "Refuse to overwrite stable image tags" step, since docker buildx imagetools inspect now needs registry read access to check the current tags
  • Broadened that step's missing-tag detection: ECR reports "name unknown" / "repository ... does not exist" for a tag in a never-pushed repo, not Docker Hub's "manifest unknown"

Dependencies

  • OIDC trust for repo:togethercomputer/slurm-operator:* and the slurm-operator/slurm-operator-webhook ECR repositories (Terraform): tcloud-infra#6600

Verification

  • Workflow YAML reviewed step-by-step against openldap-sync's working ECR workflow (same account/role) and the org's other configure-aws-credentials + amazon-ecr-login workflows for convention
  • Not able to dry-run push from a local sandbox (needs the OIDC role + merged tcloud-infra PR); recommend watching the first CI run on this branch after tcloud-infra#6600 merges

Fixes TCL-9443

Moves the 1.0-line container-images workflow off Docker Hub onto this
account's ECR (651706779278.dkr.ecr.us-west-2.amazonaws.com), the same
registry/role openldap-sync uses:

- REGISTRY now points at the ECR URL (docker-bake.hcl tags both the
  operator and webhook targets off this same variable, so one change
  covers both images)
- Replace the Docker Hub login step with configure-aws-credentials +
  amazon-ecr-login (github-actions-oidc-role, OIDC)
- Move AWS auth ahead of the existing 'refuse to overwrite stable image
  tags' step, since imagetools inspect now needs registry read access
- Broaden that step's missing-tag detection for ECR's error text (ECR
  reports 'name unknown' / 'does not exist' rather than Docker Hub's
  'manifest unknown' when a repo has never been pushed to)

Trust policy + ECR repo creation is in togethercomputer/tcloud-infra#6600.

Fixes TCL-9443
Copilot AI lite review requested due to automatic review settings September 10, 2026 10:07
@broly-code-security-scanner

broly-code-security-scanner Bot commented Sep 10, 2026 •

Copy link
Copy Markdown

Broly Security Scan

Warning

Latest baseline snapshot is stale. Broly is running in PR-only fallback mode until the next scheduled baseline refreshes. This does not block the PR.

Note

✅ Clean scan
No vulnerabilities detected in this PR.

Note

Re-scan this PR anytime with /broly scan — useful after /broly undismiss, or to refresh findings without a new push.

Broly — SAST (zai-org/GLM-5.3) · Secrets · SCA · IaC · GH Actions · Base Images · Supply Chain Threats · Exploit Chains · Adversarial Verification

We're continuously improving Broly's accuracy and finding quality — your feedback is valuable. False positives, missed findings, bugs, and feature requests all welcome.

Ask in #security-engineering   Powered by Together AI

Comment thread .github/workflows/container-images-1.0.yaml Dismissed
Comment thread .github/workflows/container-images-1.0.yaml Fixed
Comment thread .github/workflows/container-images-1.0.yaml Fixed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The ECR/OIDC migration depends on external trust configuration and first-run CI validation.

Pull request overview

Moves 1.0 container image publishing from Docker Hub to AWS ECR using GitHub OIDC authentication.

Changes:

  • Updates registry and AWS configuration.
  • Replaces Docker Hub login with AWS credential and ECR login actions.
  • Handles ECR-specific missing-image responses.
File summaries
File Summary Review comment
.github/workflows/container-images-1.0.yaml Migrates image publishing and tag verification to ECR. Nit: rename the Docker Hub-specific step to refer to ECR or image publishing.
Review details

Suppressed comments (1)

.github/workflows/container-images-1.0.yaml:30

  • Now that this workflow publishes to ECR, the existing Whether to push to Docker Hub step name is inaccurate and will mislead anyone reading the Actions run. Please rename that step to refer to ECR or to image publishing.
  REGISTRY: 651706779278.dkr.ecr.us-west-2.amazonaws.com
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Broly flagged the two new actions as unpinned (blanket policy in this repo
requires hash-pinned actions). Pins to the same commit hashes already used
for these actions elsewhere in the org (tcloud-infra, tcloud).

The AWS_ROLE env var is also flagged as a potential secret (ARN regex
match) -- false positive, same non-sensitive role ARN pattern already
present unchanged in ~30 other workflows across the org (openldap-sync,
tcloud, tcloud-infra, together-cloud-cluster-operator, etc.).
Copilot AI review requested due to automatic review settings September 10, 2026 10:11

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

External OIDC/IAM and ECR prerequisites require first-run validation, and a version annotation nit remains.

Review details

Suppressed comments (1)

.github/workflows/container-images-1.0.yaml:113

  • The version annotation is incorrect: commit 7474bc4690e29a8392af63c5b98e7449536d5c3a is the configure-aws-credentials v4.3.1 release, not v4.0.2. Please update the comment or pin the intended v4.0.2 commit so dependency audits do not use stale version information.
        uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.0.2
  • Files reviewed: 1/1 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@eb3095
eb3095 merged commit 53b083b into slurm-1.0-together-changes Sep 10, 2026
4 of 6 checks passed
@eb3095
eb3095 deleted the ericbenner/tcl-9443-slurm-operator-ecr-migration branch September 10, 2026 20:21
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.

6 participants