Categories:
Deployment of an agent in ATRIA
Guidelines for the deployment of newly created agents in ATRIA
Introduction
The current document includes comprehensive guidelines that serves as the foundational framework for the deployment of customized agents within ATRIA.
To deploy an agent in the aura config provisioning it is necessary to generate the following files in the corresponding folders.
Agents Base
In this folder, it is necessary to include the agents that are available to build. To do this, a json file must be generated with the data of this new agent.
Here is an example.
{
"id": "XXXX-XXXX-XXXX-YYYYYYYYYYYYYY",
"name": "test-agent",
"description": "An agent test",
"language": "python",
"version": "1.0.0"
}
Where:
- id: Unique identifier for the agent.
- name: Name of the agent.
- description: Description of the agent.
- language: Programming language used for the agent.
- version: Version of the agent.
These fields can also be added, removed or edited from the api. Also changes made by the api directly will not be persisted between releases.
Agents Deployment
In this folder, developers must define the agent to be deployed, associated with the [Docker image version]((/docs/atria/technical-guidelines/agents-management/agents-technical-development/docker-image/) previously created.
For this purpose, generate a json file with the data of this new agent.
Here is an example.
{
"id": "XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"name": "test-agent",
"config": {},
"secrets": {},
"image": "XXXX/agent-test",
"tag": "X.X.X"
}
Where:
- id: Unique identifier for the agent.
- name: Name of the agent.
- config: Assign configuration assigned to in the agent’s environment (can be empty).
- secrets: Assign secrets assigned to in the agent’s environment (can be empty).
- image: Docker image of the agent.
- tag: Tag of the Docker image.
These fields cannot be updated from the api.
Agents
In this folder, developers must include the information regarding te agent to be deployed, together with its configuration and information.
You can display the same agent image but with different information or configuration.
Here is an example.
{
"id": "XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"name": "test-agent",
"deploymentName": "test-deployment-agent",
"description": "A test agent",
"communication": {
"communicationType": "http"
},
"agentBase": {
"name": "test-agent",
"configuration": {}
}
}
Where:
- id: Unique identifier for the agent.
- name: Name of the agent. This value is the name we want to give to the agent and is not related to the name we have at code level. Therefore, we can deploy several different agents with the same code base.
- deploymentName: Name of the deployment of the agent, this value allows grouping several agents to the same deployment name.
- description: Description of the agent.
- communication: Communication type of the agent, in this case it is HTTP.
- agentBase: Information about the base agent, including its name and configuration.
- agentBase.name: Name of the base agent, this value allows you to associate the agent with the image of the agent you want to deploy. This value is associated with the name that comes by reference with the value of the get_class_ref of the developed agent.
- agentBase.configuration: Configuration parameters for the agent (can be empty).
These fields can also be added, removed or edited from the api. Also changes made by the api directly will not be persisted between releases.
Applications
For the agent to be used in ATRIA, it must be associated to an existing application.
For this purpose, within the general process for the configuration of an application, edit the field agents with the list of agents’ identifiers to be associated to the application.
Here is an example.
{
"brand": "ZZZZ",
"id": "YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"name": "test-agent-app",
"agents": [
"XXXX-XXXX-XXXX-XXXXXXXXXXXX"
]
}
These fields can also be added, removed or edited from the api. Also changes made by the api directly will not be persisted between releases.