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

This PR adds least-privilege remote artifact-registry permissions and a Manager-local OCI broker for customer registries while keeping provider credentials inside the Manager.

  • Adds remote Artifact Registry qualification and cloud-specific IAM generation across CloudFormation and Terraform.
  • Adds customer-registry authentication, routing, signed upload continuations, and credential-local proxying.
  • Validates customer-registry Manager origins and adds focused and cloud-backed regression coverage.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
crates/alien-manager/src/routes/registry_proxy.rs Adds the customer OCI broker boundary, signed and target-bound upload continuations, request validation, and redirect-safe credential proxying; the previously reported continuation failures are fixed.
crates/alien-manager/src/builder.rs Wires the customer registry broker into Manager state, disables automatic upstream redirects, and requires an explicit origin-only base URL.
crates/alien-core/src/remote_bindings.rs Extends remote-binding qualification to support remotely accessible artifact registries.
crates/alien-permissions/permission-sets/artifact-registry/remote-read-write.jsonc Defines the constrained data-plane permission set used for remote registry access.
crates/alien-cloudformation/src/emitters/aws/artifact_registry.rs Emits remote ECR access policy resources without granting repository lifecycle operations.
crates/alien-terraform/src/emitters/aws/artifact_registry.rs Adds Terraform-side remote ECR access policy generation using the least-privilege permission set.
crates/alien-terraform/src/emitters/gcp/artifact_registry.rs Adds scoped GCP Artifact Registry access for the remote bindings identity.
crates/alien-terraform/src/emitters/azure/artifact_registry.rs Adds scoped Azure registry role assignment for the remote bindings identity.

Sequence Diagram

sequenceDiagram
  participant OCI as OCI Client
  participant Manager as Alien Manager
  participant Broker as Customer Registry Broker
  participant Registry as Customer Cloud Registry
  OCI->>Manager: Authenticate and request customer repository
  Manager->>Broker: Authorize repository operation
  Broker-->>Manager: Route, registry target, and admission
  Manager->>Registry: Forward with Manager-local provider credentials
  Registry-->>Manager: Response or upload Location
  Manager-->>OCI: Proxied response or signed Manager continuation
  OCI->>Manager: Follow signed continuation
  Manager->>Broker: Revalidate active session target
  Manager->>Registry: Continue upload with local credentials
Loading

Reviews (12): 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
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