System Architecture

Auto-generated
Rendered from docs/architecture/calm/architecture.json by the CALM
CLI (calm template). Do not edit this file by hand — edit the
architecture JSON or the Handlebars template at
docs/architecture/calm/templates/mermaid/system.md.hbs and regenerate
with make calm-diagrams.
A single Mermaid flowchart LR of every node in the CALM architecture
and the connections between them. connects and interacts
relationships become arrows (the protocol, when defined, labels the
arrow); deployed-in / composed-of containers become subgraphs.
Note: nodes whose name includes "(planned, Phase 1B/C/D)" are not yet
implemented in the repo — the diagram shows the target architecture so
contributors and users have one canonical picture.
flowchart LR
actor-vm-consumer["VM Consumer"]
actor-platform-operator["Platform Operator"]
service-kubernetes-api["Kubernetes API Server"]
service-banlieue-controller["banlieue-controller"]
service-banlieue-operator["banlieue-operator"]
service-provider-vsphere["banlieue-provider-vsphere"]
service-provider-proxmox["banlieue-provider-proxmox (planned, Phase 1C)"]
service-provider-libvirt["banlieue-provider-libvirt"]
service-banlieue-imagebuilder["banlieue-imagebuilder"]
service-kairos-operator["kairos-operator (external, not shipped by banlieue)"]
system-banlieue-binary["banlieue (single binary)"]
network-vsphere-backend["vSphere / vCenter Backend"]
network-proxmox-backend["Proxmox VE Backend"]
network-libvirt-backend["libvirt / KVM Host"]
network-vault-backend["HashiCorp Vault (KV secrets)"]
data-asset-virtualmachine-cr["VirtualMachine Custom Resource"]
data-asset-virtualmachinepool-cr["VirtualMachinePool Custom Resource"]
data-asset-provider-cr["Provider Custom Resource"]
data-asset-providerclass-cr["ProviderClass Custom Resource"]
data-asset-vmclass-cr["VMClass Custom Resource"]
data-asset-vmimage-cr["VMImage Custom Resource"]
data-asset-osartifact-cr["OSArtifact Custom Resource (external, kairos-operator)"]
data-asset-infra-machine-cr["Infrastructure Machine CR (VSphereMachine, etc.)"]
data-asset-infra-cluster-cr["Infrastructure Cluster CR (VSphereCluster)"]
data-asset-capi-cluster-cr["CAPI Cluster / MachineDeployment (external)"]
service-capi-core["Cluster API core + control-plane provider (k0smotron)"]
system-k0s-bootstrap["k0s Bootstrap Script"]
subgraph sg_system-banlieue-binary [System Banlieue Binary]
service-banlieue-controller
service-banlieue-operator
service-provider-vsphere
service-provider-proxmox
service-provider-libvirt
service-banlieue-imagebuilder
end
subgraph sg_ecosystem-management-cluster [Ecosystem Management Cluster]
service-banlieue-controller
service-banlieue-operator
service-kubernetes-api
service-capi-core
service-provider-vsphere
service-provider-proxmox
service-provider-libvirt
service-banlieue-imagebuilder
service-kairos-operator
end
subgraph sg_service-kubernetes-api [Service Kubernetes Api]
data-asset-virtualmachine-cr
data-asset-provider-cr
data-asset-providerclass-cr
data-asset-vmclass-cr
data-asset-vmimage-cr
data-asset-osartifact-cr
data-asset-infra-machine-cr
data-asset-infra-cluster-cr
data-asset-capi-cluster-cr
end
actor-vm-consumer --> data-asset-virtualmachine-cr
actor-vm-consumer --> data-asset-vmclass-cr
actor-vm-consumer --> data-asset-vmimage-cr
actor-platform-operator --> data-asset-provider-cr
actor-platform-operator --> data-asset-providerclass-cr
actor-platform-operator --> data-asset-capi-cluster-cr
actor-platform-operator --> data-asset-infra-cluster-cr
actor-vm-consumer -->|HTTPS| service-kubernetes-api
actor-platform-operator -->|HTTPS| service-kubernetes-api
service-banlieue-controller -->|HTTPS| service-kubernetes-api
service-banlieue-operator -->|HTTPS| service-kubernetes-api
service-provider-vsphere -->|HTTPS| service-kubernetes-api
service-provider-proxmox -->|HTTPS| service-kubernetes-api
service-provider-libvirt -->|HTTPS| service-kubernetes-api
service-capi-core -->|HTTPS| service-kubernetes-api
service-banlieue-imagebuilder -->|HTTPS| service-kubernetes-api
service-kairos-operator -->|HTTPS| service-kubernetes-api
service-provider-vsphere -->|HTTPS| network-vsphere-backend
service-provider-proxmox -->|HTTPS| network-proxmox-backend
service-provider-libvirt -->|TLS| network-libvirt-backend
system-k0s-bootstrap --> network-vsphere-backend
system-k0s-bootstrap --> network-libvirt-backend
system-k0s-bootstrap --> network-vault-backend
service-banlieue-controller --> data-asset-virtualmachinepool-cr
service-banlieue-controller --> data-asset-virtualmachine-cr
Source: nodes and relationships in architecture.json.