Container View (L2)
This view maps major IMP runtime components and their responsibilities.
Components
- Kubernetes API Server + etcd: stores CR specs, status, and watch streams.
- IMP Operator: watches resources, resolves dependencies, orchestrates state transitions.
- IMP Agent (DaemonSet): executes host-level actions on worker nodes.
- Firecracker runtime: runs microVM instances.
- Networking layer (
ImpNetwork, CNI integration): allocates addresses and connects workloads.
Interaction Model
- User creates or updates IMP resources (
ImpVM,ImpNetwork, snapshots, pools). - Operator receives watch events and computes desired node/runtime/network actions.
- Operator coordinates with agents to execute those actions on target nodes.
- Agent provisions runtime and networking; returns outcomes.
- Operator updates status conditions and emits events/metrics.
Design Notes
- Control/data plane split keeps reconcile logic centralized and execution local.
- Node-local agents reduce latency for runtime and networking operations.
- CRD status fields are the canonical operator-facing API for current state.
- Event + metric streams give fast feedback for SRE and platform teams.
Operational Implications
- Controller health affects convergence speed.
- Agent health affects node-level execution reliability.
- Cluster networking choice influences feature availability and behavior.
