llama-stack-mirror/llama_stack/templates
Sébastien Han 9654dd9da1
refactor(env)!: enhanced environment variable substitution
This commit significantly improves the environment variable substitution
functionality in Llama Stack configuration files:
* The version field in configuration files has been changed from string
  to integer type for better type consistency across build and run
  configurations.

* The environment variable substitution system for ${env.FOO:} was fixed
  and properly returns an error

* The environment variable substitution system for ${env.FOO+} returns
  None instead of an empty strings, it better matches type annotations
  in config fields

* The system includes automatic type conversion for boolean, integer,
  and float values.

* The error messages have been enhanced to provide clearer guidance when
  environment variables are missing, including suggestions for using
  default values or conditional syntax.

* Comprehensive documentation has been added to the configuration guide
  explaining all supported syntax patterns, best practices, and runtime
  override capabilities.

* Multiple provider configurations have been updated to use the new
  conditional syntax for optional API keys, making the system more
  flexible for different deployment scenarios. The telemetry
  configuration has been improved to properly handle optional endpoints
  with appropriate validation, ensuring that required endpoints are
  specified when their corresponding sinks are enabled.

* There were many instances of ${env.NVIDIA_API_KEY:} that should have
  caused the code to fail. However, due to a bug, the distro server was
  still being started, and early validation wasn’t triggered. As a
  result, failures were likely being handled downstream by the
  providers.  I’ve maintained similar behavior by using
  ${env.NVIDIA_API_KEY:+}, though I believe this is incorrect for many
  configurations. I’ll leave it to each provider to correct it as
  needed.

* Environment variable substitution now uses the same syntax as Bash
  parameter expansion.

Signed-off-by: Sébastien Han <seb@redhat.com>
2025-06-25 15:59:04 +02:00
..
bedrock refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
cerebras refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
ci-tests refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
dell refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
experimental-post-training feat: add huggingface post_training impl (#2132) 2025-05-16 14:41:28 -07:00
fireworks refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
groq refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
hf-endpoint refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
hf-serverless refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
llama_api refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
meta-reference-gpu refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
nvidia refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
ollama refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
open-benchmark refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
passthrough refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
postgres-demo refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
remote-vllm refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
sambanova refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
starter refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
tgi refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
together refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
vllm-gpu refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
watsonx refactor(env)!: enhanced environment variable substitution 2025-06-25 15:59:04 +02:00
__init__.py Auto-generate distro yamls + docs (#468) 2024-11-18 14:57:06 -08:00
template.py feat: add deps dynamically based on metastore config (#2405) 2025-06-05 14:07:25 -07:00