-
Notifications
You must be signed in to change notification settings - Fork 51
feat(vanity-gateway): add the LLM Gateway endpoint chart knob #1025
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -110,6 +110,9 @@ | |
| "nvcfApiEndpoint": { | ||
| "$ref": "#/definitions/nonEmptyString" | ||
| }, | ||
| "llmGatewayEndpoint": { | ||
| "type": "string" | ||
| }, | ||
| "otelExporterOtlpEndpoint": { | ||
| "type": "string" | ||
| }, | ||
|
|
@@ -140,12 +143,11 @@ | |
| }, | ||
| "vanity": { | ||
| "$ref": "#/definitions/vanityRoutes" | ||
| }, | ||
| "llmGateway": { | ||
| "$ref": "#/definitions/llmGatewayRoutes" | ||
| } | ||
| }, | ||
| "required": [ | ||
| "openai", | ||
| "vanity" | ||
| ], | ||
| "additionalProperties": true | ||
| } | ||
| }, | ||
|
|
@@ -341,6 +343,36 @@ | |
| "functionID" | ||
| ], | ||
| "additionalProperties": true | ||
| }, | ||
| "llmGatewayRoutes": { | ||
| "type": "object", | ||
| "additionalProperties": { | ||
| "$ref": "#/definitions/llmGatewayRoute" | ||
| } | ||
| }, | ||
| "llmGatewayRoute": { | ||
| "type": "object", | ||
| "properties": { | ||
| "host": { | ||
| "$ref": "#/definitions/nonEmptyString" | ||
| }, | ||
| "customHeaders": { | ||
| "type": "object", | ||
| "additionalProperties": { | ||
| "type": "string" | ||
| } | ||
| }, | ||
|
Comment on lines
+359
to
+364
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift Do not store raw credentials in Lines [359-364] accept arbitrary string values. The README at Lines [9-15] states that route configuration is serialized into a ConfigMap-backed file. A user who places an authorization token or API key in 🤖 Prompt for AI Agents |
||
| "eol": { | ||
| "type": "string" | ||
| }, | ||
| "offlineMessage": { | ||
| "type": "string" | ||
| } | ||
| }, | ||
| "required": [ | ||
| "host" | ||
| ], | ||
| "additionalProperties": true | ||
|
Comment on lines
+347
to
+375
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift Add committed chart tests for the new configuration contract. Add tests for default and override endpoint rendering, the required route As per coding guidelines, "Code changes must include tests." 🤖 Prompt for AI AgentsSource: Coding guidelines |
||
| } | ||
| }, | ||
| "additionalProperties": true | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -48,6 +48,8 @@ vanityGateway: | |
| config: | ||
| mappingPath: /etc/vanity-gateway/config/config.yaml | ||
| nvcfApiEndpoint: http://invocation.nvcf.svc.cluster.local:8080 | ||
| # Used only by hosts declared under mappingConfig.v2config.llmGateway. | ||
| llmGatewayEndpoint: http://llm-api-gateway.nvcf.svc.cluster.local:8080 | ||
|
Comment on lines
+51
to
+52
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win Move the cluster-local endpoint out of the chart default. Line [52] adds a deployment-specific cluster-local URL. This exposes internal topology to chart consumers and can fail in clusters that use another Service name. Supply the endpoint through deployment-specific values instead. Require an explicit override when As per coding guidelines, "Do not add ... internal hostnames or URLs, private service names ... that external readers cannot access." 🤖 Prompt for AI AgentsSource: Coding guidelines |
||
| otelExporterOtlpEndpoint: "" | ||
| secretsPath: "" | ||
| privateModelNameRegexPattern: "" | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Align schema validation with the startup requirement.
Line [114] accepts
"". A values file can configure an LLM Gateway host and still pass Helm schema validation. The ConfigMap then renders an emptyLLM_GATEWAY_ENDPOINT, although the README states that the endpoint is required at startup. Encode the conditional requirement, or usenonEmptyStringif an empty endpoint is never valid.Possible fix when an empty endpoint is never valid
📝 Committable suggestion
🤖 Prompt for AI Agents