output "cluster_name" {
  description = "AKS cluster name."
  value       = azurerm_kubernetes_cluster.main.name
}

output "cluster_id" {
  description = "Fully-qualified AKS cluster resource id."
  value       = azurerm_kubernetes_cluster.main.id
}

output "cluster_fqdn" {
  description = "Public FQDN of the cluster's API server."
  value       = azurerm_kubernetes_cluster.main.fqdn
}

output "resource_group_name" {
  description = "Resource group containing the cluster."
  value       = azurerm_resource_group.main.name
}

output "oidc_issuer_url" {
  description = "OIDC issuer URL — used to federate Microsoft Entra Workload IDs onto Kubernetes ServiceAccounts."
  value       = azurerm_kubernetes_cluster.main.oidc_issuer_url
}

output "kubelet_identity_object_id" {
  description = "Object id of the kubelet identity (used when granting AcrPull etc. for ACR integration)."
  value       = azurerm_kubernetes_cluster.main.kubelet_identity[0].object_id
}

output "vnet_id" {
  description = "Dedicated VNet id."
  value       = azurerm_virtual_network.main.id
}

output "node_subnet_id" {
  description = "Subnet id the node pools live in."
  value       = azurerm_subnet.nodes.id
}

output "kubeconfig_path" {
  description = "Path to the rendered kubeconfig (relative to the working dir)."
  value       = local_sensitive_file.kubeconfig.filename
}

output "location" {
  description = "Azure region the cluster lives in."
  value       = var.location
}

output "subscription_id" {
  description = "Azure subscription id."
  value       = var.subscription_id
}

# Tier-2 → Tier-3 hand-off shape. The CLI projects this into ~/.aries/cluster/<name>/cluster.yaml.
output "service_target" {
  description = "ServiceTarget(kubernetes) shape consumed by the Tier-3 service plane."
  value = {
    kind          = "kubernetes"
    cloud         = "azure"
    cluster_name  = azurerm_kubernetes_cluster.main.name
    region        = var.location
    namespace     = "aries-datalake"
    ingress_class = "nginx"
    storage_class = "managed-csi"
    kubeconfig    = local_sensitive_file.kubeconfig.filename
  }
}
