Ctrl K
ComunidadGuías…

outputs.tf

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
output "talosconfig" {
  description = "Use with talosctl"
  value       = module.infra.talos_client_configuration.talos_config
  sensitive   = true
}

output "kubeconfig" {
  description = "Use with kubectl"
  value = yamlencode({
    apiVersion = "v1"
    kind       = "Config",
    clusters = [{
      name = local.cluster_name,
      cluster = {
        certificate-authority-data = module.infra.machine_secrets.certs.k8s.cert,
        server                     = "https://${local.cluster_name}.${var.dns_loadbalancer_domain}:6443",
      },
    }],
    contexts = [{
      context = {
        cluster = local.cluster_name,
        user    = var.cluster_oidc_issuer_host,
      },
      name = local.cluster_name,
    }],
    current-context = local.cluster_name,
    users = [{
      name = var.cluster_oidc_issuer_host,
      user = {
        exec = {
          apiVersion = "client.authentication.k8s.io/v1"
          command    = "kubectl",
          args = [
            "oidc-login",
            "get-token",
            "--oidc-issuer-url=https://${var.cluster_oidc_issuer_host}",
            "--oidc-client-id=${var.cluster_oidc_client_id}",
            "--oidc-client-secret=${var.cluster_oidc_client_secret}",
            "--oidc-extra-scope=profile",
            "--oidc-extra-scope=groups",
            "--oidc-pkce-method=S256",
          ],
          interactiveMode    = "Never",
          provideClusterInfo = false,
        },
      },
    }],
  })
  sensitive = true
}

output "machine_secrets" {
  description = "Full access to the cluster if the state is lost"
  value       = yamlencode(module.infra.machine_secrets)
  sensitive   = true
}

output "flux_ssh_public_key" {
  description = "Public SSH key Flux uses to access Git repositories"
  value       = module.k8s.flux_ssh_public_key
}

output "talos_url" {
  description = "URLs to download ISO per node"
  value       = module.infra.talos_url
  sensitive   = false
}

output "talos_image" {
  description = "URLs to use for upgrade images"
  value       = module.infra.talos_image
  sensitive   = false
}

output "talos_image_cache" {
  description = "Image path segment to use for upgrade images if running off the local cahe"
  value = {
    for node, image in module.infra.talos_image : node => provider::corefunc::url_parse("https://${image}").path
  }
  sensitive = false
}

output "nodes" {
  description = "Nodes and their UUIDs"
  value       = module.infra.nodes
  sensitive   = false
}

output "image_cache_serve_cert" {
  value     = module.infra.image_cache_serve_cert
  sensitive = true
}