Infrastructure Dependencies

Audience: operators planning a deployment and engineers reasoning about runtime dependencies. Takeaway: Stella Ops runs on a small, well-defined set of required infrastructure components. Everything else is optional and must never become a hidden dependency for core workflows.

Stella Ops is a self-hosted release control plane designed for on-prem and air-gapped estates. It deliberately keeps its required footprint minimal: a relational store, a cache/coordination layer, and object storage. Optional components extend operational characteristics without becoming load-bearing for the core scan, advisory, policy, and release flows.

PostgreSQL (required)

Primary store for durable state. Each service owns a schema to keep boundaries clear and enable tenant isolation strategies.

SchemaOwner (primary)Purpose
authorityAuthorityUsers, clients, tenants, keys, audit trails.
scannerScannerScan manifests, triage, scan results metadata.
vulnConcelierAdvisory raw documents, linksets, observations.
vexExcititorVEX raw documents, consensus, provider state.
schedulerSchedulerJobs, runs, schedules, impact snapshots.
notifyNotifyChannels, templates, delivery history, digests.
policyPolicyException objects, snapshots, unknowns.
orchestratorOrchestratorSources, runs, jobs, DAGs, pack runs.

See Data isolation model for how the schema-per-service boundary supports tenant isolation, and Data Schemas for the authoritative table/column contracts.

Valkey (required)

Redis-compatible cache and coordination substrate.

PatternTypical servicesPurpose
DPoP noncesAuthorityRFC 9449 nonce storage (short TTL).
Streams / eventsScanner, Notify, SchedulerEvent emission and fan-out (deterministic ordering per stream).
QueuesScanner, NotifyWorker coordination (consumer groups).
CacheAll servicesTenant-prefixed caching with explicit TTLs.
Rate limitingGateway, AuthorityToken bucket counters.

RustFS / S3-compatible object storage (required)

Artifact store for SBOMs, evidence bundles, and replayable outputs. The exact bucket layout depends on the deployment profile; treat deployment manifests as authoritative.

NATS JetStream (optional)

Alternative messaging transport for environments that require persistent streams or specific operational characteristics. NATS must be explicitly configured and must never be required for core workflows.

Deployment references