Skip to content

feat: migrate intelligent-assistant to unified config (drop llama stack) - #519

Merged
openshift-merge-bot[bot] merged 3 commits into
redhat-developer:mainfrom
Jdubrick:unified-config-v1
Sep 2, 2026
Merged

feat: migrate intelligent-assistant to unified config (drop llama stack)#519
openshift-merge-bot[bot] merged 3 commits into
redhat-developer:mainfrom
Jdubrick:unified-config-v1

Conversation

@Jdubrick

@Jdubrick Jdubrick commented Sep 2, 2026

Copy link
Copy Markdown

Description of the change

  • Drops the llama stack config.yaml from being a volume mount, sync candidate, or documentation reference
  • Bumps chart version
  • Pulls in most recent lightspeed core config + profile from lightspeed-configs upstream
  • Comments out the OKP section
    • If OKP PR lands first, I will rebase and uncomment. If this PR lands first, the opposite. cc @maysunfaisal
  • Adds new 'dev' image of LCORE, this will be updated to an official version for release

Which issue(s) does this PR fix or relate to

https://redhat.atlassian.net/browse/RHIDP-14071
https://redhat.atlassian.net/browse/RHIDP-14064
https://redhat.atlassian.net/browse/RHIDP-14078
https://redhat.atlassian.net/browse/RHIDP-14085

How to test changes / Special notes to the reviewer

Checklist

  • For each Chart updated, version bumped in the corresponding Chart.yaml according to Semantic Versioning.
  • For each Chart updated, variables are documented in the values.yaml and added to the corresponding README.md. The pre-commit utility can be used to generate the necessary content. Run pre-commit run --all-files to run the hooks and then push any resulting changes. The pre-commit Workflow will enforce this and warn you if needed.
  • JSON Schema template updated and re-generated the raw schema via the pre-commit hook.
  • Tests pass using the Chart Testing tool and the ct lint command.
  • If you updated the orchestrator-infra chart, make sure the versions of the Knative CRDs are aligned with the versions of the CRDs installed by the OpenShift Serverless operators declared in the values.yaml file. See Installing Knative Eventing and Knative Serving CRDs for more details.

Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
Signed-off-by: Jordan Dubrick <jdubrick@redhat.com>
@Jdubrick
Jdubrick requested review from a team as code owners September 2, 2026 19:40
@sonarqubecloud

sonarqubecloud Bot commented Sep 2, 2026

Copy link
Copy Markdown

@rhdh-qodo-merge

Copy link
Copy Markdown

PR Summary by Qodo

Migrate Intelligent Assistant to unified Lightspeed Core configuration

✨ Enhancement ⚙️ Configuration changes 📝 Documentation 🕐 40+ Minutes

Grey Divider

AI Description

• Consolidates Llama Stack settings into the unified Lightspeed Core stack configuration.
• Removes the legacy server ConfigMap, mount, values, schema, and sync path.
• Updates sidecar defaults, provider guidance, generated documentation, and chart version.
Diagram

graph TD
  U["Upstream configs"] --> S["Sync script"] --> C["Unified stack"] --> T["Helm templates"] --> M["ConfigMaps"] --> L["Core sidecar"]
  V["Chart values"] --> T
  X["Provider secret"] --> L
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Temporary deprecation bridge
  • ➕ Allows existing server ConfigMap values to survive one release cycle.
  • ➕ Reduces immediate upgrade work for current chart consumers.
  • ➖ Maintains two incompatible configuration paths.
  • ➖ Requires ambiguous precedence and conversion behavior.
  • ➖ Delays removal of unsupported Llama Stack configuration.
2. Generate unified configuration from Helm values
  • ➕ Provides a fully values-driven provider configuration experience.
  • ➕ Avoids requiring users to create a stack ConfigMap.
  • ➖ Creates a large, tightly coupled Helm values schema.
  • ➖ Risks drifting from the upstream Lightspeed Core format.
  • ➖ Makes advanced upstream options harder to expose and maintain.

Recommendation: The PR's direct migration to the upstream unified stack format is the best long-term approach because it removes duplicate configuration ownership and keeps the chart aligned with Lightspeed Core. The breaking removal should remain explicit in release notes; the development image should be replaced with an official release image before publication, while OKP integration can remain a separate coordinated change.

