# Vault Agent Configuration - Kratos Runtime
# Renders Kratos secrets (SMTP, cookies, etc.) from secret/data/nexus/kratos
# Note: DSN is static (points to PgBouncer), DB creds are handled by pgbouncer container

pid_file = "/tmp/vault-agent.pid"

vault {
  address = "http://vault.example.local:8200"
}

auto_auth {
  method "approle" {
    config = {
      role_id_file_path   = "/vault/role-id"
      secret_id_file_path = "/vault/secret-id"
      remove_secret_id_file_after_reading = false
    }
  }

  sink "file" {
    config = {
      path = "/vault/token"
      mode = 0644
    }
  }
}

template_config {
  static_secret_render_interval = "5m"
  exit_on_retry_failure         = true
}

template {
  source      = "/vault/templates/kratos-env.ctmpl"
  destination = "/vault/secrets/.env"
  perms       = 0644
}
