infrastructure/modules/services/main.tf

29 lines
867 B
HCL

terraform {
required_providers {
authentik = {
source = "goauthentik/authentik"
version = "~> 2025.2.0"
}
minio = {
source = "aminueza/minio"
version = "~> 3.5.2"
}
mailcow = {
source = "l-with/mailcow"
version = "~> 0.7.5"
}
postgresql = {
source = "cyrilgdn/postgresql"
version = "~> 1.23.0"
}
}
}
locals {
services_auth = {for key, val in var.services : key => val if val.auth}
services_database = {for key, val in var.services : key => val if val.database}
services_mail = {for key, val in var.services : key => val if val.mail != null}
services_s3 = {for key, val in var.services : key => (val.s3_buckets != null) ? val.s3_buckets : [key] if (val.s3 == "internal")}
buckets_s3 = merge([for key, val in local.services_s3 : {for bucket in val : bucket => key}]...)
}