Skip to content

Add authenticated registry delivery support - #1

Merged
joshhalley merged 1 commit into
mainfrom
feature/pr/authenticated_docker
Jun 15, 2026
Merged

joshhalley merged 1 commit into
mainfrom
feature/pr/authenticated_docker

Conversation

@joshhalley

Copy link
Copy Markdown
Contributor

Description

Adds authenticated registry delivery support for Docker HTTP Passthrough so Cisco IOS-XE devices can download Docker save-compatible archives from Docker Hub, GHCR, and private registries.

This includes:

  • Request-selected registry routes with /registry/{scheme}/{host}/docker/{filename} and /registry-auth/{scheme}/{host}/docker/{filename}.
  • Per-request client Basic auth so Cisco ip http client username and ip http client password can supply registry credentials without storing them in the passthrough container.
  • Docker Hub alias handling, GHCR path encoding guidance, bearer challenge discovery, direct Basic auth, and static token support.
  • Prepared-response and tar assembly improvements so registry failures are reported before a successful archive response is committed.
  • Expanded OpenTelemetry instrumentation for request parsing, auth decisions, registry calls, tar preparation, and streaming.
  • Multi-arch OCI image build and publish artifacts for GHCR.
  • Dynamic project website and Zensical documentation with Mermaid diagrams, validation notes, and third-party licensing notices.

No linked issue identified.

Technical references:

  • Docker Registry HTTP API V2 behavior for manifests, blobs, and auth challenges.
  • OpenTelemetry semantic conventions for HTTP, network, and container image attributes.
  • Mermaid and Zensical attribution is recorded in NOTICE.

Type of Change

  • Bug Fix
  • New Feature
  • Breaking Change
  • Refactor
  • Documentation
  • Other (CI, multi-arch container publishing, website, and licensing updates)

Checklist

  • I have read the contributing guidelines
  • Existing issues have been referenced (where applicable; no linked issue identified)
  • I have verified this change is not present in other open pull requests
  • Functionality is documented
  • All code style checks pass (cargo fmt -- --check, git diff --check HEAD)
  • New code contribution is covered by automated tests
  • All new and existing tests pass (cargo test)

Additional validation performed:

  • zensical build
  • docker compose config
  • docker buildx bake --print image-all
  • Local browser verification for dynamic website and Zensical documentation pages

@joshhalley
joshhalley requested a review from moskrive June 14, 2026 20:21

@moskrive moskrive 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.

LGTM

@joshhalley
joshhalley merged commit 9ff350f into main Jun 15, 2026
3 checks passed
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.

2 participants