Helm chart
Published as an OCI chart and signed. Every component can be turned off, scaled or pointed at your own images. High availability adds topology spreading and disruption budgets and requires a highly available database.
CONSTELLATION PRODUCT / ARCHITECTURE
Constellation is a set of Kubernetes services, an agent on each node and one PostgreSQL database, installed with a Helm chart. Each role has one job and its own identity.
Alpha · Chart version 0.2.0 · Kubernetes 1.27 or later01 / COMPONENTS
Select a component to see its job, how it is deployed and what it depends on. Defaults are the Helm chart’s.
constellation-api serves the REST API the console and CLI use, checks every call against roles, and writes the audit log. One replica holds a leader lease for background work.
A single-page web console served by nginx, which proxies API calls to the API service. Ingress or Gateway API exposure is optional.
Scanner workers claim scan jobs from the API with a lease, scan with Syft, Trivy and Grype, verify signatures with cosign and report findings back.


A validating webhook for pods, the controllers that template them and PVCs. It runs built-in rules, or database-backed policies when enabled.
A privileged agent on every node: eBPF for process and file events, a packet data plane on pod interfaces, and host facts and packages for scanning.


The discoverer watches the cluster and fills the inventory: workloads, images, nodes and platform facts. A compliance collector CronJob checks live objects every 6 hours.


The operator reconciles the ConstellationCluster resource. The network-policy applier puts approved Protect policies on the cluster as native, Cilium or Calico policy.
PostgreSQL 16 holds everything: inventory, findings, policies, events and the audit log. There is no other datastore.
02 / LAYERS
| Layer | Components | Owns |
|---|---|---|
| Clients | Web console, constellationctl, CI templates, receivers | Nothing of their own; every call is checked by the API |
| Control plane | API replicas (one leader), console | Policy, findings, exceptions, access, audit chain |
| Workers | Scanner workers, compliance collector, optional benchmark runners | Scan jobs and compliance results |
| In-cluster control | Admission webhook, network-policy applier, operator, discoverer | What is admitted, which network policies apply, the inventory |
| Nodes | Runtime agent DaemonSet | Process, file and network events; host facts and packages; enforcement when enabled |
| State | PostgreSQL 16 | Everything above |
03 / VULNERABILITY DATA
Trivy and Grype match packages against their own vulnerability databases, refreshed every 6 hours by default. The API imports the CISA Known Exploited Vulnerabilities list and FIRST EPSS scores every 6 hours. An NVD importer is optional.
For restricted networks, scanners can run offline from pre-loaded databases or an internal OCI mirror, and the KEV and EPSS feeds can point at internal mirrors.
Scanning offline

04 / INSTALL
Published as an OCI chart and signed. Every component can be turned off, scaled or pointed at your own images. High availability adds topology spreading and disruption budgets and requires a highly available database.
A single-host demo with seeded data, for looking around the console. Not a way to protect a cluster.
An install script and units for the API, scanners, runtime agent, discoverer and audit archiver timer, for hosts outside Kubernetes. Built from source; no console unit.
helm install constellation \
oci://ghcr.io/alphabravo-oss/charts/constellation \
--namespace constellation --create-namespace \
--version 0.2.0 -f my-values.yamlComponents run as a non-root user with a read-only root filesystem, all capabilities dropped and the RuntimeDefault seccomp profile. The runtime agent is the exception: it runs privileged to see the node. Chart NetworkPolicies for Constellation’s own components are available and off by default.
05 / MORE CLUSTERS
Register a cluster to mint an init bundle: scoped scanner and runtime-agent tokens and admission TLS material. Install the chart on the new cluster with that bundle and it reports to the same control plane. Bundles can be listed, rotated and revoked.
In this alpha, a remote cluster’s discoverer, policy applier and compliance collector connect to the control plane’s database directly, so remote clusters need a network path to it. Plan for that before connecting clusters across trust boundaries.


06 / SUPPLY CHAIN
Each role image is signed keyless with cosign and carries a build SBOM, build provenance and a GitHub build-provenance attestation. Images are built for linux/amd64 today.
Syft, Trivy, Grype and cosign in the scanner image are pinned versions verified by SHA-256 at build time.
An API image built with Go’s FIPS 140-3 module on a FIPS base image. The runtime agent’s packet data plane is not FIPS. Not a validated configuration; FIPS images are not part of the release yet.
NEXT STEP
Bring your cluster layout, CNI and database constraints. AlphaBravo will map them to Constellation’s components.