2.9 KiB
2.9 KiB
Zastava Runtime Observer (CRI Container Lifecycle Tracking)
Module
Zastava
Status
IMPLEMENTED
Description
Full CRI-based container runtime observer with lifecycle tracking, state tracking, and polling. Supports both CRI (Linux) and Docker Windows runtimes.
Implementation Details
- Observer Program:
src/Zastava/StellaOps.Zastava.Observer/Program.cs-- CRI-based observer entry point - CRI runtime:
src/Zastava/StellaOps.Zastava.Observer/ContainerRuntime/Cri/--CriRuntimeClient.cs,CriRuntimeClientFactory.cs,CriModels.cs,CriConversions.csfor CRI socket-based container monitoring - ContainerStateTracker:
src/Zastava/StellaOps.Zastava.Observer/ContainerRuntime/ContainerStateTracker.cs-- tracks container lifecycle state transitions - ContainerLifecycleHostedService:
src/Zastava/StellaOps.Zastava.Observer/Worker/ContainerLifecycleHostedService.cs-- background service for lifecycle event processing - ContainerRuntimePoller:
src/Zastava/StellaOps.Zastava.Observer/Worker/ContainerRuntimePoller.cs-- polls container runtime for state changes - RuntimeEventBuffer:
src/Zastava/StellaOps.Zastava.Observer/Runtime/RuntimeEventBuffer.cs-- buffers events before dispatch - RuntimeEventDispatchService:
src/Zastava/StellaOps.Zastava.Observer/Worker/RuntimeEventDispatchService.cs-- dispatches events to backend - RuntimeEventFactory:
src/Zastava/StellaOps.Zastava.Observer/Worker/RuntimeEventFactory.cs-- creates typed runtime events - ObserverBootstrapService:
src/Zastava/StellaOps.Zastava.Observer/Worker/ObserverBootstrapService.cs-- observer startup and initialization - BackoffCalculator:
src/Zastava/StellaOps.Zastava.Observer/Worker/BackoffCalculator.cs-- exponential backoff for retry logic - RuntimeFactsClient:
src/Zastava/StellaOps.Zastava.Observer/Backend/RuntimeFactsClient.cs-- client for posting runtime facts to backend - RuntimeEventsClient:
src/Zastava/StellaOps.Zastava.Observer/Backend/RuntimeEventsClient.cs-- client for posting runtime events - ZastavaObserverOptions:
src/Zastava/StellaOps.Zastava.Observer/Configuration/ZastavaObserverOptions.cs-- observer configuration - Tests:
src/Zastava/__Tests/StellaOps.Zastava.Observer.Tests/--ContainerRuntimePollerTests.cs,Runtime/RuntimeEventBufferTests.cs,Worker/RuntimeEventFactoryTests.cs,Backend/RuntimeEventsClientTests.cs - Source: Feature matrix scan
E2E Test Plan
- Verify CRI runtime client connects to CRI socket and lists containers
- Test container state tracker detects start/stop/restart lifecycle events
- Verify runtime event buffer batches and dispatches events efficiently
- Test both Linux CRI and Windows Docker runtime support
- Verify observer bootstrap initializes and recovers from failures with backoff
- Test runtime facts and events are posted to backend clients