override fun fillAdditionalSettings()

in teamcity-kubernetes-plugin-server/src/main/java/jetbrains/buildServer/clouds/kubernetes/auth/KubeconfigAuthStrategy.kt [91:113]


    override fun fillAdditionalSettings(additionalSettings: MutableMap<String, Any>, projectId: String, isAvailable: Boolean) {
        if (!isAvailable) {
            additionalSettings.put("contextNames", emptyList<String>())
            additionalSettings.put("currentContext", "")
            return;
        }
        val contextsNames = arrayListOf<String>()
        var currentContextName = ""
        try {
            val content = readKubeconfigContent()
            if (!content.isNullOrEmpty()) {
                val config = KubeConfigUtils.parseConfigFromString(content)
                contextsNames.addAll(config.contexts.map{it.name})
                currentContextName = config.currentContext
            };
        } catch (ex: Exception) {
            LOG.warnAndDebugDetails("Error listing kubeconfig contexts", ex)
            additionalSettings.put("kubeconfig-error", ex.toString())
        } finally {
            additionalSettings.put("contextNames", contextsNames)
            additionalSettings.put("currentContext", currentContextName)
        }
    }