@@ -1436,8 +1436,7 @@ func addMonitoring(ac *automationconfig.AutomationConfig, log *zap.SugaredLogger
14361436 if ! tls {
14371437 // Clear TLS-specific params when TLS is disabled to prevent monitoring from
14381438 // trying to use certificate files that no longer exist.
1439- // We only clear TLS fields, preserving any other additionalParams that may be set.
1440- clearTLSParamsFromAdditionalParams (monitoringVersions [i ].AdditionalParams )
1439+ clearTLSParams (monitoringVersions [i ].AdditionalParams )
14411440 if len (monitoringVersions [i ].AdditionalParams ) == 0 {
14421441 monitoringVersions [i ].AdditionalParams = nil
14431442 }
@@ -1455,7 +1454,8 @@ func addMonitoring(ac *automationconfig.AutomationConfig, log *zap.SugaredLogger
14551454 if pem := p .Args26 .Get ("net.tls.certificateKeyFile" ); pem != nil {
14561455 pemKeyFile = pem .String ()
14571456 }
1458- monitoringVersion .AdditionalParams = buildTLSAdditionalParams (appdbCAFilePath , pemKeyFile )
1457+ monitoringVersion .AdditionalParams = map [string ]string {}
1458+ addTLSParams (monitoringVersion .AdditionalParams , appdbCAFilePath , pemKeyFile )
14591459 }
14601460 log .Debugw ("Added monitoring agent configuration" , "host" , p .HostName , "tls" , tls )
14611461 monitoringVersions = append (monitoringVersions , monitoringVersion )
@@ -1464,31 +1464,25 @@ func addMonitoring(ac *automationconfig.AutomationConfig, log *zap.SugaredLogger
14641464 ac .MonitoringVersions = monitoringVersions
14651465}
14661466
1467- // buildTLSAdditionalParams creates the additionalParams map for monitoring with TLS enabled.
1468- // This is the single source of truth for TLS params - clearTLSParamsFromAdditionalParams
1469- // uses this function to determine which keys to remove.
1470- func buildTLSAdditionalParams (caFilePath string , pemKeyFile string ) map [string ]string {
1471- params := map [string ]string {
1472- "useSslForAllConnections" : "true" ,
1473- "sslTrustedServerCertificates" : caFilePath ,
1474- }
1467+ // TLS param keys for monitoring additionalParams.
1468+ const (
1469+ tlsParamUseSsl = "useSslForAllConnections"
1470+ tlsParamTrustedCert = "sslTrustedServerCertificates"
1471+ tlsParamClientCert = "sslClientCertificate"
1472+ )
1473+
1474+ func addTLSParams (params map [string ]string , caFilePath , pemKeyFile string ) {
1475+ params [tlsParamUseSsl ] = "true"
1476+ params [tlsParamTrustedCert ] = caFilePath
14751477 if pemKeyFile != "" {
1476- params ["sslClientCertificate" ] = pemKeyFile
1478+ params [tlsParamClientCert ] = pemKeyFile
14771479 }
1478- return params
14791480}
14801481
1481- // clearTLSParamsFromAdditionalParams removes TLS-specific fields from the monitoring
1482- // version's additionalParams map. It derives which keys to remove from buildTLSAdditionalParams,
1483- // ensuring add and remove operations always stay in sync.
1484- func clearTLSParamsFromAdditionalParams (additionalParams map [string ]string ) {
1485- if additionalParams == nil {
1486- return
1487- }
1488- // Use non-empty dummy values to get all possible TLS param keys
1489- for key := range buildTLSAdditionalParams ("_" , "_" ) {
1490- delete (additionalParams , key )
1491- }
1482+ func clearTLSParams (params map [string ]string ) {
1483+ delete (params , tlsParamUseSsl )
1484+ delete (params , tlsParamTrustedCert )
1485+ delete (params , tlsParamClientCert )
14921486}
14931487
14941488// registerAppDBHostsWithProject uses the Hosts API to add each process in the AppDB to the project
0 commit comments