Architecture · Split-control · L1 + L2 overview
IMP split-control
Operator reconciles desired state against the Kubernetes API; Agent executes node-local Firecracker and networking work. Status, events, and metrics close the loop for operators.
IMP split-control architecture
Architecture showing User, Kubernetes API with etcd, IMP Operator in control plane, and IMP Agent with Firecracker runtime and observability in data plane, with six labeled flows from POST to events.
PLATFORM
CONTROL PLANE
DATA PLANE
POST
WATCH
PATCH STATUS
DISPATCH
CREATE VM + NET
EVENTS + METRICS
ACTOR
User / kubectl
kubectl apply
STORE
Kubernetes API + etcd
/apis/imp.dev/v1alpha1
CTRL
IMP Operator
cluster-scoped
AGENT
IMP Agent
DaemonSet · node-local
RUNTIME
Firecracker + Network
ImpVM · ImpNetwork
OBSERVE
Events + Metrics
LEGEND
Focal — Operator (reconciliation)
Backend — Agent
Store — API/etcd, Runtime
HTTP API
Watch / Event
Control plane
Cluster-scoped watch / list / get Validates ImpVM / ImpNetwork / pools Patches status.conditions
Data plane
DaemonSet, node-local Starts Firecracker, wires IPAM Returns result to operator
Observe
Events on events.k8s.io Prometheus latency & health OnDelete rollout for runtime
IMP · docs/architecture.md · palette: paper #f3f1ed, ink #20140f, accent #d3361f · fonts: Chakra Petch + IBM Plex Mono · 4px grid · r8 elbows