Atlas stack¶
The Atlas stack is the environment around the serving runtime: cluster substrate, Helm delivery, object storage, cache, telemetry services, profiles, and pinned external inputs. These components do not share one source of truth. The stack contract joins their authorities into an inspectable composition.
Resolve intent into topology¶
Atlas uses profile names in several places. Equal spelling does not guarantee equal meaning, and the current vocabularies deliberately differ.
| Authority | Selects | Current vocabulary |
|---|---|---|
| profile registry | Intended use, safety level, allowed effects, and required dependencies | ci, dev, developer, kind, minimal, perf, small |
| composition graph | Concrete resources, Kind size, namespace, and critical services | ci, kind, local |
| Kubernetes values | Chart behavior and deployment posture | Entries governed by ops/k8s/install-matrix.json |
| Kind profile | Cluster substrate selected by a composition | small or normal in current compositions |
local, for example, is a composition identity but not a profile-registry
entry. It grants no effects by itself. Resolve policy, composition, values, and
target before execution instead of deriving permissions from a shared name.
flowchart LR
Intent[Profile intent] --> Resolver{Resolve stack plan}
Graph[Composition graph] --> Resolver
Values[Kubernetes values] --> Resolver
Target[Kind or external target] --> Resolver
Resolver --> Guard{Identities agree?}
Guard -->|yes| Plan[Components + effects + evidence lane]
Guard -->|no| Refuse[Refuse ambiguous composition]
Supported generated compositions¶
| Composition | Cluster shape | Critical components | Additional services |
|---|---|---|---|
ci |
small Kind cluster | chart, observability namespace, MinIO, Redis | none |
local |
small Kind cluster | chart, observability namespace, MinIO, Redis | none |
kind |
normal Kind cluster | chart, observability namespace, MinIO, Redis | Prometheus, Grafana, OpenTelemetry collector |
This is the checked-in composition contract, not a requirement that every external Atlas deployment use these backends.
Effective stack receipt¶
A profile name does not identify what actually ran. Preserve a receipt that connects planned authority to admitted and observed state:
| Boundary | Minimum identity |
|---|---|
| intent | Policy profile, safety level, allowed effects, and registry hashes |
| composition | Graph profile, component set, dependency edges, and criticality |
| delivery | Chart, values chain, image digests, tools, and rendered-manifest digest |
| target | Cluster, namespace, Kubernetes version, storage, network, and workload identity |
| admission | Controller revision, live-object digest, mutation result, and non-secret config identities |
| observation | Release, dataset, catalog, dependency health, readiness, and telemetry-source identities |
When admitted state differs from the plan, classify the mutation or drift through its owning authority. Do not silently promote live objects to source of truth.
State and replacement¶
flowchart LR
Manifest[Released manifest + hashes] --> Store[Authoritative objects]
Catalog[Governed catalog selection] --> Runtime[Replaceable runtime]
Store --> Runtime
Runtime --> Cache[Rebuildable cache]
Runtime --> Signals[Operational evidence]
| Surface | Role | Requirement after replacement |
|---|---|---|
| release artifacts | Immutable truth | Manifest and payload hashes still match |
| catalog | Selects admissible releases | Selected release and catalog generation are unambiguous |
| runtime | Executes the serving contract | Image, config, catalog, and dataset identities match |
| cache | Derived acceleration | Reused or rebuilt entries bind to verified store data |
| object-store service | Hosts authoritative bytes | Durability, integrity, and access are verified |
| telemetry pipeline | Transports evidence | Loss, delay, and recovery remain visible |
Dependency criticality and failure behavior are separate properties. Store failure can remove serving eligibility. Cache failure may permit bounded bypass while increasing latency and backend pressure. Telemetry failure can leave traffic intact while making promotion unsafe.
Route by operating question¶
| Question | Read |
|---|---|
| Which components are governed? | Stack Components |
| What propagates when a dependency fails? | Dependency Graph |
| How does a request cross the stack? | Service Topology |
| Which deployment shape fits? | Deployment Models |
| What does each local profile mean? | Local Stack Profiles |
| Which Kind substrate is selected? | Kind Clusters |
| How do environment values alter the base? | Environment Overlays |
| How are cache and store failures handled? | Cache and Store Operations |
| What is required without network access? | Offline Assets |
| Which external bytes are pinned? | Toolchain Pins |
A component, dependency edge, profile, or pin change changes the operational contract. Update the owning input, regenerate its inventories, review failure isolation, and retain the resulting evidence. A started pod does not prove that the intended composition was assembled.