terraform-modules/example/main.tf

78 lines
2 KiB
HCL

module "project" {
source = "../project"
name = "project-1"
organization_id = var.organization_id
owner_email = "maximilian.schlenz@stackit.cloud"
}
module "security_groups" {
source = "../security-group"
for_each = var.security_groups
project_id = module.project.project_id
name = each.value.name
description = each.value.description
rules = each.value.rules
}
# module "postgres" {
# source = "../postgres"
# for_each = var.postgres_instances
# project_id = module.project.project_id
# name = each.value.name
# ver = each.value.version
# flavor = each.value.flavor
# storage = each.value.storage
# replicas = each.value.replicas
# acl = each.value.acl
# backup_schedule = each.value.backup_schedule
# users = each.value.users
# databases = each.value.databases
# }
module "net" {
depends_on = [module.security_groups]
source = "../network"
for_each = var.networks
project_id = module.project.project_id
name = each.value.name
ipv4_nameservers = each.value.ipv4_nameservers
labels = each.value.labels
nic_ipv4 = each.value.nic_ipv4
nic_name = each.value.nic_name
nic_allowed_addresses = each.value.nic_allowed_addresses
nic_labels = each.value.nic_labels
nic_security = each.value.nic_security
nic_security_group_ids = [
module.security_groups["ssh_ingress_group"].security_group_id,
]
}
# module "ske" {
# source = "../ske"
# for_each = var.ske_clusters
# project_id = module.project.project_id
# name = each.value.name
# kubernetes_version_min = each.value.kubernetes_version_min
# node_pools = each.value.node_pools
# }
# module "observability" {
# source = "../observability"
# for_each = var.observability_instances
# project_id = module.project.project_id
# name = each.value.name
# plan_name = each.value.plan_name
# }