[RHIDP-12571] Add Developer Lightspeed #351
[RHIDP-12571] Add Developer Lightspeed #351Jdubrick wants to merge 30 commits intoredhat-developer:mainfrom
Conversation
Code Review by Qodo
1. Unauthenticated sidecar exposed
|
Review Summary by QodoAdd Developer Lightspeed as built-in Helm chart component
WalkthroughsDescription• Adds Developer Lightspeed as built-in default component to RHDH Helm chart • Includes Lightspeed Core sidecar, RAG init container, and dynamic plugins • Provides configuration files, secrets, and volume management for Lightspeed • Adds sync script for upstream Lightspeed config file management • Updates chart version from 5.7.0 to 5.8.0 Diagramflowchart LR
A["Helm Values"] -->|"global.lightspeed config"| B["Lightspeed Feature"]
B -->|"enables"| C["Init Container<br/>RAG Bootstrap"]
B -->|"enables"| D["Sidecar Container<br/>Lightspeed Core"]
B -->|"enables"| E["Dynamic Plugins<br/>Frontend & Backend"]
C -->|"mounts"| F["Runtime Volume<br/>emptyDir/PVC"]
C -->|"mounts"| G["RAG Volume<br/>Vector DB"]
D -->|"mounts"| F
D -->|"mounts"| G
D -->|"loads"| H["ConfigMaps<br/>stack/config/profile"]
D -->|"loads"| I["Secret<br/>LLM Credentials"]
J["Sync Script"] -->|"updates"| H
File Changes1. hack/sync-lightspeed-configs.sh
|
|
fyi @rm3l @gabemontero |
|
/hold still need to add the MCP plugins.. whoops |
gabemontero
left a comment
There was a problem hiding this comment.
an initial pass @Jdubrick ; admittedly, some of my questions may be unwarranted, but let's have the discussion; and yeah, aside from the install team folks, let's get as many eyes on this as possible .... maybe start with @thepetk
also, the second review item from qodo might have some credence ... I did not parse through all the particulars, but my initial scan of it resonated with me
I 'll copy / paste / consolidate its particulars for reference ... curious how it resonates with you:
CONTRIBUTING.md states the vendored Lightspeed config files under files/lightspeed are synced via
hack/sync-lightspeed-configs.sh, but the script’s TARGETS list omits files/lightspeed/secret.yaml.
This allows the secret payload template to drift from upstream without being caught by the sync
script or its --check mode.
hack/sync-lightspeed-configs.sh[R12-16]
+TARGETS=(
+ "lightspeed-core-configs/lightspeed-stack.yaml:${LIGHTSPEED_DIR}/lightspeed-stack.yaml"
+ "llama-stack-configs/config.yaml:${LIGHTSPEED_DIR}/config.yaml"
+ "lightspeed-core-configs/rhdh-profile.py:${LIGHTSPEED_DIR}/rhdh-profile.py"
+)
The documentation points contributors to the sync script for keeping the whole files/lightspeed
directory in sync, but the script only fetches three files. The chart also vendors secret.yaml in
that directory (used to generate the Lightspeed Secret), and it is not covered by the sync targets.
CONTRIBUTING.md[41-65]
hack/sync-lightspeed-configs.sh[12-16]
charts/backstage/vendor/backstage/charts/backstage/files/lightspeed/secret.yaml[1-16]
### Suggested change
Choose one:
1) **Preferred**: Add `secret.yaml` to `TARGETS` (with the correct upstream path), e.g.
```bash
"<upstream-path>/secret.yaml:${LIGHTSPEED_DIR}/secret.yaml"
so --check also validates it.
- If
secret.yamlis intentionally maintained downstream, updateCONTRIBUTING.mdto explicitly list which files are synced and note thatsecret.yamlis excluded by design.```
gabemontero
left a comment
There was a problem hiding this comment.
LGTM @Jdubrick
of course we need to hear from @redhat-developer/rhdh-install on this
|
/cc |
9de7e6a to
8bdfddd
Compare
Code Review by Qodo
1.
|
Review Summary by QodoAdd Developer Lightspeed as built-in Helm chart component
WalkthroughsDescription• Adds Developer Lightspeed as built-in default component to RHDH Helm chart • Includes Lightspeed Core sidecar, RAG init container, and dynamic plugins • Provides configuration files, secrets, and resource defaults for Lightspeed • Adds sync script for vendored Lightspeed configs from upstream repository Diagramflowchart LR
A["Chart Values"] -->|"global.lightspeed config"| B["Lightspeed Defaults"]
B -->|"merge & validate"| C["Lightspeed Configuration"]
C -->|"enabled=true"| D["Init Container<br/>RAG Bootstrap"]
C -->|"enabled=true"| E["Sidecar Container<br/>Lightspeed Core"]
C -->|"enabled=true"| F["ConfigMaps<br/>stack/config/profile"]
C -->|"enabled=true"| G["Secret<br/>LLM Configuration"]
D -->|"mounts"| H["Runtime & RAG Volumes"]
E -->|"mounts"| H
F -->|"mounts"| H
G -->|"env vars"| E
I["Sync Script"] -->|"fetch from upstream"| J["Lightspeed Config Files"]
J -->|"render & transform"| K["Vendored Files"]
File Changes1. hack/sync-lightspeed-configs.sh
|
44058d6 to
e05a7d1
Compare
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
…g it Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
c319bcb to
fbdf484
Compare
|



Description of the change
Which issue(s) does this PR fix or relate to
https://redhat.atlassian.net/browse/RHIDP-12571
How to test changes / Special notes to the reviewer
You should be able to deploy this chart to a cluster and observe that Lightspeed and its components (sidecars) are included by default. This includes config maps and secrets. To enable Lightspeed you would edit the associated secret to enable LLMs and setup their API keys. If you edit the secret in cluster you will need to do a manual rollout of the deployment.
I worked with GPT 5.4 to create a
.mdfile that outlines what you'd need to know to get it up and running with the plugin UI: https://github.com/Jdubrick/rhdh-chart/blob/doc-test/lightspeed.mdChecklist
Chart.yamlaccording to Semantic Versioning.values.yamland added to the corresponding README.md. The pre-commit utility can be used to generate the necessary content. Runpre-commit run --all-filesto run the hooks and then push any resulting changes. The pre-commit Workflow will enforce this and warn you if needed.pre-commithook.ct lintcommand.