Skip to content

feat: proxy customer container registries - #358

Open
alongubkin wants to merge 10 commits into
alon/alien-476-build-byo-onboarding-and-management-experiencefrom
alon/alien-459-build-byo-container-registry-stacked
Open

feat: proxy customer container registries#358
alongubkin wants to merge 10 commits into
alon/alien-476-build-byo-onboarding-and-management-experiencefrom
alon/alien-459-build-byo-container-registry-stacked

Conversation

@alongubkin

Copy link
Copy Markdown
Member

Stacked on #357.

Adds the least-privilege remote Artifact Registry permission set, Remote Bindings qualification, and the Manager-local OCI broker boundary. Provider credentials remain local and repository lifecycle stays with the management identity.

Validated locally:

  • artifact registry permission and preflight suites
  • Manager registry broker suite
  • Terraform and CloudFormation artifact-registry suites
  • Manager binding suite
  • cargo check -p alien-manager

@greptile-apps

greptile-apps Bot commented Aug 7, 2026

Copy link
Copy Markdown

Greptile Summary

The PR adds Manager-local proxying for customer container registries while keeping provider credentials inside the Manager and separating data-plane access from repository lifecycle permissions.

  • Adds signed, revision-bound customer upload continuations and broker-based OCI authorization.
  • Adds remote Artifact Registry bindings and least-privilege AWS, GCP, and Azure permissions.
  • Adds provider operations and IaC output needed to manage child repositories and packages.
  • Validates the public Manager origin used by customer upload continuations.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains in the previously reported customer upload-continuation paths.

Current HEAD preserves the complete signed customer-session identity, validates it against the current route and repository target, forwards continuation paths with the required OCI prefix, and consistently rewrites customer upload Locations to an explicitly configured Manager origin.

Important Files Changed

Filename Overview
crates/alien-manager/src/routes/registry_proxy.rs Adds the customer OCI broker boundary, signed upload sessions, target revalidation, repository translation, and trusted-origin Location rewriting; the previously reported continuation failures are addressed at current HEAD.
crates/alien-manager/src/builder.rs Wires the optional customer broker, disables automatic upstream redirects, and requires an explicit origin-only Manager base URL.
crates/alien-manager/src/routes/bindings.rs Adds local Artifact Registry resolution using separate access and management identities without exposing provider credentials over HTTP.
crates/alien-permissions/permission-sets/artifact-registry/remote-read-write.jsonc Defines the remote Artifact Registry data-plane permissions consumed by generated infrastructure and credential materialization.
crates/alien-cloudformation/src/emitters/aws/artifact_registry.rs Attaches repository-scoped remote access permissions to the Remote Bindings role while removing lifecycle actions from push credentials.
crates/alien-terraform/src/emitters/gcp/artifact_registry.rs Extends generated GCP Artifact Registry infrastructure with remote-access qualification and repository-scoped bindings.

Sequence Diagram

sequenceDiagram
  participant Client as OCI Client
  participant Manager as Alien Manager
  participant Broker as Customer Registry Broker
  participant Registry as Cloud Registry

  Client->>Manager: Push customer/repository
  Manager->>Broker: Authorize repository and operation
  Broker-->>Manager: Pinned target and provider binding
  Manager->>Registry: Forward with short-lived provider credentials
  Registry-->>Manager: Upload Location
  Manager-->>Client: Manager-origin signed continuation
  Client->>Manager: PATCH/PUT signed continuation
  Manager->>Broker: Resolve and revalidate signed session
  Broker-->>Manager: Current pinned target
  Manager->>Registry: Forward exact provider session path
  Registry-->>Client: Proxied response
Loading

Reviews (22): Last reviewed commit: "test: qualify customer registries on AWS..." | Re-trigger Greptile

Comment thread crates/alien-manager/src/routes/registry_proxy.rs Outdated
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch from 1a54ccf to 03aaae5 Compare August 7, 2026 01:34
@alongubkin
alongubkin force-pushed the alon/alien-476-build-byo-onboarding-and-management-experience branch from df56eaf to 1242369 Compare August 7, 2026 02:15
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch from ea4e0ac to 5cf8aea Compare August 7, 2026 02:15
Comment thread crates/alien-manager/src/routes/registry_proxy.rs
Comment thread crates/alien-manager/src/routes/registry_proxy.rs
Comment thread crates/alien-manager/src/routes/registry_proxy.rs
Comment thread crates/alien-manager/src/builder.rs
Comment thread crates/alien-manager/src/routes/registry_proxy.rs Outdated
@alongubkin
alongubkin force-pushed the alon/alien-476-build-byo-onboarding-and-management-experience branch from 1242369 to c5aba42 Compare August 14, 2026 03:40
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch from 52ddffb to f381b98 Compare August 14, 2026 03:40
@alongubkin
alongubkin force-pushed the alon/alien-476-build-byo-onboarding-and-management-experience branch from c5aba42 to 5bfa04f Compare August 14, 2026 03:50
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch 2 times, most recently from 7958e5a to 9a1e7ba Compare August 14, 2026 12:41
@alongubkin
alongubkin force-pushed the alon/alien-476-build-byo-onboarding-and-management-experience branch from e843f1f to 9936de8 Compare August 14, 2026 12:53
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch 2 times, most recently from 0bd0a87 to c574fc6 Compare August 14, 2026 12:59
@alongubkin
alongubkin force-pushed the alon/alien-476-build-byo-onboarding-and-management-experience branch from 32b2cfd to d2f001a Compare August 14, 2026 13:12
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch from c574fc6 to a19c5ed Compare August 14, 2026 13:12
@alongubkin
alongubkin force-pushed the alon/alien-476-build-byo-onboarding-and-management-experience branch from d2f001a to dfce3e9 Compare August 14, 2026 14:02
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch from a19c5ed to fb24fdf Compare August 14, 2026 14:02
@alongubkin
alongubkin force-pushed the alon/alien-476-build-byo-onboarding-and-management-experience branch from dfce3e9 to 7311c1d Compare August 14, 2026 14:18
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch from fb24fdf to 80ca65d Compare August 14, 2026 14:18
@alongubkin
alongubkin force-pushed the alon/alien-476-build-byo-onboarding-and-management-experience branch from 7311c1d to 5f7b4ac Compare August 14, 2026 14:53
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch from 80ca65d to b7b34ce Compare August 14, 2026 14:53
@alongubkin
alongubkin force-pushed the alon/alien-459-build-byo-container-registry-stacked branch from b7b34ce to e473aac Compare August 14, 2026 15:33
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