feat: fleet secrets manager #263
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for integrating the Fleet-based secrets manager with the Fleet configuration manager, enabling secure secrets distribution over MQTT. It adds new types and message schemas for secrets management, updates the Fleet configuration manager to bind and handle secrets, and refactors several types and methods for consistency and extensibility. The changes also include improvements to topic handling in the MQTT connection and add necessary configuration fields for secrets management.
Fleet secrets manager integration
agent/agent.goto bind the Fleet secrets manager to the Fleet configuration manager when both are active, ensuring secrets can be resolved during configuration.BindSecretsManagerinFleetConfigManagerto register MQTT topic handlers and bind the secrets manager for secure communication.Secrets message schema and configuration
agent/configmgr/fleet/messages/secrets_messages.go, defining request, response, and update notification structures.FleetSecretsManagertype and related configuration fields to support Fleet secrets manager options inagent/config/types.go.MQTT connection enhancements
MQTTConnection, allowing dynamic handling of secrets-related MQTT topics. [1] [2] [3] [4] [5]TokenResponseTopicsto include secrets request, response, and update topics for proper routing. [1] [2] [3]Refactoring and consistency
fleetConfigManagertoFleetConfigManagerand updated related constructors and methods for clarity and adherence to Go naming conventions. [1] [2] [3] [4] [5] [6] [7]agent/configmgr/fleet_test.go. [1] [2]