StellaOps Registry

Audience: operators configuring registry access for scans and deployments, and integrators that pull from private or mirrored registries through Stella Ops.

Scope note — src/Registry/ is one two-role service family. registry-web is the Stella-owned distribution data plane; registry-token is its bearer issuer and plan-admin role. They share the family database but no source edge: the contract crosses as a signed registry token. The Stella Registry runs on its own service name, while registry.stella-ops.local remains on the interim zot until SR-6 completes the alias cutover. The token service’s generated OpenAPI reference lives in registry-token/.

Direction (2026-08-03, ADR-041): the owner ruled that a Stella-owned product registry — the Stella Registry — is built in this family (registry-web data plane; this token service becomes its auth plane), and zot is demoted to demo-integration material. The stella-infra zot remains the interim plugin-publish target until the ADR-041 R6 cutover. See the registry topology truth doc for every registry-shaped surface and its single role, and docs/implplan/SPRINT_20260803_004_Registry_stella_registry_service_program.md for program state.

Registry Token Service issues short-lived Docker registry bearer tokens for private or mirrored registries. It exchanges an Authority-issued access token for a registry-compatible JWT after enforcing plan and licence constraints, so registry credentials never need to be distributed to callers.

Responsibilities

Key endpoints

Note: both registry.admin and registry.token.issue are defined in the canonical Authority scope catalogue (StellaOpsScopes.RegistryAdmin and StellaOpsScopes.RegistryTokenIssue).

Code locations

Configuration

Persistence

Observability

Implementation Status

Current Objectives

Epic Milestones

Core Capabilities

Technical Decisions

Coordination Approach