output "aws_region" {
  value = var.aws_region
}

output "ecr_web_repository_url" {
  value = aws_ecr_repository.web.repository_url
}

output "ecr_worker_repository_url" {
  value = aws_ecr_repository.worker.repository_url
}

output "eks_cluster_name" {
  value = module.eks.cluster_name
}

output "eks_cluster_endpoint" {
  value = module.eks.cluster_endpoint
}

output "rds_endpoint" {
  value     = aws_db_instance.postgres.address
  sensitive = true
}

output "rds_proxy_endpoint" {
  value = aws_db_proxy.main.endpoint
}

output "redis_endpoint" {
  value = aws_elasticache_replication_group.main.primary_endpoint_address
}

output "github_deploy_role_arn" {
  value       = aws_iam_role.github_deploy.arn
  description = "Set as AWS_DEPLOY_ROLE_ARN in GitHub repository secrets"
}

output "app_secrets_arn" {
  value = aws_secretsmanager_secret.app.arn
}

output "nextauth_url" {
  value = "https://${var.domain_name}"
}

output "post_deploy_commands" {
  value = <<-EOT
    # Configure kubectl
    aws eks update-kubeconfig --region ${var.aws_region} --name ${module.eks.cluster_name}

    # Install AWS Load Balancer Controller (one-time)
    helm repo add eks https://aws.github.io/eks-charts
    helm upgrade --install aws-load-balancer-controller eks/aws-load-balancer-controller \
      -n kube-system \
      --set clusterName=${module.eks.cluster_name} \
      --set serviceAccount.create=true \
      --set serviceAccount.name=aws-load-balancer-controller \
      --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=${module.aws_load_balancer_controller_irsa.iam_role_arn}

    # Deploy app (or push to main branch for GitHub Actions)
    ./deploy/scripts/deploy-k8s.sh ${var.aws_region} ${module.eks.cluster_name} latest
  EOT
}
