Files
foxhunt/infra/modules/kapsule/variables.tf
jgrusewski 58f8478320 infra(tf): add platform pool, rename services → foxhunt in Kapsule module
Terraform changes for 3-pool node split:
- New `platform` pool resource (DEV1-L, databases + monitoring)
- Renamed `services` → `foxhunt` pool (DEV1-L, max_size 1)
- Updated variables, outputs, and live terragrunt inputs
- Updated implementation plan with Terraform-based workflow

Apply in 2 phases:
  Phase 1: terragrunt apply -target=scaleway_k8s_pool.platform
  Phase 2: terragrunt apply (after databases migrated to platform)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 09:59:21 +01:00

132 lines
3.2 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 "foxhunt_type" {
description = "Instance type for the foxhunt app services node pool"
type = string
default = "DEV1-L"
}
variable "foxhunt_max_size" {
description = "Maximum number of nodes in the foxhunt pool (autoscaling)"
type = number
default = 1
}
variable "enable_platform_pool" {
description = "Create dedicated node pool for platform infrastructure (databases, monitoring)"
type = bool
default = false
}
variable "platform_type" {
description = "Instance type for the platform infrastructure node pool"
type = string
default = "DEV1-L"
}
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
}