Skip to content

ci: authenticate the registry upload with DX_HUB_API_KEY - #30

Merged
wittjosiah merged 1 commit into
mainfrom
claude/plugin-excalidraw-pr8-cleanup-hb0ebu
Aug 8, 2026
Merged

ci: authenticate the registry upload with DX_HUB_API_KEY#30
wittjosiah merged 1 commit into
mainfrom
claude/plugin-excalidraw-pr8-cleanup-hb0ebu

Conversation

@wittjosiah

Copy link
Copy Markdown
Member

The registry publish 401s at the edge upload: it authenticates with a hub-identity verifiable presentation, and CI holds no HALO identity to produce one ('unauthorized response received before identity was set' in dxos's base-http-client). Seeding an identity per run would accrete a device into its HALO on every release, so the unblock is the edge/hub admin API key.

Changes

  • release.yml — pass DX_HUB_API_KEY: ${{ secrets.DX_HUB_API_KEY }} (already set on this repo) to the publish step. The CLI side (dxos branch a66cc24, PR to follow once proven) sends it as X-Admin-Key in place of the VP flow, leaving the identity path untouched when the env is absent.
  • release.yml — new optional cli_package dispatch input overriding the pinned DX_CLI_PACKAGE, so a pkg.pr.new branch build can be tested against the real edge before its dxos PR lands.
  • debug-registry-auth.yml — the edge probe now also POSTs /registry/upload with X-Admin-Key (status only), answering the one question not observable from these repos: whether the edge honors the admin key on that route.

Verification (CLI side, local)

Against a live local HTTP server capturing headers:

requests : [{"url":"/registry/upload","adminKey":"test-key-123","auth":null}]
checks   : auth-prefetch-skipped=true  admin-key-sent=true  no-vp-header=true

The sandbox cannot reach the real edge (socket close before response), so server acceptance is exactly what the debug probe and the next registry_only dispatch establish.

Test plan after merge

  1. Dispatch Debug registry auth → the with X-Admin-Key status per environment tells us if the server honors the key.
  2. Dispatch Release with registry_only: true and cli_package=https://pkg.pr.new/dxos/dxos/@dxos/cli-linux-x64@a66cc24 → the full credentialed publish with the branch CLI.
  3. If both pass, open the dxos PR for a66cc24 as proven.

Generated by Claude Code

The registry publish 401s at the edge upload: it authenticates with a
hub-identity verifiable presentation, and CI holds no HALO identity to produce
one. The CLI (dxos/dxos) now accepts DX_HUB_API_KEY and sends it as X-Admin-Key
in place of the VP flow, so the release passes the secret through.

Also lets a dispatch override the pinned CLI (`cli_package`), so a pkg.pr.new
branch build can be tested against the real edge before landing in dxos, and
teaches the debug workflow to probe /registry/upload with the key — whether the
server honors X-Admin-Key on that route is not observable from this repo.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01SZ4ZdaPo9erkh5yF4eXh3Z
@wittjosiah
wittjosiah enabled auto-merge August 8, 2026 23:01
@wittjosiah
wittjosiah added this pull request to the merge queue Aug 8, 2026
Merged via the queue into main with commit 96ac6b5 Aug 8, 2026
3 checks passed
@wittjosiah
wittjosiah deleted the claude/plugin-excalidraw-pr8-cleanup-hb0ebu branch August 8, 2026 23:04
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