- Add terragrunt-apply step to Argo CI pipeline (plan+apply on main push when infra/live/ or infra/modules/ change) - Bake OpenTofu 1.9.0 + Terragrunt 0.77.12 into ci-builder-cpu image with SHA256 checksum verification - Remove 3 ghost node pools (foxhunt, gitlab, h100-sxm8) from kapsule module to match Scaleway reality - Make terragrunt.hcl single source of truth (remove variable defaults) - Fix GitLab TF state lock methods (POST/DELETE for HTTP backend) - Harden PAT rotation: more retries, verification step, recovery docs - Add weekly PAT expiry check CronJob (warns 14 days before expiry) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
120 lines
2.9 KiB
HCL
120 lines
2.9 KiB
HCL
variable "region" {
|
|
description = "Scaleway region for the Kapsule cluster"
|
|
type = string
|
|
}
|
|
|
|
variable "cluster_name" {
|
|
description = "Name of the Kubernetes cluster"
|
|
type = string
|
|
}
|
|
|
|
variable "k8s_version" {
|
|
description = "Kubernetes version for the Kapsule cluster"
|
|
type = string
|
|
}
|
|
|
|
variable "platform_type" {
|
|
description = "Instance type for the platform node pool"
|
|
type = string
|
|
}
|
|
|
|
variable "platform_max_size" {
|
|
description = "Maximum number of nodes in the platform pool"
|
|
type = number
|
|
}
|
|
|
|
variable "enable_ci_training_l40s_pool" {
|
|
description = "Create L40S GPU node pool for training + hyperopt"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "ci_training_l40s_type" {
|
|
description = "Instance type for the L40S training pool"
|
|
type = string
|
|
default = "L40S-1-48G"
|
|
}
|
|
|
|
variable "ci_training_l40s_max_size" {
|
|
description = "Maximum number of nodes in the L40S training pool"
|
|
type = number
|
|
default = 1
|
|
}
|
|
|
|
variable "enable_ci_training_h100_pool" {
|
|
description = "Create H100 GPU node pool for training + hyperopt"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "ci_training_h100_type" {
|
|
description = "Instance type for the H100 training pool"
|
|
type = string
|
|
default = "H100-1-80G"
|
|
}
|
|
|
|
variable "ci_training_h100_max_size" {
|
|
description = "Maximum number of nodes in the H100 training pool"
|
|
type = number
|
|
default = 1
|
|
}
|
|
|
|
variable "enable_ci_training_h100x2_pool" {
|
|
description = "Create H100x2 GPU node pool for multi-GPU training"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "ci_training_h100x2_type" {
|
|
description = "Instance type for the H100x2 training pool"
|
|
type = string
|
|
default = "H100-2-80G"
|
|
}
|
|
|
|
variable "ci_training_h100x2_max_size" {
|
|
description = "Maximum number of nodes in the H100x2 training pool"
|
|
type = number
|
|
default = 1
|
|
}
|
|
|
|
variable "enable_ci_training_h100_sxm_pool" {
|
|
description = "Create H100-SXM GPU node pool for NVLink multi-GPU training"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "ci_training_h100_sxm_type" {
|
|
description = "Instance type for the H100-SXM training pool"
|
|
type = string
|
|
default = "H100-SXM-2-80G"
|
|
}
|
|
|
|
variable "ci_training_h100_sxm_max_size" {
|
|
description = "Maximum number of nodes in the H100-SXM training pool"
|
|
type = number
|
|
default = 1
|
|
}
|
|
|
|
variable "enable_ci_compile_cpu_pool" {
|
|
description = "Create high-CPU node pool for CI compilation"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "ci_compile_cpu_type" {
|
|
description = "Instance type for the CPU compile pool"
|
|
type = string
|
|
}
|
|
|
|
variable "ci_compile_cpu_max_size" {
|
|
description = "Maximum number of nodes in the CPU compile pool"
|
|
type = number
|
|
default = 1
|
|
}
|
|
|
|
variable "public_ip_disabled" {
|
|
description = "Disable public IPs on all node pools (requires Public Gateway for egress)"
|
|
type = bool
|
|
default = false
|
|
}
|