This is an automated email from the ASF dual-hosted git repository. astefanutti pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit f19bd194cd8b3a06ec9aff709b0d3ba894bc5e90 Author: Antonin Stefanutti <[email protected]> AuthorDate: Mon Jan 13 12:43:34 2020 +0100 feat(jolokia): Add default client principals for OpenShift 4 --- pkg/trait/jolokia.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkg/trait/jolokia.go b/pkg/trait/jolokia.go index bc8c37e..1e63040 100644 --- a/pkg/trait/jolokia.go +++ b/pkg/trait/jolokia.go @@ -92,7 +92,6 @@ func (t *jolokiaTrait) Configure(e *Environment) (bool, error) { setDefaultJolokiaOption(options, &t.Protocol, "protocol", "https") setDefaultJolokiaOption(options, &t.CaCert, "caCert", "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt") setDefaultJolokiaOption(options, &t.ExtendedClientCheck, "extendedClientCheck", true) - setDefaultJolokiaOption(options, &t.ClientPrincipal, "clientPrincipal", "cn=system:master-proxy") setDefaultJolokiaOption(options, &t.UseSslClientAuthentication, "useSslClientAuthentication", true) } @@ -136,7 +135,16 @@ func (t *jolokiaTrait) Apply(e *Environment) (err error) { // Then add explicitly set trait configuration properties addToJolokiaOptions(options, "caCert", t.CaCert) - addToJolokiaOptions(options, "clientPrincipal", t.ClientPrincipal) + if options["clientPrincipal"] == "" && t.ClientPrincipal == nil && e.DetermineProfile() == v1.TraitProfileOpenShift { + // TODO: simplify when trait array options are supported + // Master API proxy for OpenShift 3 + addToJolokiaOptions(options, "clientPrincipal.1", "cn=system:master-proxy") + // Default Hawtio and Fuse consoles for OpenShift 4 + addToJolokiaOptions(options, "clientPrincipal.2", "cn=hawtio-online.hawtio.svc") + addToJolokiaOptions(options, "clientPrincipal.3", "cn=fuse-console.fuse.svc") + } else { + addToJolokiaOptions(options, "clientPrincipal", t.ClientPrincipal) + } addToJolokiaOptions(options, "discoveryEnabled", t.DiscoveryEnabled) addToJolokiaOptions(options, "extendedClientCheck", t.ExtendedClientCheck) addToJolokiaOptions(options, "host", t.Host) @@ -211,5 +219,9 @@ func addToJolokiaOptions(options map[string]string, key string, value interface{ if v != nil { options[key] = *v } + case string: + if v != "" { + options[key] = v + } } }
