29 lines
867 B
HCL
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}]...)
|
|
}
|