- 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>
34 lines
782 B
HCL
34 lines
782 B
HCL
resource "random_password" "jwt_secret" {
|
|
length = 64
|
|
special = false
|
|
}
|
|
|
|
resource "random_password" "db_password" {
|
|
length = 32
|
|
special = false
|
|
}
|
|
|
|
resource "scaleway_secret" "jwt" {
|
|
name = "foxhunt-jwt-secret"
|
|
project_id = var.project_id
|
|
region = var.region
|
|
}
|
|
|
|
resource "scaleway_secret_version" "jwt" {
|
|
secret_id = scaleway_secret.jwt.id
|
|
data = base64encode(random_password.jwt_secret.result)
|
|
region = var.region
|
|
}
|
|
|
|
resource "scaleway_secret" "db_password" {
|
|
name = "foxhunt-db-password"
|
|
project_id = var.project_id
|
|
region = var.region
|
|
}
|
|
|
|
resource "scaleway_secret_version" "db_password" {
|
|
secret_id = scaleway_secret.db_password.id
|
|
data = base64encode(random_password.db_password.result)
|
|
region = var.region
|
|
}
|