fix: Some missed env variable changes from PR 2490

Some templates were still using the old environment variable
substition syntax instead of the new one and were not getting
substituted properly.

Also, some places didn't handle the new None vs old empty string ("")
values that come from the conditional environment variable
substitution.

This gets the starter and remote-vllm distributions starting again,
and I tested various permutations of the starter as chroma and
pgvector needed some adjustments to their config classes to handle the
new possible `None` values. And, I had to tweak our `Provider` class
to also handle `None` values, for cases where we disable providers in
the starter config via environment variables.

This may not have caught everything that was missed, but I did grep
around quite a bit to try and find anything lingering.

Signed-off-by: Ben Browning <bbrownin@redhat.com>
This commit is contained in:
Ben Browning 2025-06-26 17:27:17 -04:00
parent 68d8f2186f
commit b69bfab019
19 changed files with 49 additions and 37 deletions

View file

@ -137,6 +137,9 @@ class ChromaVectorIOAdapter(VectorIO, VectorDBsProtocolPrivate):
async def initialize(self) -> None:
if isinstance(self.config, RemoteChromaVectorIOConfig):
if not self.config.url:
raise ValueError("URL is a required parameter for the remote Chroma provider's config")
log.info(f"Connecting to Chroma server at: {self.config.url}")
url = self.config.url.rstrip("/")
parsed = urlparse(url)

View file

@ -10,7 +10,7 @@ from pydantic import BaseModel
class ChromaVectorIOConfig(BaseModel):
url: str
url: str | None
@classmethod
def sample_run_config(cls, url: str = "${env.CHROMADB_URL}", **kwargs: Any) -> dict[str, Any]:

View file

@ -13,11 +13,11 @@ from llama_stack.schema_utils import json_schema_type
@json_schema_type
class PGVectorVectorIOConfig(BaseModel):
host: str = Field(default="localhost")
port: int = Field(default=5432)
db: str = Field(default="postgres")
user: str = Field(default="postgres")
password: str = Field(default="mysecretpassword")
host: str | None = Field(default="localhost")
port: int | None = Field(default=5432)
db: str | None = Field(default="postgres")
user: str | None = Field(default="postgres")
password: str | None = Field(default="mysecretpassword")
@classmethod
def sample_run_config(