Files
foxhunt/infra/modules/kapsule/outputs.tf
jgrusewski 5380bd9186 infra: split GPU pool into training (H100) and inference (L4), add auto-taint
- Split single H100 GPU pool into two purpose-specific pools:
  - gpu-training: H100-1-80G (€2.73/hr) for 10-model ensemble training
  - gpu-inference: L4-1-24G (€0.75/hr) for cost-effective trading inference
- Add GPU taint controller DaemonSet that auto-taints new GPU nodes
  with nvidia.com/gpu=true:NoSchedule to prevent non-GPU workloads
- Fix service log directory permissions with emptyDir volumes
  (observability init fails creating /app/logs as non-root user)
- Increase postgres max_connections from 25 to 100
  (7 services each requesting connection pools exhausted the limit)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:39:56 +01:00

36 lines
1016 B
HCL

output "cluster_id" {
description = "ID of the Kapsule cluster"
value = scaleway_k8s_cluster.foxhunt.id
}
output "kubeconfig" {
description = "Kubeconfig file content for the cluster"
value = scaleway_k8s_cluster.foxhunt.kubeconfig[0].config_file
sensitive = true
}
output "apiserver_url" {
description = "URL of the Kubernetes API server"
value = scaleway_k8s_cluster.foxhunt.apiserver_url
}
output "always_on_pool_id" {
description = "ID of the always-on node pool"
value = scaleway_k8s_pool.always_on.id
}
output "ci_pool_id" {
description = "ID of the CI node pool"
value = scaleway_k8s_pool.ci.id
}
output "gpu_training_pool_id" {
description = "ID of the GPU training node pool"
value = var.enable_gpu_training_pool ? scaleway_k8s_pool.gpu_training[0].id : ""
}
output "gpu_inference_pool_id" {
description = "ID of the GPU inference node pool"
value = var.enable_gpu_inference_pool ? scaleway_k8s_pool.gpu_inference[0].id : ""
}