Files
foxhunt/infra/modules/kapsule/variables.tf
jgrusewski 208f6f2392 refactor(infra): rename pools — always-on→services, ci-build→ci-training
Rename Terraform resources and Scaleway pool names for clarity:
- always_on → services (runs postgres, redis, microservices)
- ci_build → ci_training (L40S for hyperopt + training jobs)

Includes:
- moved{} blocks to prevent Terraform state destroy+recreate
- Output renames + new outputs for ci-compile and ci-training pools
- node_selector_overwrite_allowed in runner config (enables per-job
  KUBERNETES_NODE_SELECTOR_* overrides for L4/L40S routing)

MIGRATION (after terragrunt apply):
1. terragrunt apply — recreates pools with new names
2. Update K8s manifests: always-on→services in nodeSelectors
   (postgres, redis, questdb, tailscale, idle-reaper, postgres-init)
3. Update .gitlab-ci.yml: ci-build→ci-training in training jobs
4. Update runner-values.yaml: default pool ci-build→ci-compile
5. helm upgrade gitlab-runner + kubectl apply changed manifests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 10:20:41 +01:00

102 lines
2.4 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 always-on node pool"
type = string
default = "DEV1-M"
}
variable "services_max_size" {
description = "Maximum number of nodes in the always-on 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_compile_pool" {
description = "Create L4 GPU node pool for CI compilation + testing"
type = bool
default = false
}
variable "ci_compile_type" {
description = "Instance type for the CI compile pool (L4 for CUDA compilation)"
type = string
default = "L4-1-24G"
}
variable "ci_compile_max_size" {
description = "Maximum number of nodes in the CI compile 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_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
}