9e2c21131f
The vault-plugin-secrets-litellm engine mints LiteLLM virtual keys and is now registered in Vault, but nothing declared its mount/config or roles in this repo. Wire in the companion litellm provider so the mount is managed as code alongside the other secret backends. - Add litellm_secret_backend module: mounts the engine and writes its config (base_url, request_timeout_seconds); reads master_key from KV - Add litellm_secret_backend_role module: manages roles (models, max_budget, key_alias_prefix, ttl/max_ttl seconds, metadata) - Register both modules in vault_cluster main.tf and variables.tf - Discover litellm_secret_backend[_role] YAML in config.hcl and pass them through terragrunt inputs - Declare the litellm provider (litellmvaultsecret) and a provider block in the generated root backend.tf - Add example config for the litellm mount and a sample role
38 lines
960 B
Terraform
38 lines
960 B
Terraform
variable "country" {
|
|
description = "Country identifier (used to locate the KV secret holding the master key)"
|
|
type = string
|
|
}
|
|
|
|
variable "region" {
|
|
description = "Region identifier (used to locate the KV secret holding the master key)"
|
|
type = string
|
|
}
|
|
|
|
variable "path" {
|
|
description = "Mount path of the LiteLLM secrets engine"
|
|
type = string
|
|
}
|
|
|
|
variable "plugin" {
|
|
description = "Registered plugin name/type to mount"
|
|
type = string
|
|
default = "vault-plugin-secrets-litellm"
|
|
}
|
|
|
|
variable "description" {
|
|
description = "Human-friendly description of the mount"
|
|
type = string
|
|
default = null
|
|
}
|
|
|
|
variable "base_url" {
|
|
description = "Base URL of the LiteLLM proxy (e.g. http://litellm.litellm.svc:4000)"
|
|
type = string
|
|
}
|
|
|
|
variable "request_timeout_seconds" {
|
|
description = "HTTP timeout in seconds for calls from the plugin to the LiteLLM proxy"
|
|
type = number
|
|
default = 30
|
|
}
|