This MVP issue focuses on developing the "Agent centralized configuration command" use case. The agent will utilize the "command manager" component to receive requests from the manager. Two types of request will be set-group and update-group, which will include a group (or set of groups) which the agent belongs to. The agent will then respond with the following actions:
Download the related files from the server.
Read them in the order specified by the request and validate them.
Once validated, either apply them to all modules or restart the agent.
Functional requirements
Command Reception:
The agent must be able to receive update-configuration requests from the manager through the "command manager" component.
File Download:
The agent must download the configuration files listed in the request from the server.
File Reading and Validation:
The agent must read the configuration files in the specified order.
The agent must validate each configuration file to ensure it is error-free.
Configuration Application:
If validation is successful, the agent must apply the new configuration to all relevant modules.
If required, the agent must be able to restart to apply the new configuration fully.
Non-functional requirements
Performance:
The configuration update process should be efficient and not significantly impact the agent’s performance.
Reliability:
The agent must reliably validate and apply configurations without causing errors or downtime.
Security:
The agent must securely download configuration files, ensuring they are not tampered with.
Scalability:
The solution should scale with the number of configuration files and the size of the agent’s environment.
Implementation restrictions
Command-Based Implementation:
This functionality must be implemented as a command within the agent.
Configuration Format:
The configuration will be in TOML format, spread across multiple files (one per agent group).
Validation:
The configuration must be validated before application. The agent should never accept a configuration that produces errors.
Plan
Module Integration:
Integrate with the existing configuration module to handle the reading and validation of TOML files.
Server-Side Implementation:
Implement the necessary server-side logic to send the update-configuration requests with the appropriate configuration files.
Agent-Side Implementation:
Implement the agent-side logic to:
Receive update-configuration requests.
Download the specified configuration files.
Read and validate the configuration files.
Apply the validated configuration or restart the agent as needed.
Testing and Validation:
Thoroughly test the entire workflow to ensure reliability, security, and performance.
Validate that the agent correctly handles valid and invalid configurations.
Ensure seamless integration with the server-side implementation.
Parent issue:
Description
This MVP issue focuses on developing the "Agent centralized configuration command" use case. The agent will utilize the "command manager" component to receive requests from the manager. Two types of request will be
set-group
andupdate-group
, which will include a group (or set of groups) which the agent belongs to. The agent will then respond with the following actions:Functional requirements
update-configuration
requests from the manager through the "command manager" component.Non-functional requirements
Implementation restrictions
Plan
update-configuration
requests with the appropriate configuration files.update-configuration
requests.Requirement Traceability Matrix