2.3 KiB
2.3 KiB
Zastava Agent (VM/Bare-Metal Docker Socket Deployment)
Module
Zastava
Status
IMPLEMENTED
Description
Standalone agent for VM and bare-metal hosts that monitors Docker socket events for container lifecycle tracking. Alternative to the CRI-based Observer for non-Kubernetes environments, with systemd service deployment and Ansible provisioning support.
Implementation Details
- Agent Program:
src/Zastava/StellaOps.Zastava.Agent/Program.cs-- standalone agent entry point - DockerSocketClient:
src/Zastava/StellaOps.Zastava.Agent/Docker/DockerSocketClient.cs-- Docker socket client for monitoring container events via Unix/named pipe socket - IDockerSocketClient:
src/Zastava/StellaOps.Zastava.Agent/Docker/IDockerSocketClient.cs-- Docker socket client interface - DockerEventModels:
src/Zastava/StellaOps.Zastava.Agent/Docker/DockerEventModels.cs-- Docker event payload models (start, stop, die, etc.) - DockerEventHostedService:
src/Zastava/StellaOps.Zastava.Agent/Worker/DockerEventHostedService.cs-- background service consuming Docker socket events - RuntimeEventBuffer:
src/Zastava/StellaOps.Zastava.Agent/Worker/RuntimeEventBuffer.cs-- buffers runtime events for batch dispatch - RuntimeEventDispatchService:
src/Zastava/StellaOps.Zastava.Agent/Worker/RuntimeEventDispatchService.cs-- dispatches buffered events to backend - RuntimeEventsClient:
src/Zastava/StellaOps.Zastava.Agent/Backend/RuntimeEventsClient.cs-- HTTP client for posting events to platform backend - HealthCheckHostedService:
src/Zastava/StellaOps.Zastava.Agent/Worker/HealthCheckHostedService.cs-- agent health check background service - ZastavaAgentOptions:
src/Zastava/StellaOps.Zastava.Agent/Configuration/ZastavaAgentOptions.cs-- agent configuration - AgentServiceCollectionExtensions:
src/Zastava/StellaOps.Zastava.Agent/Worker/AgentServiceCollectionExtensions.cs-- DI registration - Source: SPRINT_0420_0001_0001_zastava_hybrid_gaps.md
E2E Test Plan
- Verify agent connects to Docker socket and receives container lifecycle events
- Test event buffering and batch dispatch to platform backend
- Verify agent handles Docker socket reconnection on connection loss
- Test health check service reports agent status
- Verify agent works on both Linux (Unix socket) and Windows (named pipe) hosts