Technical overview¶
Argos uses an agent and server architecture. The server is responsible for storing the configuration and the results of the checks. The agent is responsible for running the checks and sending the results to the server.
Sequence diagram¶
sequenceDiagram
participant Agent
participant Server
loop
Agent->>Server: Hey, do you have some work for me?
Server-->>Agent: Here is some work
Agent->>Agent: Run checks
Agent->>Server: Here are the results
Server->>Server: Determine severity
Server->>Server: Store results
end
Orchestration¶
The server acts like a job queue. When an agent asks for work, the server will:
mark the tasks as "selected by" the agent
store the current date
When it receives the results, it will:
Remove the "selected by" and "selected at" fields
Compute the next execution date.
Send alerts if needed