# Foundation Infrastructure - Outputs # RFC 0039: ADR-Compliant Foundation Infrastructure # VPC Outputs output "vpc_id" { description = "VPC ID" value = module.vpc.vpc_id } output "vpc_cidr" { description = "VPC CIDR block" value = module.vpc.vpc_cidr } output "private_subnet_ids" { description = "Private subnet IDs" value = module.vpc.private_subnet_ids } output "public_subnet_ids" { description = "Public subnet IDs" value = module.vpc.public_subnet_ids } output "database_subnet_ids" { description = "Database subnet IDs" value = module.vpc.database_subnet_ids } # EKS Outputs output "cluster_name" { description = "EKS cluster name" value = module.eks.cluster_name } output "cluster_endpoint" { description = "EKS cluster API endpoint" value = module.eks.cluster_endpoint } output "cluster_certificate_authority_data" { description = "EKS cluster CA certificate" value = module.eks.cluster_certificate_authority_data sensitive = true } output "cluster_oidc_issuer_url" { description = "OIDC issuer URL for IRSA" value = module.eks.cluster_oidc_issuer_url } # Storage Outputs output "efs_id" { description = "EFS filesystem ID" value = module.storage.efs_id } output "backup_bucket_name" { description = "S3 bucket for backups" value = module.storage.backup_bucket_name } output "blob_bucket_name" { description = "S3 bucket for blob storage" value = module.storage.blob_bucket_name } # NLB Outputs output "nlb_dns_name" { description = "NLB DNS name" value = module.nlb.dns_name } output "nlb_zone_id" { description = "NLB Route53 zone ID" value = module.nlb.zone_id } output "nlb_arn" { description = "NLB ARN" value = module.nlb.arn } # IAM Outputs output "karpenter_role_arn" { description = "Karpenter IAM role ARN" value = module.iam.karpenter_role_arn } output "ebs_csi_role_arn" { description = "EBS CSI driver IAM role ARN" value = module.iam.ebs_csi_role_arn } output "efs_csi_role_arn" { description = "EFS CSI driver IAM role ARN" value = module.iam.efs_csi_role_arn } # kubectl Configuration output "kubectl_config" { description = "kubectl configuration command" value = "aws eks update-kubeconfig --region ${var.aws_region} --name ${module.eks.cluster_name}" } # S3 Module Outputs output "email_blobs_bucket_id" { description = "S3 bucket ID for email blobs" value = module.s3.email_blobs_bucket_id } output "loki_chunks_bucket_id" { description = "S3 bucket ID for Loki log chunks" value = module.s3.loki_chunks_bucket_id } output "tempo_traces_bucket_id" { description = "S3 bucket ID for Tempo traces" value = module.s3.tempo_traces_bucket_id } output "git_lfs_bucket_id" { description = "S3 bucket ID for Git LFS objects" value = module.s3.git_lfs_bucket_id } # IAM Policies for IRSA output "loki_s3_policy_arn" { description = "IAM policy ARN for Loki S3 access" value = module.s3.loki_s3_policy_arn } output "tempo_s3_policy_arn" { description = "IAM policy ARN for Tempo S3 access" value = module.s3.tempo_s3_policy_arn } output "stalwart_s3_policy_arn" { description = "IAM policy ARN for Stalwart S3 access" value = module.s3.stalwart_s3_policy_arn } output "forgejo_s3_policy_arn" { description = "IAM policy ARN for Forgejo S3 access" value = module.s3.forgejo_s3_policy_arn }