Files changed (16) +184 / -133

Enhancement (2) +130 / -11
lightspeed-stack.yamlAdopt the unified Lightspeed Core stack format +113/-6

Adopt the unified Lightspeed Core stack format

• Embeds the Llama Stack baseline, inference, vector store, validation shield, skills, and citation configuration into the Lightspeed Core stack. Leaves provider examples and the pending RAG/OKP integration disabled for explicit opt-in or later enablement.

charts/rhdh/files/intelligent-assistant/lightspeed-stack.yaml

deployment.yamlRun the sidecar with synthesized unified configuration +17/-5

Run the sidecar with synthesized unified configuration

• Removes the server configuration volume and mount, supplies the synthesized configuration output argument, and establishes writable storage and telemetry environment defaults. Existing argument overrides and additional environment variables remain supported.

charts/rhdh/templates/deployment.yaml

Refactor (2) +4 / -5
_helpers.tplRemove server configuration helper mappings +4/-4

Remove server configuration helper mappings

• Limits Intelligent Assistant file and ConfigMap name resolution to the unified stack and profile entries. Updates naming comments to reflect the reduced ConfigMap set.

charts/rhdh/templates/_helpers.tpl

sync-lightspeed-configs.shStop syncing the legacy Llama Stack file +0/-1

Stop syncing the legacy Llama Stack file

• Removes 'llama-stack-configs/config.yaml' from the vendored configuration targets, leaving the unified stack and RHDH profile.

hack/sync-lightspeed-configs.sh

Tests (2) +1 / -8
action.ymlStop provisioning the legacy server configuration +1/-5

Stop provisioning the legacy server configuration

• Removes creation of the test Llama Stack server ConfigMap and the obsolete logging secret key. Chart tests now provision only the unified stack and profile ConfigMaps.

.github/actions/test-charts/action.yml

with-custom-configuration-values.yamlRemove the custom server ConfigMap fixture +0/-3

Remove the custom server ConfigMap fixture

• Drops the obsolete 'intelligentAssistant.config.server' override from the custom configuration chart test values.

charts/rhdh/ci/with-custom-configuration-values.yaml

Documentation (4) +27 / -25
CONTRIBUTING.mdDocument the reduced Lightspeed configuration sync set +3/-1

Document the reduced Lightspeed configuration sync set

• Updates contributor instructions to sync only the stack and profile files. Documents the temporary downstream RAG/OKP patch and its effect on sync checks.

CONTRIBUTING.md

README.mdDocument unified Intelligent Assistant configuration +13/-13

Document unified Intelligent Assistant configuration

• Updates generated chart metadata and values documentation for version 2.1.0. Removes the server configuration API and explains provider-enabled stack ConfigMaps, credentials, and upgrade requirements.

charts/rhdh/README.md

README.md.gotmplAdd unified configuration migration guidance +6/-2

Add unified configuration migration guidance

• Updates the README source template with provider setup instructions and the chart 2.1.0 removal of the separate Llama Stack server configuration.

charts/rhdh/README.md.gotmpl

secret.example.yamlAlign provider secret examples with unified configuration +5/-9

Align provider secret examples with unified configuration

• Clarifies that Secrets supply credentials rather than enable providers. Removes obsolete provider enablement, Ollama, and Llama Stack logging keys while documenting validation activation.

charts/rhdh/files/intelligent-assistant/secret.example.yaml

Other (6) +22 / -84
Chart.yamlRelease chart version 2.1.0 +1/-1

Release chart version 2.1.0

• Bumps the Red Hat Developer Hub Helm chart from 2.0.0 to 2.1.0 for the breaking configuration migration.

charts/rhdh/Chart.yaml

rhdh-profile.pyRefresh Intelligent Assistant prompts and branding +6/-5

Refresh Intelligent Assistant prompts and branding

• Renames user-facing Lightspeed references to Intelligent Assistant and adapts the validation prompt placeholder to the unified configuration runtime format.

charts/rhdh/files/intelligent-assistant/rhdh-profile.py

intelligent-assistant-configmaps.yamlRender only stack and profile ConfigMaps +1/-1

Render only stack and profile ConfigMaps

• Stops generating the removed Llama Stack server ConfigMap for Intelligent Assistant deployments.

