public override fun createConfig()

in teamcity-kubernetes-plugin-server/src/main/java/jetbrains/buildServer/clouds/kubernetes/connection/KubernetesCredentialsFactoryImpl.kt [21:49]


    public override fun createConfig(connectionSettings: KubeApiConnection, authStrategy: KubeAuthStrategy): Config {
        var configBuilder = ConfigBuilder()
            .withNamespace(connectionSettings.namespace)
            .withRequestTimeout(DEFAULT_REQUEST_TIMEOUT_MS)
            .withHttp2Disable(true)
            .withConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT_MS)

        if (authStrategy.requiresServerUrl()) {
            configBuilder.withMasterUrl(connectionSettings.apiServerUrl)
        }

        val caCertData = connectionSettings.caCertData
        if (StringUtil.isEmptyOrSpaces(caCertData)) {
            configBuilder.withTrustCerts(true)
        } else {
            configBuilder.withCaCertData(KubeUtils.encodeBase64IfNecessary(caCertData!!))
        }
        configBuilder = authStrategy.apply(configBuilder, connectionSettings)

        val proxySettings = connectionSettings.proxySettings
        val serverProxySettings = getServerProxySettings(connectionSettings, authStrategy)
        if (proxySettings != null) {
            configureProxy(configBuilder, proxySettings)
        } else if (serverProxySettings != null) {
            configureProxy(configBuilder, serverProxySettings)
        }

        return configBuilder.build()
    }