# Module for creating Postgres Flex Instance with Databases and Users ## Example ```main.tf # Postgres Flex Instance module "postgres-flex" { source = "git::https://commerce-platform.git.onstackit.cloud/commerce-platform-public/terraform-modules//postgres?ref=main stackit_project_id = local.stackit_project_id postgres_instance_name = "example-db" postgres_instance_replicas = 1 postgres_instance_storage = { class = "premium-perf2-stackit" size = 5 } postgres_instance_flavor = { cpu = 2 ram = 4 } postgres_instance_acl = [ "193.148.160.0/19", "45.129.40.0/21" ] postgres_instance_backup_schedule = "00 02 * * *" postgres_instance_version = "17" postgres_instance_region = "eu01" postgres_databases = [ { db_name = "database-a" user_name = "user-a" user_roles = ["createdb", "login"] }, { db_name = "database-b" user_name = "user-b" user_roles = ["createdb", "login"] }, ] } # safe credentials module "postgres-credentials-sm-a" { source = "git::https://commerce-platform.git.onstackit.cloud/commerce-platform-public/terraform-modules//create-secret?ref=main" secret_manager_instance_id = local.secret_manager_instance_id secret_manager_username = var.secret_manager_username secret_manager_password = var.secret_manager_password secrets_path = "service-a/postgres" secret_data = module.postgres-flex.postgres_credentials["user-a"] } module "postgres-credentials-sm-b" { source = "git::https://commerce-platform.git.onstackit.cloud/commerce-platform-public/terraform-modules//create-secret?ref=main" secret_manager_instance_id = local.secret_manager_instance_id secret_manager_username = var.secret_manager_username secret_manager_password = var.secret_manager_password secrets_path = "service-b/postgres" secret_data = module.postgres-flex.postgres_credentials["user-b"] } ```