32 lines
2.3 KiB
Markdown
32 lines
2.3 KiB
Markdown
# 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
|