---
credentials:
master_key:
description: "Admin master key of the LiteLLM gateway; consumers use per-consumer virtual keys, never this one"
algorithm: "alphanumeric"
validation:
min_length: 50
ui_password:
description: "Login password of the LiteLLM admin UI (served at /ui, proxied by web-app-litellm)"
algorithm: "alphanumeric"
validation:
min_length: 32
openai_api_key:
description: "OpenAI API key; empty leaves the openai/* models unpublished. The pattern rejects a truncated or whitespace-carrying paste, not a vendor prefix:
OpenAI moved from sk- to sk-proj- without notice, and a schema that pinned the prefix would reject a valid key"
type: "string"
regex: "\\S{20,}"
default: "{{ lookup('api', 'openai.api_key') }}"
anthropic_api_key:
description: "Anthropic API key; empty leaves the anthropic/* models unpublished"
type: "string"
regex: "\\S{20,}"
default: "{{ lookup('api', 'anthropic.api_key') }}"
openrouter_api_key:
description: "OpenRouter API key; empty leaves openrouter/auto unpublished"
type: "string"
regex: "\\S{20,}"
default: "{{ lookup('api', 'openrouter.api_key') }}"