feat: Move env vars from deployment to a configmap for easier management

This commit is contained in:
0xThresh.eth 2024-09-26 22:49:51 -06:00
parent bb0f668201
commit 09184d93d9
5 changed files with 32 additions and 26 deletions

View File

@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: open-webui name: open-webui
version: 3.1.19 version: 3.2.0
appVersion: "0.3.24" appVersion: "0.3.24"
home: https://www.openwebui.com/ home: https://www.openwebui.com/

View File

@ -1,6 +1,6 @@
# open-webui # open-webui
![Version: 3.1.19](https://img.shields.io/badge/Version-3.1.19-informational?style=flat-square) ![AppVersion: 0.3.13](https://img.shields.io/badge/AppVersion-0.3.13-informational?style=flat-square) ![Version: 3.2.0](https://img.shields.io/badge/Version-3.2.0-informational?style=flat-square) ![AppVersion: 0.3.24](https://img.shields.io/badge/AppVersion-0.3.24-informational?style=flat-square)
Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋 Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋
@ -43,9 +43,9 @@ helm upgrade --install open-webui open-webui/open-webui
| annotations | object | `{}` | | | annotations | object | `{}` | |
| clusterDomain | string | `"cluster.local"` | Value of cluster domain | | clusterDomain | string | `"cluster.local"` | Value of cluster domain |
| containerSecurityContext | object | `{}` | Configure container security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> | | containerSecurityContext | object | `{}` | Configure container security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> |
| extraEnvVars | list | `[{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}]` | Additional environments variables on the output Deployment definition. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ | | extraEnvVars | list | `[{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}]` | Env vars added to the configmap and mounted to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ |
| extraEnvVars[0] | object | `{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}` | Default API key value for Pipelines. Should be updated in a production deployment, or be changed to the required API key if not using Pipelines | | extraEnvVars[0] | object | `{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}` | Default API key value for Pipelines. Should be updated in a production deployment, or be changed to the required API key if not using Pipelines |
| image | object | `{"pullPolicy":"IfNotPresent","repository":"ghcr.io/open-webui/open-webui","tag":"latest"}` | Open WebUI image tags can be found here: https://github.com/open-webui/open-webui/pkgs/container/open-webui | | image | object | `{"pullPolicy":"IfNotPresent","repository":"ghcr.io/open-webui/open-webui","tag":""}` | Open WebUI image tags can be found here: https://github.com/open-webui/open-webui/pkgs/container/open-webui |
| imagePullSecrets | list | `[]` | Configure imagePullSecrets to use private registry ref: <https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry> | | imagePullSecrets | list | `[]` | Configure imagePullSecrets to use private registry ref: <https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry> |
| ingress.annotations | object | `{}` | Use appropriate annotations for your Ingress controller, e.g., for NGINX: nginx.ingress.kubernetes.io/rewrite-target: / | | ingress.annotations | object | `{}` | Use appropriate annotations for your Ingress controller, e.g., for NGINX: nginx.ingress.kubernetes.io/rewrite-target: / |
| ingress.class | string | `""` | | | ingress.class | string | `""` | |

View File

@ -0,0 +1,22 @@
{{- if or .Values.extraEnvVars .Values.ollama.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "open-webui.name" . }}-env
labels:
{{- include "open-webui.labels" . | nindent 4 }}
data:
{{- if .Values.ollama.enabled }}
OLLAMA_BASE_URLS: {{ include "ollamaBaseUrls" . | quote }}
{{- else }}
ENABLE_OLLAMA_API: "False"
{{- end }}
{{- if .Values.pipelines.enabled }}
OPENAI_API_BASE_URL: {{ include "pipelines.serviceEndpoint" . }}
{{- else if .Values.openaiBaseApiUrl }}
OPENAI_API_BASE_URL: {{ .Values.openaiBaseApiUrl | quote }}
{{- end }}
{{- range .Values.extraEnvVars }}
{{ .name }}: {{ .value | quote }}
{{- end }}
{{- end }}

View File

@ -72,26 +72,10 @@ spec:
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: /app/backend/data mountPath: /app/backend/data
env: {{- if or .Values.extraEnvVars .Values.ollama.enabled }}
{{ if .Values.ollama.enabled }} envFrom:
- name: OLLAMA_BASE_URLS - configMapRef:
value: {{ include "ollamaBaseUrls" . | quote }} name: {{ include "open-webui.name" . }}-env
{{ else }}
- name: ENABLE_OLLAMA_API
value: "False"
{{- end }}
{{ if .Values.pipelines.enabled }}
- name: OPENAI_API_BASE_URL
value: {{ include "pipelines.serviceEndpoint" . }}
{{ else if .Values.openaiBaseApiUrl }}
- name: OPENAI_API_BASE_URL
value: {{ .Values.openaiBaseApiUrl }}
{{ else }}
- name: OPENAI_API_BASE_URL
value: "https://api.openai.com/v1"
{{ end }}
{{- if .Values.extraEnvVars }}
{{- toYaml .Values.extraEnvVars | nindent 8 }}
{{- end }} {{- end }}
tty: true tty: true
{{- with .Values.nodeSelector }} {{- with .Values.nodeSelector }}

View File

@ -92,7 +92,7 @@ service:
# -- OpenAI base API URL to use. Defaults to the Pipelines service endpoint when Pipelines are enabled, and "https://api.openai.com/v1" if Pipelines are not enabled and this value is blank # -- OpenAI base API URL to use. Defaults to the Pipelines service endpoint when Pipelines are enabled, and "https://api.openai.com/v1" if Pipelines are not enabled and this value is blank
openaiBaseApiUrl: "" openaiBaseApiUrl: ""
# -- Additional environments variables on the output Deployment definition. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ # -- Env vars added to the configmap and mounted to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/
extraEnvVars: extraEnvVars:
# -- Default API key value for Pipelines. Should be updated in a production deployment, or be changed to the required API key if not using Pipelines # -- Default API key value for Pipelines. Should be updated in a production deployment, or be changed to the required API key if not using Pipelines
- name: OPENAI_API_KEY - name: OPENAI_API_KEY