openaiBaseApiUrls fails when using pipelines.enabled: false #113

Open
opened 2026-02-15 19:16:23 -05:00 by yindo · 0 comments
Owner

Originally created by @ItsNotYou on GitHub (Jan 19, 2026).

Error

Pod is missing the environment variables OPENAI_API_BASE_URLS and OPENAI_API_KEYS even though the variables openaiBaseApiUrls and openaiApiKeys are configured in the Helm release.

Reproduce

I use the following values in my Helm release config:

openaiBaseApiUrls:
- abc
- def
openaiApiKeys:
- abc
- def
pipelines:
  enabled: false

The resulting pod has no OPENAI_* environment variables. ENABLE_OPENAI_API is also missing.

Reason

As far as I understand, this is the result of the workload-manager.yaml not expecting to have pipelines turned off when using multiple APIs. The case

pipelines.enabled: false
enableOpenaiApi: true
openaiBaseApiUrls: ['anything']
openaiApiKeys: ['anything']

is not handled in this piece of code:

        {{- if and .Values.enableOpenaiApi .Values.openaiBaseApiUrl (not .Values.openaiBaseApiUrls) (not .Values.pipelines.enabled) }}
        # If only an OpenAI API value is set, set it to OPENAI_API_BASE_URL
        - name: "OPENAI_API_BASE_URL"
          value: {{ .Values.openaiBaseApiUrl | quote }}
        {{- if .Values.openaiApiKey }}
        - name: "OPENAI_API_KEY"
          value: {{ .Values.openaiApiKey | quote }}
        {{- end }}
        {{- else if and .Values.enableOpenaiApi .Values.openaiBaseApiUrl .Values.pipelines.enabled (not .Values.openaiBaseApiUrls) }}
        # If Pipelines is enabled and OpenAI API value is set, use OPENAI_API_BASE_URLS with combined values
        - name: "OPENAI_API_BASE_URLS"
          value: "{{ include "pipelines.serviceEndpoint" . }};{{ .Values.openaiBaseApiUrl }}"
        {{- if .Values.openaiApiKeys }}
        - name: "OPENAI_API_KEYS"
          value: {{ .Values.openaiApiKeys | join ";" | quote }}
        {{- end }}
        {{- else if and .Values.enableOpenaiApi .Values.pipelines.enabled (not .Values.openaiBaseApiUrl) (not .Values.openaiBaseApiUrls) }}
        # If Pipelines is enabled and no OpenAI API values are set, set OPENAI_API_BASE_URL to the Pipelines server endpoint
        - name: "OPENAI_API_BASE_URL"
          value: {{ include "pipelines.serviceEndpoint" . | quote }}
        {{- if .Values.openaiApiKey }}
        - name: "OPENAI_API_KEY"
          value: {{ .Values.openaiApiKey | quote }}
        {{- end }}
        {{- else if and .Values.enableOpenaiApi .Values.openaiBaseApiUrls .Values.pipelines.enabled }}
        # If OpenAI API value(s) set and Pipelines is enabled, use OPENAI_API_BASE_URLS to support all the endpoints in the chart
        - name: "OPENAI_API_BASE_URLS"
          value: "{{ include "pipelines.serviceEndpoint" . }};{{ join ";" .Values.openaiBaseApiUrls }}"
        {{- if .Values.openaiApiKeys }}
        - name: "OPENAI_API_KEYS"
          value: {{ .Values.openaiApiKeys | join ";" | quote }}
        {{- end }}
        {{- else if not .Values.enableOpenaiApi }}
        - name: "ENABLE_OPENAI_API"
          value: "False"
        {{- end }}
Originally created by @ItsNotYou on GitHub (Jan 19, 2026). ## Error Pod is missing the environment variables `OPENAI_API_BASE_URLS` and `OPENAI_API_KEYS` even though the variables `openaiBaseApiUrls` and `openaiApiKeys` are configured in the Helm release. ## Reproduce I use the following values in my Helm release config: ```yaml openaiBaseApiUrls: - abc - def openaiApiKeys: - abc - def pipelines: enabled: false ``` The resulting pod has no `OPENAI_*` environment variables. `ENABLE_OPENAI_API` is also missing. ## Reason As far as I understand, this is the result of the [workload-manager.yaml](https://github.com/open-webui/helm-charts/blob/main/charts/open-webui/templates/workload-manager.yaml#L156) not expecting to have pipelines turned off when using multiple APIs. The case ```yaml pipelines.enabled: false enableOpenaiApi: true openaiBaseApiUrls: ['anything'] openaiApiKeys: ['anything'] ``` is not handled in this piece of code: ```yaml {{- if and .Values.enableOpenaiApi .Values.openaiBaseApiUrl (not .Values.openaiBaseApiUrls) (not .Values.pipelines.enabled) }} # If only an OpenAI API value is set, set it to OPENAI_API_BASE_URL - name: "OPENAI_API_BASE_URL" value: {{ .Values.openaiBaseApiUrl | quote }} {{- if .Values.openaiApiKey }} - name: "OPENAI_API_KEY" value: {{ .Values.openaiApiKey | quote }} {{- end }} {{- else if and .Values.enableOpenaiApi .Values.openaiBaseApiUrl .Values.pipelines.enabled (not .Values.openaiBaseApiUrls) }} # If Pipelines is enabled and OpenAI API value is set, use OPENAI_API_BASE_URLS with combined values - name: "OPENAI_API_BASE_URLS" value: "{{ include "pipelines.serviceEndpoint" . }};{{ .Values.openaiBaseApiUrl }}" {{- if .Values.openaiApiKeys }} - name: "OPENAI_API_KEYS" value: {{ .Values.openaiApiKeys | join ";" | quote }} {{- end }} {{- else if and .Values.enableOpenaiApi .Values.pipelines.enabled (not .Values.openaiBaseApiUrl) (not .Values.openaiBaseApiUrls) }} # If Pipelines is enabled and no OpenAI API values are set, set OPENAI_API_BASE_URL to the Pipelines server endpoint - name: "OPENAI_API_BASE_URL" value: {{ include "pipelines.serviceEndpoint" . | quote }} {{- if .Values.openaiApiKey }} - name: "OPENAI_API_KEY" value: {{ .Values.openaiApiKey | quote }} {{- end }} {{- else if and .Values.enableOpenaiApi .Values.openaiBaseApiUrls .Values.pipelines.enabled }} # If OpenAI API value(s) set and Pipelines is enabled, use OPENAI_API_BASE_URLS to support all the endpoints in the chart - name: "OPENAI_API_BASE_URLS" value: "{{ include "pipelines.serviceEndpoint" . }};{{ join ";" .Values.openaiBaseApiUrls }}" {{- if .Values.openaiApiKeys }} - name: "OPENAI_API_KEYS" value: {{ .Values.openaiApiKeys | join ";" | quote }} {{- end }} {{- else if not .Values.enableOpenaiApi }} - name: "ENABLE_OPENAI_API" value: "False" {{- end }} ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-webui/helm-charts#113