Workstream 1 — NAT Gateway: - New public-gateway TF module (VPC-GW-S, masquerade, push_default_route) - Disable public IPs on all 6 Kapsule node pools - Terragrunt live config with kapsule dependency Workstream 2 — Scaleway Cockpit Metrics: - New cockpit TF module (data source, push token, Grafana user) - Grafana Alloy k8s-monitoring Helm values (node-exporter, kube-state-metrics) - DCGM Exporter DaemonSet for GPU metrics (affinity on nvidia.com/gpu.present) - GitLab Prometheus remote_write to Cockpit (filtered to gitlab_/gitaly_/sidekiq_) - Apply-order runbook (3 phases: Cockpit → GitLab → NAT) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
673 B
HCL
32 lines
673 B
HCL
variable "region" {
|
|
description = "Scaleway region"
|
|
type = string
|
|
}
|
|
|
|
variable "zone" {
|
|
description = "Scaleway zone for the gateway"
|
|
type = string
|
|
}
|
|
|
|
variable "project_id" {
|
|
description = "Scaleway project ID"
|
|
type = string
|
|
}
|
|
|
|
variable "private_network_id" {
|
|
description = "ID of the existing VPC private network to attach the gateway to"
|
|
type = string
|
|
}
|
|
|
|
variable "gateway_type" {
|
|
description = "Public Gateway instance type (VPC-GW-S, VPC-GW-M)"
|
|
type = string
|
|
default = "VPC-GW-S"
|
|
}
|
|
|
|
variable "bastion_enabled" {
|
|
description = "Enable SSH bastion on the gateway"
|
|
type = bool
|
|
default = false
|
|
}
|