[GH-ISSUE #343] Cannot install chart version 10.2.1: The order in patch list doesn't match $setElementOrder list #117

Closed
opened 2026-10-18 21:06:15 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @ftab on GitHub (Feb 8, 2026).
Original GitHub issue: https://github.com/open-webui/helm-charts/issues/343

Error: UPGRADE FAILED: cannot patch "open-webui" with kind StatefulSet: The order in patch list:
[map[name:OPENAI_API_KEY value:xxx] map[name:OPENAI_API_KEY value:etc] map[name:REDIS_URL value:redis://open-webui-redis:6379/0]]
 doesn't match $setElementOrder list:
[map[name:WEBUI_URL] map[name:OLLAMA_BASE_URLS] map[name:OPENAI_API_BASE_URL] map[name:OPENAI_API_KEY] map[name:ENABLE_WEBSOCKET_SUPPORT] map[name:WEBSOCKET_MANAGER] map[name:REDIS_URL] map[name:WEBSOCKET_REDIS_URL] map[name:OPENAI_API_KEY] map[name:WEBUI_SECRET_KEY]]

I got up to 10.2.0 but can't install 10.2.1

This is my values.yaml in case it's relevant

ollama:
  enabled: false

pipelines:
  enabled: false

tika:
  enabled: false

# -- A list of Ollama API endpoints. These can be added in lieu of automatically installing the Ollama Helm chart, or in addition to it.
ollamaUrls: [http://192.168.1.47:1234/]

ingress:
  enabled: true
  # -- Use appropriate annotations for your Ingress controller, e.g., for NGINX:  
  annotations: 
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/tls-acme: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: 10240m
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600"
    # nginx.ingress.kubernetes.io/rewrite-target: / 
  host: "something.mydomain.com"  # update to your real domain 
  additionalHosts: []
  tls: true
  existingSecret: ""
persistence:
  enabled: true
  size: 100Gi
  # -- Use existingClaim if you want to re-use an existing Open WebUI PVC instead of creating a new one
  existingClaim: ""
  # -- Subdirectory of Open WebUI PVC to mount. Useful if root directory is not empty.
  subPath: ""
  # -- If using multiple replicas, you must update accessModes to ReadWriteMany
  accessModes:
    - ReadWriteOnce
  storageClass: ""
  selector: {}
  annotations: {}

# -- 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: "http://192.168.1.47:1234/v1"

# -- Env vars added to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/
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
  - name: OPENAI_API_KEY
    value: "xxx"
  - name: WEBUI_SECRET_KEY
    value: "xyz"
  # valueFrom:
  #   secretKeyRef:
  #     name: pipelines-api-key
  #     key: api-key
  # - name: OPENAI_API_KEY
  #   valueFrom:
  #     secretKeyRef:
  #       name: openai-api-key
  #       key: api-key
  # - name: OLLAMA_DEBUG
  #   value: "1"
Originally created by @ftab on GitHub (Feb 8, 2026). Original GitHub issue: https://github.com/open-webui/helm-charts/issues/343 ``` Error: UPGRADE FAILED: cannot patch "open-webui" with kind StatefulSet: The order in patch list: [map[name:OPENAI_API_KEY value:xxx] map[name:OPENAI_API_KEY value:etc] map[name:REDIS_URL value:redis://open-webui-redis:6379/0]] doesn't match $setElementOrder list: [map[name:WEBUI_URL] map[name:OLLAMA_BASE_URLS] map[name:OPENAI_API_BASE_URL] map[name:OPENAI_API_KEY] map[name:ENABLE_WEBSOCKET_SUPPORT] map[name:WEBSOCKET_MANAGER] map[name:REDIS_URL] map[name:WEBSOCKET_REDIS_URL] map[name:OPENAI_API_KEY] map[name:WEBUI_SECRET_KEY]] ``` I got up to 10.2.0 but can't install 10.2.1 This is my values.yaml in case it's relevant ```yaml ollama: enabled: false pipelines: enabled: false tika: enabled: false # -- A list of Ollama API endpoints. These can be added in lieu of automatically installing the Ollama Helm chart, or in addition to it. ollamaUrls: [http://192.168.1.47:1234/] ingress: enabled: true # -- Use appropriate annotations for your Ingress controller, e.g., for NGINX: annotations: kubernetes.io/ingress.class: "nginx" kubernetes.io/tls-acme: "true" nginx.ingress.kubernetes.io/proxy-body-size: 10240m nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600" # nginx.ingress.kubernetes.io/rewrite-target: / host: "something.mydomain.com" # update to your real domain additionalHosts: [] tls: true existingSecret: "" persistence: enabled: true size: 100Gi # -- Use existingClaim if you want to re-use an existing Open WebUI PVC instead of creating a new one existingClaim: "" # -- Subdirectory of Open WebUI PVC to mount. Useful if root directory is not empty. subPath: "" # -- If using multiple replicas, you must update accessModes to ReadWriteMany accessModes: - ReadWriteOnce storageClass: "" selector: {} annotations: {} # -- 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: "http://192.168.1.47:1234/v1" # -- Env vars added to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ 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 - name: OPENAI_API_KEY value: "xxx" - name: WEBUI_SECRET_KEY value: "xyz" # valueFrom: # secretKeyRef: # name: pipelines-api-key # key: api-key # - name: OPENAI_API_KEY # valueFrom: # secretKeyRef: # name: openai-api-key # key: api-key # - name: OLLAMA_DEBUG # value: "1" ```
Author
Owner

@ftab commented on GitHub (Mar 11, 2026):

Claude solved it for me. For anyone else running into this, I had to orphan the stateful set and let it recreate it.

Delete StatefulSet while keeping pods and PVCs running:

kubectl delete statefulset open-webui --cascade=orphan
statefulset.apps "open-webui" deleted

Upgrade open-webui to 10.2.1 after orphaning the StatefulSet

helm upgrade --install open-webui open-webui/open-webui --version=10.2.1 -f myvalues.yaml
W0306 11:35:54.077480 1036377 warnings.go:70] spec.template.spec.containers[0].env[8].name: duplicate name "OPENAI_API_KEY"
Release "open-webui" has been upgraded. Happy Helming!
NAME: open-webui

Then deleted the openai api key from extraEnvVars in my values.

<!-- gh-comment-id:4039996926 --> @ftab commented on GitHub (Mar 11, 2026): Claude solved it for me. For anyone else running into this, I had to orphan the stateful set and let it recreate it. Delete StatefulSet while keeping pods and PVCs running: ```sh kubectl delete statefulset open-webui --cascade=orphan ``` ``` statefulset.apps "open-webui" deleted ``` Upgrade open-webui to 10.2.1 after orphaning the StatefulSet ```sh helm upgrade --install open-webui open-webui/open-webui --version=10.2.1 -f myvalues.yaml ``` ``` W0306 11:35:54.077480 1036377 warnings.go:70] spec.template.spec.containers[0].env[8].name: duplicate name "OPENAI_API_KEY" Release "open-webui" has been upgraded. Happy Helming! NAME: open-webui ``` Then deleted the openai api key from extraEnvVars in my values.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
open-webui/helm-charts#117
No description provided.