charts/rhdh/templates/intelligent-assistant/intelligent-assistant-configmaps.yaml

values.schema.jsonRegenerate the unified configuration values schema +2/-32

Regenerate the unified configuration values schema

• Removes the server configuration schema, changes the default Lightspeed Core image to the development build, and clarifies argument override semantics.

charts/rhdh/values.schema.json

values.schema.tmpl.jsonRemove server settings from the schema template +1/-25

Remove server settings from the schema template

• Deletes the legacy server configuration definition and documents that argument overrides replace chart defaults.

charts/rhdh/values.schema.tmpl.json

values.yamlUpdate Intelligent Assistant defaults for unified configuration +11/-20

Update Intelligent Assistant defaults for unified configuration

• Removes 'config.server', revises supported Secret keys, and switches Lightspeed Core to the unified-config development image. Clarifies that empty argument overrides use chart-provided defaults.

charts/rhdh/values.yaml

@Jdubrick

Jdubrick commented Sep 2, 2026

Copy link
Copy Markdown
Author

/cc @rm3l

@openshift-ci
openshift-ci Bot requested a review from rm3l September 2, 2026 19:41
@rhdh-qodo-merge

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Sync discards downstream patch 🐞 Bug ⚙ Maintainability
Description
The new chart-specific RAG/OKP patch is not applied by the sync transform, so a normal sync
overwrites it with the upstream file while --check always fails on the expected difference. This
makes the documented synchronization workflow unable to preserve and verify the required downstream
configuration automatically.
Code

charts/rhdh/files/intelligent-assistant/lightspeed-stack.yaml[R146-149]

+# TODO: Re-enable the upstream RAG/OKP configuration when the chart integrates OKP.
+# rag:
+#   okp:
+#     rhokp_url: '${env.OKP_SERVICE_URL:=http://localhost:8080}'
Relevance

●●● Strong

Sync automation overwrites an explicitly required downstream patch; preserving it would restore
reliable sync and check workflows.

PR-#351
PR-#515

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The added block is explicitly required to remain downstream-only, but the configured transform is
copy_fetched_file, which unconditionally copies upstream content. The script compares or replaces
the local file with that unmodified copy and exits nonzero in check mode whenever they differ; the
new documentation confirms this expected failure.

charts/rhdh/files/intelligent-assistant/lightspeed-stack.yaml[146-155]
hack/sync-lightspeed-configs.sh[12-23]
hack/sync-lightspeed-configs.sh[115-145]
CONTRIBUTING.md[34-39]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The Lightspeed synchronization script directly copies the upstream stack configuration, removing the required downstream RAG/OKP comment block. Its check mode also treats that intentional patch as an out-of-sync failure.

## Issue Context
Add a deterministic transformation for `lightspeed-stack.yaml` that reapplies the downstream patch before comparison or installation. Both normal synchronization and `--check` should operate on the transformed result.

## Fix Focus Areas
- hack/sync-lightspeed-configs.sh[12-23]
- hack/sync-lightspeed-configs.sh[115-145]
- charts/rhdh/files/intelligent-assistant/lightspeed-stack.yaml[146-155]
- CONTRIBUTING.md[34-39]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
⚠️ Tickets: not configured — ticket URL found in PR but could not be fetched — check ticket provider credentials
✅ Cross-repo context — repo relationships
  Explored: repo: redhat-developer/rhdh-plugins (sha: a6fe7ec3)

Grey Divider

Tip of the day
💡 Did you know, you can turn on the rule miner and Qodo learns your standards from review history

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@rhdh-qodo-merge rhdh-qodo-merge Bot added documentation Improvements or additions to documentation enhancement New feature or request Tests labels Sep 2, 2026

@maysunfaisal maysunfaisal left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@openshift-ci openshift-ci Bot added the lgtm label Sep 2, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit b60cc88 into redhat-developer:main Sep 2, 2026
12 checks passed
@maysunfaisal

maysunfaisal commented Sep 2, 2026

Copy link
Copy Markdown

@Jdubrick @rm3l Sorry, didnt expect my lgtm would actually merge this PR, otehrwise i would have just done a simple comment

But i will be rebasing #500 with main so i will be picking this up

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request lgtm Tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants