Repository navigation
🪪 fix: Add Admin Panel SSO URL Config - #13220
Conversation
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
Pull request overview
This PR adds an explicit Helm configuration surface for LibreChat’s ADMIN_PANEL_URL and documents the required OpenID SSO redirect URI so separately hosted admin panels don’t fall back to the localhost default during admin OAuth flows.
Changes:
- Added
librechat.adminPanelUrlto the Helm chart values and rendered it intoADMIN_PANEL_URL(with an override mechanism). - Documented Admin Panel SSO setup and the required OpenID provider callback URL in the Helm chart README.
- Added
ADMIN_PANEL_URLto.env.exampleand bumped the Helm chart version to2.0.4.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| helm/librechat/values.yaml | Introduces librechat.adminPanelUrl value for Helm-based deployments. |
| helm/librechat/templates/configmap-env.yaml | Renders ADMIN_PANEL_URL into the ConfigMap when configured. |
| helm/librechat/readme.md | Documents how to configure admin panel SSO and the OpenID redirect URI. |
| helm/librechat/Chart.yaml | Bumps chart version to reflect template/value changes. |
| .env.example | Documents ADMIN_PANEL_URL and clarifies admin OpenID redirect URI usage. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| {{- if and (not (dig "configEnv" "REDIS_URI" "" .Values.librechat)) .Values.redis.enabled }} | ||
| REDIS_URI: redis://{{ include "common.names.fullname" .Subcharts.redis }}-master.{{ .Release.Namespace | lower }}.svc.cluster.local:6379 | ||
| {{- end }} | ||
| {{- if and .Values.librechat.adminPanelUrl (not (hasKey (default dict .Values.librechat.configEnv) "ADMIN_PANEL_URL")) }} |
| # External admin panel origin used for admin OAuth/SSO redirects. | ||
| # Required when deploying the admin panel on a separate URL. | ||
| # Example: https://admin.example.com |
| # External admin panel origin used for admin OAuth/SSO redirects. | ||
| # Required when the admin panel is hosted separately from LibreChat. | ||
| # Example: https://admin.example.com |
GitNexus: 🚀 deployedThe |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ce10bdd2d9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| {{- if and .Values.librechat.adminPanelUrl (not (dig "configEnv" "ADMIN_PANEL_URL" "" .Values.librechat)) }} | ||
| ADMIN_PANEL_URL: {{ .Values.librechat.adminPanelUrl | quote }} |
There was a problem hiding this comment.
Prevent empty configEnv from overriding ADMIN_PANEL_URL fallback
When librechat.configEnv.ADMIN_PANEL_URL is present but empty (""), this block still emits ADMIN_PANEL_URL from librechat.adminPanelUrl, and then toYaml .Values.librechat.configEnv emits a second ADMIN_PANEL_URL key with the empty value. In rendered YAML, the later duplicate key wins, so the container receives an empty ADMIN_PANEL_URL instead of the fallback, which breaks the documented “empty configEnv should fall back” behavior for separated admin-panel SSO deployments.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in 2ec071f. The template now omits an empty configEnv.ADMIN_PANEL_URL from the rendered configEnv map when librechat.adminPanelUrl supplies the fallback, so the chart emits exactly one ADMIN_PANEL_URL. I re-ran git diff --check, helm lint helm/librechat --set mongodb.enabled=false --set meilisearch.enabled=false --set redis.enabled=false --set librechat-rag-api.enabled=false, and dependency-built render assertions for fallback, non-empty override, and empty override cases.
|
@codex review |
|
Codex Review: Didn't find any major issues. Bravo. ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
GitNexus: ❌ deploy failedThe deploy failed — the previous index (if any) continues to be served. |
* fix: Add admin panel URL Helm configuration * fix: Clarify admin panel URL configuration * fix: Avoid duplicate admin panel URL env
* fix: Add admin panel URL Helm configuration * fix: Clarify admin panel URL configuration * fix: Avoid duplicate admin panel URL env
Summary
I added explicit admin panel URL configuration for Helm deployments and documented the OpenID SSO callback requirements so separate admin panel deployments do not fall back to the localhost callback target.
ADMIN_PANEL_URLto.env.examplewith guidance for separately hosted admin panels.librechat.adminPanelUrlto Helm values and rendered it intoADMIN_PANEL_URLunlesslibrechat.configEnv.ADMIN_PANEL_URLis already provided with a non-empty value.2.0.4.Closes #13218
Change Type
Testing
git diff --check.helm lint helm/librechat --set mongodb.enabled=false --set meilisearch.enabled=false --set redis.enabled=false --set librechat-rag-api.enabled=false.librechat.adminPanelUrlemitsADMIN_PANEL_URL,configEnv.ADMIN_PANEL_URLoverrides it when non-empty, and an emptyconfigEnv.ADMIN_PANEL_URLstill falls back tolibrechat.adminPanelUrl.Test Configuration:
helm/librechatChecklist