Poly is a project focused on implementing and managing agents that can run plans in various environments
The project consists of a mesh server which is the single source of truth, and agents that can be extended and implemented according to the developer's needs.
- The agent registers itself with the API
- The agent is polling the API periodically, and the API returns a list of runs it needs to execute
- When an agent receives a shutdown signal, it makes an API call to deregister itself
The mesh server provides an API for the agents to interact with and retrieve runs they need to execute
The server also comes with built in routines. As an example, a routine that assigns a run to an agent
Every agent has labels to identify it, and a list of plans it implements
- A plan can be a piece of code for executing a terraform plan
- Agents that implement the same plans can run with different labels, i.e.
prodordev
When there's a run request, it specifies which plan should run and the required agent labels to decide which agents can execute the run
Createdis the initial status- The status changes to
Pendingwhen an agent is assigned - The status changes to
Runningwhen an agent starts to execute a run Success/Errorare the usual outcomes of a runCanceledstatus is given if the run didn't complete due to a shutdown signal

