mirror of
https://github.com/open-webui/helm-charts.git
synced 2026-07-22 18:05:24 -04:00
ExtraEnvVars does not support secrets for Open WebUI Chart #35
Closed
opened 2026-02-15 19:15:39 -05:00 by yindo
·
8 comments
No Branch/Tag Specified
main
gh-pages
feat-oikb
feat-release-v0.10.2
automation/open-webui-0.10.2
feat-release-v0.10.1
automation/open-webui-0.10.1
feat-release-v0.10.0
automation/open-webui-0.10.0
feat-terminals-security
fix-openai-base-urls
v6.0.0
revert-196-issue-184/add-milvus
release-pipelines-v0.1.0
open-webui-15.2.1-dev.94.1
open-webui-15.2.1-dev.93.1
open-webui-15.2.1-dev.92.1
open-webui-15.2.1-dev.88.1
open-webui-15.2.1-dev.89.1
open-webui-15.2.1-dev.90.1
open-webui-15.2.1-dev.91.1
open-webui-15.2.1-dev.87.1
open-webui-15.2.1-dev.85.1
open-webui-15.2.1-dev.86.1
open-webui-15.2.1-dev.84.1
open-webui-15.2.1-dev.69.1
open-webui-15.2.1-dev.70.1
open-webui-15.2.1-dev.71.1
open-webui-15.2.1-dev.72.1
open-webui-15.2.1-dev.73.1
open-webui-15.2.1-dev.74.1
open-webui-15.2.1-dev.75.1
open-webui-15.2.1-dev.76.1
open-webui-15.2.1-dev.77.1
open-webui-15.2.1-dev.78.1
open-webui-15.2.1-dev.79.1
open-webui-15.2.1-dev.80.1
open-webui-15.2.1-dev.81.1
open-webui-15.2.1-dev.82.1
open-webui-15.2.1-dev.83.1
open-webui-15.2.1-dev.66.1
open-webui-15.2.1-dev.67.1
open-webui-15.2.1-dev.68.1
open-webui-15.2.1-dev.55.1
open-webui-15.2.1-dev.56.1
open-webui-15.2.1-dev.57.1
open-webui-15.2.1-dev.58.1
open-webui-15.2.1-dev.59.1
open-webui-15.2.1-dev.60.1
open-webui-15.2.1-dev.61.1
open-webui-15.2.1-dev.62.1
open-webui-15.2.1-dev.63.1
open-webui-15.2.1-dev.64.1
open-webui-15.2.1-dev.65.1
open-webui-15.2.1-dev.49.1
open-webui-15.2.1-dev.50.1
open-webui-15.2.1-dev.51.1
open-webui-15.2.1-dev.52.1
open-webui-15.2.1-dev.53.1
open-webui-15.2.1-dev.54.1
open-webui-15.2.1-dev.39.1
open-webui-15.2.1-dev.40.1
open-webui-15.2.1-dev.41.1
open-webui-15.2.1-dev.42.1
open-webui-15.2.1-dev.43.1
open-webui-15.2.1-dev.44.1
open-webui-15.2.1-dev.45.1
open-webui-15.2.1-dev.46.1
open-webui-15.2.1-dev.47.1
open-webui-15.2.1-dev.48.1
open-webui-15.2.1-dev.26.1
open-webui-15.2.1-dev.27.1
open-webui-15.2.1-dev.28.1
open-webui-15.2.1-dev.29.1
open-webui-15.2.1-dev.30.1
open-webui-15.2.1-dev.31.1
open-webui-15.2.1-dev.32.1
open-webui-15.2.1-dev.33.1
open-webui-15.2.1-dev.35.1
open-webui-15.2.1-dev.36.1
open-webui-15.2.1-dev.37.1
open-webui-15.2.1-dev.38.1
open-webui-15.2.1-dev.34.1
open-webui-15.2.1-dev.24.1
open-webui-15.2.1-dev.25.1
open-webui-15.2.1-dev.22.1
open-webui-15.2.1-dev.23.1
open-webui-15.2.1-dev.20.1
open-webui-15.2.1-dev.21.1
open-webui-15.2.1-dev.18.1
open-webui-15.2.1-dev.17.1
open-webui-15.2.1-dev.19.1
open-webui-15.2.1-dev.16.1
open-webui-15.2.0
open-webui-15.1.1-dev.15.1
open-webui-15.1.1-dev.14.1
open-webui-15.1.1-dev.13.1
open-webui-15.1.1-dev.12.1
open-webui-15.1.1-dev.11.1
open-webui-15.1.1-dev.10.1
open-webui-15.1.1-dev.7.1
open-webui-15.1.1-dev.6.1
open-webui-15.1.1-dev.9.1
open-webui-15.1.1-dev.8.1
open-webui-15.1.0
open-webui-15.0.0
terminals-0.5.0
open-webui-14.11.0
open-webui-14.10.0
pipelines-0.12.0
open-webui-14.9.0
open-webui-14.8.0
open-webui-14.7.0
terminals-0.4.0
open-webui-14.6.0
open-webui-14.5.0
open-webui-14.4.0
open-webui-14.3.0
terminals-0.3.0
open-webui-14.2.0
open-webui-14.1.0
open-webui-14.0.0
open-webui-13.3.1
open-webui-13.3.0
open-webui-13.2.1
open-webui-13.2.0
open-webui-13.1.2
open-webui-13.1.1
open-webui-13.1.0
open-webui-13.0.1
terminals-0.2.0
open-webui-13.0.0
terminals-0.1.0
open-webui-12.13.0
open-webui-12.12.0
open-webui-12.11.0
open-webui-12.10.0
open-webui-12.9.0
open-webui-12.8.1
open-webui-12.8.0
pipelines-0.11.0
open-webui-12.7.0
open-webui-12.6.0
open-webui-12.5.0
open-webui-12.4.0
open-webui-12.3.0
open-webui-12.2.0
open-webui-12.1.1
open-webui-12.1.0
open-webui-12.0.1
pipelines-0.10.1
open-webui-12.0.0
open-webui-11.1.0
open-webui-11.0.0
open-webui-10.2.1
open-webui-10.2.0
open-webui-10.1.0
open-webui-10.0.0
open-webui-9.0.0
open-webui-8.22.1
open-webui-8.22.0
open-webui-8.21.0
open-webui-8.20.0
open-webui-8.19.0
open-webui-8.18.0
open-webui-8.17.0
open-webui-8.16.0
open-webui-8.15.0
open-webui-8.14.0
open-webui-8.13.0
open-webui-8.12.3
open-webui-8.12.2
pipelines-0.10.0
open-webui-8.12.1
open-webui-8.12.0
open-webui-8.11.0
open-webui-8.10.0
open-webui-8.9.0
open-webui-8.8.0
open-webui-8.7.0
open-webui-8.6.0
open-webui-8.5.0
open-webui-8.4.0
open-webui-8.3.0
open-webui-8.2.0
pipelines-0.9.0
pipelines-0.8.0
open-webui-8.1.0
open-webui-8.0.0
open-webui-7.7.0
open-webui-7.6.0
open-webui-7.5.0
open-webui-7.4.0
open-webui-7.3.0
open-webui-7.2.0
open-webui-7.1.0
open-webui-7.0.1
open-webui-7.0.0
open-webui-6.29.0
open-webui-6.28.0
open-webui-6.27.0
open-webui-6.26.0
open-webui-6.25.0
open-webui-6.24.0
open-webui-6.23.0
open-webui-6.22.0
open-webui-6.21.0
open-webui-6.20.0
open-webui-6.19.0
open-webui-6.18.0
open-webui-6.17.0
pipelines-0.7.0
open-webui-6.16.0
open-webui-6.15.0
open-webui-6.14.0
open-webui-6.13.0
open-webui-6.12.0
open-webui-6.11.0
open-webui-6.10.0
pipelines-0.6.0
open-webui-6.9.0
open-webui-6.8.0
open-webui-6.7.0
open-webui-6.6.0
open-webui-6.5.0
open-webui-6.4.0
open-webui-6.3.0
open-webui-6.2.0
open-webui-6.1.0
open-webui-6.0.0
open-webui-5.26.0
open-webui-5.25.0
open-webui-5.24.0
open-webui-5.23.0
pipelines-0.5.0
open-webui-5.22.0
open-webui-5.21.0
open-webui-5.20.0
open-webui-5.19.0
pipelines-0.4.0
open-webui-5.18.0
open-webui-5.17.0
pipelines-0.3.0
open-webui-5.16.1
open-webui-5.16.0
pipelines-0.2.0
open-webui-5.15.0
open-webui-5.14.0
open-webui-5.13.0
open-webui-5.12.0
open-webui-5.11.0
open-webui-5.10.1
open-webui-5.10.0
open-webui-5.4.0
open-webui-5.3.0
pipelines-0.1.0
open-webui-5.2.0
open-webui-5.1.1
open-webui-5.1.0
open-webui-5.0.1
open-webui-5.0.0
open-webui-4.1.0
open-webui-4.0.7
pipelines-0.0.6
open-webui-4.0.6
pipelines-0.0.5
open-webui-4.0.5
open-webui-4.0.4
open-webui-4.0.3
open-webui-4.0.2
open-webui-4.0.1
v3.8.0
open-webui-3.8.0
open-webui-4.0.0
v3.7.0
v3.6.0
v1.0.0
open-webui-3.6.0
open-webui-3.5.1
open-webui-3.5.0
open-webui-3.4.3
open-webui-3.4.0
open-webui-3.3.2
open-webui-3.3.1
open-webui-3.3.0
open-webui-3.2.0
open-webui-3.1.19
open-webui-3.1.18
open-webui-3.1.17
open-webui-3.1.16
open-webui-3.1.15
open-webui-3.1.14
open-webui-3.1.13
open-webui-3.1.12
open-webui-3.1.11
open-webui-3.1.10
open-webui-3.1.9
open-webui-3.1.8
open-webui-3.1.7
open-webui-3.1.6
pipelines-0.0.4
open-webui-3.1.5
open-webui-3.1.4
open-webui-3.1.3
open-webui-3.1.2
open-webui-3.1.1
open-webui-3.1.0
open-webui-3.0.10
open-webui-3.0.9
open-webui-3.0.8
open-webui-3.0.7
open-webui-3.0.6
open-webui-3.0.5
open-webui-3.0.4
open-webui-3.0.3
open-webui-3.0.2
pipelines-0.0.3
open-webui-3.0.1
pipelines-0.0.2
open-webui-3.0.0
pipelines-0.0.1
open-webui-2.1.0
open-webui-2.0.2
open-webui-2.0.1
open-webui-1.0.1
open-webui-1.0.0
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: open-webui/helm-charts#35
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @saip92 on GitHub (Sep 27, 2024).
The Open WebUI Chart places the
extraEnvVarsinto a config map which doesn't allow secrets to be used though thevalues.yamlmentions otherwise.I suppose the simplest fix would be to move the environment variables directly into the stateful set instead of config map like the pipelines chart.
@ocraviotto commented on GitHub (Sep 28, 2024):
Just came to say something similar. The changed introduced with #85 removed the option to have env vars directly templated into the
containeres[0].envobject. As reported, the main use case is secrets like this:I am not sure what is the advantage of ConfigMaps other than they can be referenced by multiple containers without having to repeat the same variables (I could imagine an init container requiring some values in some cases, but so far that's not the case with OpenWebUI), but given the amount of sensitive values that can be used here, and that some users might have external secrets to consume them, I'd like to see #88 merged to revert the change.
If someone would still like to see ConfigMaps used, then the ConfigMap added in #85 could be reused, but offering a new
extraEnvFromConfigMap(or similar) dictionary to append to the CM instead, while keeping the originalextraEnvVarsto add tocontaineres[0].env(no issues with moving non-sensitive variables such as URLs to the config map).To consider when using envFrom, and why
extraEnvVarsshould be templated last into containers[0].env`:@saip92 commented on GitHub (Sep 28, 2024):
Thanks for adding that context! I noticed the config map was not used and just kind of assumed it wasn't intentional. I should've checked the history 😅.
Does the config map approach offer anything more compared to direct environment variables that I might be missing apart from reuse? I'm not sure what the intention was in #85.
Looks like #22 talks about sharing the config map between ollama and open-webui, but I suppose that is not the default?
I could update my PR to your suggestion so both exist and secrets would have to be only in
extraEnvVarsbut unless they really need to be shared, it could be confusing to users on where to put which environment variables IMO.@ocraviotto commented on GitHub (Sep 28, 2024):
#22 talks about the
OLLAMA_BASE_URLSenv var. I don't see it's used anywhere else than in Open WebUI, so not about sharing anything with Ollama (which is a dependency, a child chart that could share variables with Open WebUI but so far does not and IMHO should not).So I'd keep your PR as is TBH, unless someone like the author of #85 , explains how it is that the ConfigMap makes for easier management, particularly if one considers the issues we mentioned above.
@saip92 commented on GitHub (Sep 28, 2024):
Agreed! Thanks for helping to confirm that. I had the same notion but wanted to make sure I wasn't missing anything obvious considering I was just playing around with this for the first time yesterday. 😅
@westbrook-ai commented on GitHub (Sep 29, 2024):
Thanks for the discussion and sorry for the trouble @saip92 and @ocraviotto. I didn't consider the impact to secrets when I made the change to the ConfigMap, and that should have been a major version change to signify the potential breaking change made there.
The main reasons I opted for the ConfigMap implementation were readability and ease of editing - the deployment/ statefulset in a cluster can have a very long list of environment variables added in addition to all the other configuration options, so I thought it would be easier to make updates to a ConfigMap instead when environment vars needed to be updated/ added/ removed.
Sticking with the "second dictionary" idea, what if we had two values such as:
This would separate the non-sensitive values from sensitive ones on the deployment, while still enabling the use of required secrets. Let me know your thoughts and thanks again for reporting the issue.
@ocraviotto commented on GitHub (Sep 30, 2024):
@0xThresh ConfigMaps are indeed meant to store application configuration, so nothing against its use.
However they weren't meant to store confidential data.
If you still want to allow users to use ConfigMaps for non-confidential data, I'd still suggest to have a new list (I suggested
extraEnvFromConfigMapbut anything other thanextraEnvVarswould do) while keepingextraEnvVarsas currently use.If you want to add a new
sensitiveEnvVarsyou'd expect to have the EnvVar kind of object, or come up with something new to parse on your end.I still fee it's not ideal to do so and would stick to a way to support ConfigMaps and appending to the `containers[*].env' EnvVar object only.
If you do it this way, you can make it backwards compatible as users don't need to migrate current values, while you can move non-confidential data to the ConfigMap already and let users know about tha change. This is so because:
Hope it makes sense.
@saip92 commented on GitHub (Sep 30, 2024):
I agree with @ocraviotto especially in terms of backwards compatibility. Creating a new list for config maps allows existing deployments to continue working, giving users an option to move non-sensitive information by their own accord.
Personally, and only because I currently just deploy this at home, I prefer the direct
envVarssetup since that triggers the pods to restart. With a config map, you will have to do that yourself as of today (in the works).@westbrook-ai commented on GitHub (Sep 30, 2024):
Totally fair feedback on all fronts. If I push forward with the ConfigMap/ sensitive values separation in the future, it will be under a major version change to help signify that it is a breaking change to anyone who decides to upgrade to it (which I should have done to begin with on this change 🥲).
@saip92 please update the
appVersionof the chart in your open PR, and I'll merge that in to resolve this issue. Thanks again!