Files
foxhunt/infra/modules/kapsule/variables.tf
jgrusewski c731bef759 feat(infra): split training image into RL + supervised, rename ci-compile → ci-rl
RL models (DQN/PPO) only need basic CUDA runtime (~2GB), while supervised
models need cuDNN (~4GB). Splitting saves ~2GB pull time per RL job.
Rename the L4 GPU pool from ci-compile to ci-rl to reflect its actual use.
Add DaemonSet image pre-puller to cache training images on GPU nodes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 10:16:42 +01:00

120 lines
2.8 KiB
HCL

variable "region" {
description = "Scaleway region for the Kapsule cluster"
type = string
}
variable "cluster_name" {
description = "Name of the Kubernetes cluster"
type = string
default = "foxhunt"
}
variable "k8s_version" {
description = "Kubernetes version for the Kapsule cluster"
type = string
default = "1.34"
}
variable "services_type" {
description = "Instance type for the services node pool"
type = string
default = "DEV1-M"
}
variable "services_max_size" {
description = "Maximum number of nodes in the services pool (autoscaling)"
type = number
default = 2
}
variable "enable_gitlab_pool" {
description = "Create dedicated node pool for GitLab CE"
type = bool
default = false
}
variable "gitlab_type" {
description = "Instance type for the GitLab node pool"
type = string
default = "DEV1-L"
}
variable "enable_ci_rl_pool" {
description = "Create L4 GPU node pool for RL training + hyperopt"
type = bool
default = false
}
variable "ci_rl_type" {
description = "Instance type for the CI RL pool (L4 for DQN/PPO training)"
type = string
default = "L4-1-24G"
}
variable "ci_rl_max_size" {
description = "Maximum number of nodes in the CI RL pool"
type = number
default = 1
}
variable "enable_ci_training_pool" {
description = "Create L40S GPU node pool for training + hyperopt"
type = bool
default = false
}
variable "ci_training_type" {
description = "Instance type for the CI training pool (L40S for 48GB VRAM training)"
type = string
default = "L40S-1-48G"
}
variable "ci_training_max_size" {
description = "Maximum number of nodes in the CI training pool"
type = number
default = 1
}
variable "enable_ci_compile_cpu_pool" {
description = "Create high-CPU node pool for CI compilation (no GPU needed)"
type = bool
default = false
}
variable "ci_compile_cpu_type" {
description = "Instance type for the CPU compile pool (32 vCPU, 128GB RAM, no GPU)"
type = string
default = "POP2-32C-128G"
}
variable "ci_compile_cpu_max_size" {
description = "Maximum number of nodes in the CPU compile pool"
type = number
default = 1
}
variable "enable_dev_pool" {
description = "Create CPU node pool for remote development (DevPod)"
type = bool
default = false
}
variable "dev_pool_type" {
description = "Instance type for the dev node pool"
type = string
default = "GP1-L"
}
variable "dev_pool_max_size" {
description = "Maximum number of nodes in the dev 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
}