Mirror

Mirror redistributes Stella Ops advisory data as signed offline bundles so air-gapped deployments can stay current without direct network access. This page is for operators packaging mirror bundles and for engineers integrating with the planning core and federation contracts.

Status: Planning core implemented (fail-closed runtime); bundle export/import lives in Concelier Source: src/Mirror/, plus src/Concelier/__Libraries/StellaOps.Concelier.Federation/ and src/Concelier/__Libraries/StellaOps.Concelier.Connector.StellaOpsMirror/ Owner: Mirror Creator Guild (src/Mirror/StellaOps.Mirror.Creator/AGENTS.md)

Purpose

Mirror redistributes Concelier’s canonical advisory data as signed offline bundles for air-gapped deployments. It does not originate vulnerability data — it mirrors what Concelier already holds, and provides a deterministic planning core for scheduling those mirror runs.

See architecture.mdfor the source-grounded contract reference.

Components

The Mirror capability is split across three locations:

1. Mirror Creator planning core — src/Mirror/StellaOps.Mirror.Creator/

A deterministic planning library (assembly StellaOps.Mirror.Creator.Core, target net10.0). It is a class library, not a runnable host: there is no Program.cs, no HTTP endpoint. The top-level stella mirror CLI group is separate from this planning core; its create verb currently fails closed with exit code 9 and writes no artifacts.

2. Bundle export/import (Concelier Federation) — StellaOps.Concelier.Federation

Produces and ingests offline federation bundles (feedser-bundle/1.0): BundleExportService, DeltaQueryService, BundleImportService, BundleReader, BundleVerifier, BundleMergeService, IBundleSigner (default NullBundleSigner), Zstandard compression, and local-disk / S3 publishers. See architecture.md §1.1.

3. Mirror feed connector — StellaOps.Concelier.Connector.StellaOpsMirror

StellaOpsMirrorConnector (IFeedConnector, source name stella-mirror) consumes a published StellaOps mirror via the standard Fetch → Parse → Map pipeline, verifying each sha256: digest and optional detached JWS signature. See architecture.md §1.2.

Scripts — src/Mirror/StellaOps.Mirror.Creator/

Models (planning core)

Grounded in MirrorModels.cs:

Determinism guarantees

Configuration

The planning core has no appsettings/HTTP config surface. Configuration is via the options object and (for the scripts) environment variables.

Authority scopes

The planning core exposes no HTTP surface, so it declares no dedicated Authority scopes — there are no mirror:* consts in StellaOps.Auth.Abstractions.StellaOpsScopes. Bundle scheduling rides on Export Center authorization; the schedule-export-center-run.sh script passes a caller-supplied bearer token through to /export-center/runs.

Dependencies

Current Status