Control Plane (L3)
This page details how the IMP operator reconciles CRDs into actionable node-level intent.
Inputs
ImpVM,ImpNetwork,ImpVMSnapshot,ImpVMMigration,ImpWarmPool,RunnerPool.- Cluster-scoped policy/config resources (for classes/profiles/templates).
- Existing status conditions and resource versions.
Reconcile Stages
- Observe: watch/list/get resources and dependencies.
- Validate: confirm dependencies and invariants for requested action.
- Plan: compute minimal diff between desired and observed state.
- Execute: dispatch runtime/network intent to the responsible agent.
- Publish: update status conditions, emit events, and expose metrics.
API Patterns
- Read-heavy from Kubernetes API (watch/list/get).
- Status writes via patch/update with conflict handling.
- Idempotent retries for transient errors and contention.
Reliability Concerns
- Conflict retries on stale
resourceVersion. - Backoff to avoid hot reconcile loops.
- Condition transitions that preserve failure reason visibility.
What to Monitor
- Reconcile duration and queue depth.
- Error rate by reason (
RuntimeStartFailed,NetworkSetupFailed, etc.). - Frequency of status conflicts and retry count.
