- kapsule: cluster + 3 node pools (always-on, ci, gpu) - object-storage: S3 bucket with 30-day sccache expiry - registry: private Container Registry namespace - secrets: JWT + DB password via Secret Manager - block-storage: 100GB b_ssd for training data All managed via Terragrunt with shared provider/backend. Gitignore exception added for infra/*/secrets/ (TF code, not actual secrets). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
57 lines
1.3 KiB
HCL
57 lines
1.3 KiB
HCL
resource "scaleway_k8s_cluster" "foxhunt" {
|
|
name = var.cluster_name
|
|
version = var.k8s_version
|
|
cni = "cilium"
|
|
region = var.region
|
|
|
|
auto_upgrade {
|
|
enable = true
|
|
maintenance_window_start_hour = 4
|
|
maintenance_window_day = "sunday"
|
|
}
|
|
|
|
autoscaler_config {
|
|
disable_scale_down = false
|
|
scale_down_delay_after_add = "10m"
|
|
scale_down_unneeded_time = "10m"
|
|
estimator = "binpacking"
|
|
ignore_daemonsets_utilization = true
|
|
}
|
|
}
|
|
|
|
resource "scaleway_k8s_pool" "always_on" {
|
|
cluster_id = scaleway_k8s_cluster.foxhunt.id
|
|
name = "always-on"
|
|
node_type = var.always_on_type
|
|
size = 1
|
|
min_size = 1
|
|
max_size = 1
|
|
autoscaling = false
|
|
autohealing = true
|
|
region = var.region
|
|
}
|
|
|
|
resource "scaleway_k8s_pool" "ci" {
|
|
cluster_id = scaleway_k8s_cluster.foxhunt.id
|
|
name = "ci"
|
|
node_type = var.ci_type
|
|
size = 0
|
|
min_size = 0
|
|
max_size = var.ci_max_size
|
|
autoscaling = true
|
|
autohealing = true
|
|
region = var.region
|
|
}
|
|
|
|
resource "scaleway_k8s_pool" "gpu" {
|
|
cluster_id = scaleway_k8s_cluster.foxhunt.id
|
|
name = "gpu"
|
|
node_type = var.gpu_type
|
|
size = 0
|
|
min_size = 0
|
|
max_size = var.gpu_max_size
|
|
autoscaling = true
|
|
autohealing = true
|
|
region = var.region
|
|
}
|