- 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>
36 lines
1016 B
HCL
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 : ""
|
|
}
|