JSON Structured Secrets

module "app_config" {
  source  = "registry.patterneddesigns.ca/patterneddesigns/secrets-manager/aws"
  version = "2.1.0"

  name = "prod/app/configuration"
  secret_string = jsonencode({
    database = {
      host     = "db.example.com"
      port     = 5432
      username = "app_user"
      password = var.db_password
      ssl      = true
    }
    redis = {
      host     = "redis.example.com"
      port     = 6379
      password = var.redis_password
    }
    oauth = {
      client_id     = var.oauth_client_id
      client_secret = var.oauth_client_secret
      redirect_uri  = "https://app.example.com/callback"
    }
    feature_flags = {
      enable_beta    = true
      max_batch_size = 100
    }
  })

  kms_key_id = module.kms.key_id
}