Skip to content

Fix OCIR scoped token authentication - #6

Closed
harrisonoconnorhover wants to merge 300 commits into
WagnerJ-Dev:mainfrom
harrisonoconnorhover:codex/fix-ocir-short-lived-token-auth
Closed

harrisonoconnorhover wants to merge 300 commits into
WagnerJ-Dev:mainfrom
harrisonoconnorhover:codex/fix-ocir-short-lived-token-auth

Conversation

@harrisonoconnorhover

Copy link
Copy Markdown
Contributor

What changed

  • encode OCI short-lived repository access tokens using Docker Basic authentication with the fixed BEARER_TOKEN username
  • preserve the isolated mode-0600 Docker configuration, repository scope, token lifetime checks, and Buildx discovery
  • cover runtime promotion and controller publication

Root cause

Docker Buildx treats identitytoken as an input to a registry OAuth exchange. OCIR short-lived access tokens are already scoped bearer tokens and must be presented through Oracle-compatible Docker login credentials. Live read-only probes showed 403 Forbidden for identitytoken and authenticated not found for the same token in the corrected form.

Checks

  • uv run pytest -q tests/bootstrap/test_oci_image_promotion.py tests/bootstrap/test_oci_controller_publication.py
  • uv run ruff check src/dander/bootstrap/oci_image.py tests/bootstrap/test_oci_image_promotion.py tests/bootstrap/test_oci_controller_publication.py
  • uv run mypy src/dander/bootstrap/oci_image.py
  • git diff --check

harrisonoconnorhover and others added 30 commits August 7, 2026 16:26
…lity-platform-profiles

Cloud portability Phase 2: named platform profiles
…lity-provider-registry

Cloud portability Phase 2: lazy provider factories
…lity-canonical-schema

Cloud portability Phase 2: canonical relation and schema contracts
…lity-sql-dialects

Add explicit portable SQL dialect contract
…lity-graph-ast

Compile pipeline graphs through relational AST
…lity-telemetry

Add provider-neutral run telemetry
…lity-dependencies

Assemble provider runtime dependencies
…lity-bigquery

Route BigQuery through warehouse capabilities
…lity-bigquery-state

Route BigQuery durable state through provider runtime
…lity-dataplex

Route Dataplex through the catalog provider runtime
…lity-gcp-secrets

Route GCP secrets through the provider runtime
…lity-cloud-run

Route Cloud Run through launcher provider
…lity-fargate

Add fail-closed Fargate projection
…lity-aws-runtime

Prepare keyless AWS runtime identity
…lity-fargate-runtime

Cloud portability: provision bounded Fargate runtime
harrisonoconnorhover and others added 28 commits August 12, 2026 01:20
…uncher

Add OCI Container Instances launcher projection
…fecycle

feat(oci): add lifecycle controller and operations
…tifact-promotion

feat(oci): add digest-preserving OCIR promotion
…ntroller-publication

Publish OCI controller from the reviewed wheel
…igest-addressing

Preserve OCI artifact identity when tag immutability is unavailable
…y-rotation-schedule

fix(oci): schedule automatic key rotation
…epository-metadata

fix(oci): verify exact repository metadata
Co-authored-by: Harrison O'Connor-Hoover <harrisonoconnorhover@users.noreply.github.com>
Co-authored-by: Harrison O'Connor-Hoover <harrisonoconnorhover@users.noreply.github.com>
Co-authored-by: Harrison O'Connor-Hoover <harrisonoconnorhover@users.noreply.github.com>
…docker-config

Fix isolated Docker config for OCIR promotion
@harrisonoconnorhover

Copy link
Copy Markdown
Contributor Author

Opened against upstream by CLI remote inference in error; superseded by the protected-fork PR.

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