argos/docs/developer/overview.md
2024-09-26 05:09:34 +02:00

33 lines
1,001 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
description: An agent and a server, thats all.
---
# 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
```{mermaid}
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