locals { k8s_config = yamldecode(var.k8s_config_yaml) k8s_host = local.k8s_config.clusters[0].cluster.server k8s_auth = try( { token = local.k8s_config.users[0].user.token using_token = true }, { client_certificate = base64decode(local.k8s_config.users[0].user["client-certificate-data"]) client_key = base64decode(local.k8s_config.users[0].user["client-key-data"]) using_token = false } ) } provider "kubernetes" { host = local.k8s_host insecure = true token = local.k8s_auth.using_token ? local.k8s_auth.token : null client_certificate = local.k8s_auth.using_token ? null : local.k8s_auth.client_certificate client_key = local.k8s_auth.using_token ? null : local.k8s_auth.client_key } provider "helm" { kubernetes { host = local.k8s_host insecure = true token = local.k8s_auth.using_token ? local.k8s_auth.token : null client_certificate = local.k8s_auth.using_token ? null : local.k8s_auth.client_certificate client_key = local.k8s_auth.using_token ? null : local.k8s_auth.client_key } } terraform { required_providers { argocd = { source = "argoproj-labs/argocd" version = "7.0.2" } } } provider "argocd" { server_addr = local.service_uri username = "admin" password = random_password.admin_password.result }