10
10
******************************************************************************/
11
11
package com.redhat.devtools.intellij.kubernetes.model.client
12
12
13
+ import com.intellij.util.net.ssl.CertificateManager
13
14
import com.redhat.devtools.intellij.kubernetes.model.util.isUnauthorized
14
15
import io.fabric8.kubernetes.client.Client
15
16
import io.fabric8.kubernetes.client.Config
@@ -53,12 +54,16 @@ abstract class ClientAdapter<C: KubernetesClient>(private val fabric8Client: C)
53
54
54
55
companion object Factory {
55
56
fun create (namespace : String? = null, context : String? = null): ClientAdapter <out KubernetesClient > {
56
- return create(namespace, Config .autoConfigure(context))
57
+ val config = Config .autoConfigure(context)
58
+ setAcceptCertificates(config)
59
+ return create(namespace, config)
57
60
}
58
61
59
62
fun create (namespace : String? = null, config : Config ): ClientAdapter <out KubernetesClient > {
60
63
setNamespace(namespace, config)
61
- val kubeClient = KubernetesClientBuilder ().withConfig(config).build()
64
+ val kubeClient = KubernetesClientBuilder ()
65
+ .withConfig(config)
66
+ .build()
62
67
val osClient = kubeClient.adapt(NamespacedOpenShiftClient ::class .java)
63
68
val isOpenShift = isOpenShift(osClient)
64
69
return if (isOpenShift) {
@@ -68,6 +73,12 @@ abstract class ClientAdapter<C: KubernetesClient>(private val fabric8Client: C)
68
73
}
69
74
}
70
75
76
+ private fun setAcceptCertificates (config : Config ) {
77
+ val manager = CertificateManager .getInstance().state;
78
+ config.isTrustCerts = manager.ACCEPT_AUTOMATICALLY
79
+ config.isDisableHostnameVerification = manager.ACCEPT_AUTOMATICALLY
80
+ }
81
+
71
82
private fun isOpenShift (osClient : NamespacedOpenShiftClient ): Boolean {
72
83
return try {
73
84
osClient.isSupported
0 commit comments