Architecture
IMP uses a split-control model:
- Operator: cluster-scoped reconciliation, API-state orchestration
- Agent: node-local runtime operations for Firecracker and VM networking
Core Resources
ImpVM: lifecycle of VM instancesImpNetwork: NAT, DNS, and integration surface for CNI behaviorImpVMSnapshot: save/restore VM state workflowsImpVMMigration: orchestrate VM movementImpWarmPool: prewarmed instances from snapshot baselinesRunner+RunnerPool: execution pool primitives
Written Architecture Docs
- System Context (L1)
- Container View (L2)
- Control Plane (L3)
- Data Plane (L3)
- K8s E2E Sequence (Technical)
- K8s E2E Failure Paths
Architecture Diagrams
System Context (L1)
Containers (L2)
Control Plane (L3)
Data Plane (L3)
Kubernetes E2E Sequence (Primary)
Data Flow Snapshot
- User applies CRD objects.
- Operator reconciles desired state and schedules operations.
- Agent executes host/runtime work and publishes status.
- Metrics and status fields expose platform health and timing.
Platform Positioning
Imp is a Firecracker-on-Kubernetes platform — operator + node agent that turns microVM lifecycle into declarative Kubernetes resources. The core completes without any sandbox component.
imp-sandbox is an optional add-on, not the platform itself. It layers multi-tenant isolation primitives (tenancy tiers, gateway data-plane, per-sandbox tokens) on top of base ImpVM/ImpNetwork. Use base Imp when you need VM orchestration; add sandbox only when you need isolated tenant sandboxes for AI agents or untrusted code.
See Sandbox Overview for when to use base Imp vs. sandbox, and Sandbox Install for the separate chart.
Operational Notes
- Cilium is a first-class networking path.
- Fallback networking is available for non-Cilium environments.
- Deployment pinning (image tags/Helm values) is recommended for repeatability.
imp-runtimeDaemonSet usesupdateStrategy: OnDelete— it never rolls automatically. See Manual — Day 0.- Practical runbooks and day-to-day guidance are in /manual.
