terraform-modules/mongodb/mongodb.tf
2025-05-06 09:30:27 +02:00

48 lines
1.7 KiB
HCL

// MongoDB Instance
resource "stackit_mongodbflex_instance" "this" {
project_id = var.stackit_project_id
name = var.mongodb_instance_name
acl = var.mongodb_instance_acl
backup_schedule = var.mongodb_instance_backup_schedule
flavor = var.mongodb_instance_flavor
options = var.mongodb_instance_options
replicas = var.mongodb_instance_replicas
storage = var.mongodb_instance_storage
version = var.mongodb_instance_version
}
// MongoDB User
resource "stackit_mongodbflex_user" "this" {
project_id = var.stackit_project_id
instance_id = stackit_mongodbflex_instance.this.instance_id
username = var.mongodb_user_name
roles = var.mongodb_user_roles
database = var.mongodb_user_database
}
# // Configure Secret Manager Provider
# provider "vault" {
# address = "https://prod.sm.eu01.stackit.cloud"
# skip_child_token = true
# auth_login_userpass {
# username = var.secret_manager_username
# password = var.secret_manager_password
# }
# }
# // Store MongoDB Credentials in Secret Manager
# resource "vault_kv_secret_v2" "mongodb_cred_save" {
# mount = var.secret_manager_instance_id
# name = var.mongodb_secrets_path
# cas = 1
# delete_all_versions = true
# data_json = jsonencode(
# {
# username = stackit_mongodbflex_user.mongodb_user.username,
# password = stackit_mongodbflex_user.mongodb_user.password,
# host = stackit_mongodbflex_user.mongodb_user.host,
# port = stackit_mongodbflex_user.mongodb_user.port,
# uri = stackit_mongodbflex_user.mongodb_user.uri
# }
# )
# }