11use crate :: agent_control:: AgentControl ;
2- use crate :: agent_control:: config:: K8sConfig ;
2+ use crate :: agent_control:: config:: { AgentControlConfigError , K8sConfig } ;
33use crate :: agent_control:: config_repository:: repository:: AgentControlConfigLoader ;
44use crate :: agent_control:: config_repository:: store:: AgentControlConfigStore ;
55use crate :: agent_control:: config_validator:: RegistryDynamicConfigValidator ;
@@ -23,6 +23,7 @@ use crate::opamp::instance_id::k8s::getter::{Identifiers, get_identifiers};
2323use crate :: opamp:: operations:: build_opamp_with_channel;
2424use crate :: opamp:: remote_config:: validators:: SupportedRemoteConfigValidator ;
2525use crate :: opamp:: remote_config:: validators:: regexes:: RegexValidator ;
26+ use crate :: secrets_provider:: SecretsProvidersRegistry ;
2627use crate :: sub_agent:: effective_agents_assembler:: LocalEffectiveAgentsAssembler ;
2728use crate :: sub_agent:: identity:: AgentIdentity ;
2829use crate :: sub_agent:: k8s:: builder:: SupervisorBuilderK8s ;
@@ -132,10 +133,21 @@ impl AgentControlRunner {
132133 let template_renderer = TemplateRenderer :: default ( )
133134 . with_agent_control_variables ( agent_control_variables. clone ( ) . into_iter ( ) ) ;
134135
136+ let secrets_providers = if let Some ( config) = & agent_control_config. secrets_providers {
137+ SecretsProvidersRegistry :: try_from ( config. clone ( ) ) . map_err ( |e| {
138+ AgentError :: ConfigResolve ( AgentControlConfigError :: Load ( format ! (
139+ "Failed to load secrets providers: {e}"
140+ ) ) )
141+ } ) ?
142+ } else {
143+ HashMap :: default ( )
144+ } ;
145+
135146 let agents_assembler = Arc :: new ( LocalEffectiveAgentsAssembler :: new (
136147 self . agent_type_registry . clone ( ) ,
137148 template_renderer,
138149 self . agent_type_var_constraints ,
150+ secrets_providers,
139151 ) ) ;
140152
141153 let supervisor_builder =
0 commit comments