[PR #234] [MERGED] feat(open-webui): Add application logging configuration #271

Closed
opened 2026-02-15 19:17:09 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/helm-charts/pull/234
Author: @mjtrangoni
Created: 5/7/2025
Status: Merged
Merged: 5/7/2025
Merged by: @westbrook-ai

Base: mainHead: feat-configure-logging


📝 Commits (1)

  • 1c091cb feat(open-webui): Add application logging configuration

📊 Changes

5 files changed (+129 additions, -2 deletions)

View changed files

📝 charts/open-webui/Chart.yaml (+1 -1)
📝 charts/open-webui/README.md (+18 -1)
📝 charts/open-webui/templates/_helpers.tpl (+53 -0)
📝 charts/open-webui/templates/workload-manager.yaml (+13 -0)
📝 charts/open-webui/values.yaml (+44 -0)

📄 Description

Hi,

This PR add the Application logging configuration to the Open WebUI Helm chart.

The changes were tested locally using helm template, and the rendering works as expected.

This is a simple values.yaml file for testing,

# Disable bundled dependencies
ollama:
  enabled: false

pipelines:
  # -- Automatically install Pipelines chart to extend Open WebUI functionality using Pipelines: https://github.com/open-webui/pipelines
  enabled: false
  # -- This section can be used to pass required environment variables to your pipelines (e.g. Langfuse hostname)
  extraEnvVars: []

tika:
  # -- Automatically install Apache Tika to extend Open WebUI
  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: []

# -- Disables taking Ollama Urls from `ollamaUrls`  list
ollamaUrlsFromExtraEnv: false

websocket:
  # -- Enables websocket support in Open WebUI with env `ENABLE_WEBSOCKET_SUPPORT`
  enabled: true
  # -- Specifies the websocket manager to use with env `WEBSOCKET_MANAGER`: redis (default)
  manager: redis
  # -- Deploys a redis
  redis:
    # -- Enable redis installation
    enabled: false

# -- Deploys a Redis cluster with subchart 'redis' from bitnami
redis-cluster:
  # -- Enable Redis installation
  enabled: true
  # -- Redis cluster name (recommended to be 'open-webui-redis')
  # - In this case, redis url will be 'redis://open-webui-redis-master:6379/0' or 'redis://[:<password>@]open-webui-redis-master:6379/0'
  fullnameOverride: open-webui-redis
  # -- Redis Authentication
  auth:
    # -- Enable Redis authentication (disabled by default). For your security, we strongly suggest that you switch to 'auth.enabled=true'
    enabled: false
  # -- Replica configuration for the Redis cluster
  replica:
    # -- Number of Redis replica instances
    replicaCount: 3


replicaCount: 2

serviceAccount:
  enable: true

ingress:
  enabled: true
  class: "external"
  # -- Use appropriate annotations for your Ingress controller, e.g., for NGINX:
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt
    nginx.ingress.kubernetes.io/affinity: "cookie"
  host: "REDACTED"
  tls: true

persistence:
  enabled: true
  # -- Sets the storage provider, availables values are `local`, `s3`, `gcs` or `azure`
  provider: azure
  azure:
    # -- Sets the endpoint URL for Azure Storage
    endpointUrl: "REDACTED"
    # -- Sets the container name for Azure Storage
    container: "data"
    key: "test"
    keyExistingSecret: ""
    keyExistingSecretKey: ""

# -- Enables the use of OpenAI APIs
enableOpenaiApi: true

# -- 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: "https://api.openai.com/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
  # OpenAI config
  - name: OPENAI_API_KEY
    valueFrom:
      secretKeyRef:
        name: openai-api-key
        key: api-key
  - name: ENABLE_MODEL_FILTER
    value: "true"
  - name: MODEL_FILTER_LIST
    value: "gpt-4o-mini;gpt-4o-2024-08-06;ask_hr_policies"
  - name: DEFAULT_MODELS
    value: "gpt-4o-mini"
  - name: DEFAULT_LOCALE
    value: "en_US"
  - name: DEFAULT_USER_ROLE
    value: "user"
  # Blob storage key
  - name: AZURE_STORAGE_KEY
    valueFrom:
      secretKeyRef:
        name: azure-storage-account
        key: azure-account-key
  # Database URL
  - name: DATABASE_URL
    valueFrom:
      secretKeyRef:
        name: postgres-db-url
        key: postgres-url
  # Redis
  - name: WEBSOCKET_REDIS_URL
    value: "redis://infra-openwebui-redis.infra-openwebui.svc.cluster.local:26379/0"
  - name: WEBSOCKET_REDIS_MASTER_NAME
    value: "mymaster"
  - name: WEBSOCKET_REDIS_PASSWORD
    valueFrom:
      secretKeyRef:
        name: redis
        key: secret
  # Log Level
  - name: GLOBAL_LOG_LEVEL
    value: "debug"

sso:
  # -- **Enable SSO authentication globally** must enable to use SSO authentication
  # @section -- SSO Configuration
  enabled: true
  # -- Enable account creation when logging in with OAuth (distinct from regular signup)
  # @section -- SSO Configuration
  enableSignup: false
  # -- Allow logging into accounts that match email from OAuth provider (considered insecure)
  # @section -- SSO Configuration
  mergeAccountsByEmail: false
  # -- Enable OAuth role management through access token roles claim
  # @section -- SSO Configuration
  enableRoleManagement: false
  # -- Enable OAuth group management through access token groups claim
  # @section -- SSO Configuration
  enableGroupManagement: false

  microsoft:
    # -- Enable Microsoft OAuth
    enabled: true
    # -- Microsoft OAuth client ID
    clientId: "REDACTED"
    # -- Microsoft tenant ID - use 9188040d-6c67-4c5b-b112-36a304b66dad for personal accounts
    tenantId: "REDACTED"
    clientSecret: "test"

  roleManagement:
    # -- The claim that contains the roles (can be nested, e.g., user.roles)
    # @section -- Role management configuration
    rolesClaim: "roles"
    # -- Comma-separated list of roles allowed to log in (receive open webui role user)
    # @section -- Role management configuration
    allowedRoles: ""
    # -- Comma-separated list of roles allowed to log in as admin (receive open webui role admin)
    # @section -- Role management configuration
    adminRoles: ""

  groupManagement:
    # -- The claim that contains the groups (can be nested, e.g., user.memberOf)
    # @section -- SSO Configuration
    groupsClaim: "groups"

  trustedHeader:
    # -- Enable trusted header authentication
    # @section -- SSO trusted header authentication
    enabled: false
    # -- Header containing the user's email address
    # @section -- SSO trusted header authentication
    emailHeader: ""
    # -- Header containing the user's name (optional, used for new user creation)
    # @section -- SSO trusted header authentication
    nameHeader: ""

# -- Postgresql configuration (see. https://artifacthub.io/packages/helm/bitnami/postgresql)
postgresql:
  enabled: false

# Configure Application logging levels (see. https://docs.openwebui.com/getting-started/advanced-topics/logging#-logging-levels-explained)
logging:
  # -- Set the global log level ["notset", "debug", "info" (default), "warning", "error", "critical"]
  # @section -- Logging configuration
  level: "info"

  # Optional granularity: override log levels per subsystem/component
  # if not set, it will use the global level (see. https://docs.openwebui.com/getting-started/advanced-topics/logging#%EF%B8%8F-appbackend-specific-logging-levels)
  components:
    # -- Set the log level for the Audio processing component
    # @section -- Logging configuration
    audio: "error"
    # -- Set the log level for the ComfyUI Integration component
    # @section -- Logging configuration
    comfyui: "warning"
    # -- Set the log level for the Configuration Management component
    # @section -- Logging configuration
    config: "info"
    # -- Set the log level for the Database Operations (Peewee) component
    # @section -- Logging configuration
    db: "error"
    # -- Set the log level for the Image Generation component
    # @section -- Logging configuration
    images: "error"
    # -- Set the log level for the Main Application Execution component
    # @section -- Logging configuration
    main: "error"
    # -- Set the log level for the Model Management component
    # @section -- Logging configuration
    models: "error"
    # -- Set the log level for the Ollama Backend Integration component
    # @section -- Logging configuration
    ollama: "error"
    # -- Set the log level for the OpenAI API Integration component
    # @section -- Logging configuration
    openai: "critical"
    # -- Set the log level for the Retrieval-Augmented Generation (RAG) component
    # @section -- Logging configuration
    rag: "notset"
    # -- Set the log level for the Authentication Webhook component
    # @section -- Logging configuration
    webhook: "error"

And then with helm template,

helm template . --values values.yaml > manifests.yaml

NOTES:

  • See that if you leave the components empty (default), the environment variables will not be added.
  • Component names are validated
  • Log level values are validated

Thank you!


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/helm-charts/pull/234 **Author:** [@mjtrangoni](https://github.com/mjtrangoni) **Created:** 5/7/2025 **Status:** ✅ Merged **Merged:** 5/7/2025 **Merged by:** [@westbrook-ai](https://github.com/westbrook-ai) **Base:** `main` ← **Head:** `feat-configure-logging` --- ### 📝 Commits (1) - [`1c091cb`](https://github.com/open-webui/helm-charts/commit/1c091cbd034be967eedfae30e1b21d30eda02719) feat(open-webui): Add application logging configuration ### 📊 Changes **5 files changed** (+129 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `charts/open-webui/Chart.yaml` (+1 -1) 📝 `charts/open-webui/README.md` (+18 -1) 📝 `charts/open-webui/templates/_helpers.tpl` (+53 -0) 📝 `charts/open-webui/templates/workload-manager.yaml` (+13 -0) 📝 `charts/open-webui/values.yaml` (+44 -0) </details> ### 📄 Description Hi, This PR add the [Application logging configuration](https://docs.openwebui.com/getting-started/advanced-topics/logging#%EF%B8%8F-application-serverbackend-logging-python) to the Open WebUI Helm chart. The changes were tested locally using helm template, and the rendering works as expected. This is a simple `values.yaml` file for testing, ```yaml # Disable bundled dependencies ollama: enabled: false pipelines: # -- Automatically install Pipelines chart to extend Open WebUI functionality using Pipelines: https://github.com/open-webui/pipelines enabled: false # -- This section can be used to pass required environment variables to your pipelines (e.g. Langfuse hostname) extraEnvVars: [] tika: # -- Automatically install Apache Tika to extend Open WebUI 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: [] # -- Disables taking Ollama Urls from `ollamaUrls` list ollamaUrlsFromExtraEnv: false websocket: # -- Enables websocket support in Open WebUI with env `ENABLE_WEBSOCKET_SUPPORT` enabled: true # -- Specifies the websocket manager to use with env `WEBSOCKET_MANAGER`: redis (default) manager: redis # -- Deploys a redis redis: # -- Enable redis installation enabled: false # -- Deploys a Redis cluster with subchart 'redis' from bitnami redis-cluster: # -- Enable Redis installation enabled: true # -- Redis cluster name (recommended to be 'open-webui-redis') # - In this case, redis url will be 'redis://open-webui-redis-master:6379/0' or 'redis://[:<password>@]open-webui-redis-master:6379/0' fullnameOverride: open-webui-redis # -- Redis Authentication auth: # -- Enable Redis authentication (disabled by default). For your security, we strongly suggest that you switch to 'auth.enabled=true' enabled: false # -- Replica configuration for the Redis cluster replica: # -- Number of Redis replica instances replicaCount: 3 replicaCount: 2 serviceAccount: enable: true ingress: enabled: true class: "external" # -- Use appropriate annotations for your Ingress controller, e.g., for NGINX: annotations: cert-manager.io/cluster-issuer: letsencrypt nginx.ingress.kubernetes.io/affinity: "cookie" host: "REDACTED" tls: true persistence: enabled: true # -- Sets the storage provider, availables values are `local`, `s3`, `gcs` or `azure` provider: azure azure: # -- Sets the endpoint URL for Azure Storage endpointUrl: "REDACTED" # -- Sets the container name for Azure Storage container: "data" key: "test" keyExistingSecret: "" keyExistingSecretKey: "" # -- Enables the use of OpenAI APIs enableOpenaiApi: true # -- 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: "https://api.openai.com/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 # OpenAI config - name: OPENAI_API_KEY valueFrom: secretKeyRef: name: openai-api-key key: api-key - name: ENABLE_MODEL_FILTER value: "true" - name: MODEL_FILTER_LIST value: "gpt-4o-mini;gpt-4o-2024-08-06;ask_hr_policies" - name: DEFAULT_MODELS value: "gpt-4o-mini" - name: DEFAULT_LOCALE value: "en_US" - name: DEFAULT_USER_ROLE value: "user" # Blob storage key - name: AZURE_STORAGE_KEY valueFrom: secretKeyRef: name: azure-storage-account key: azure-account-key # Database URL - name: DATABASE_URL valueFrom: secretKeyRef: name: postgres-db-url key: postgres-url # Redis - name: WEBSOCKET_REDIS_URL value: "redis://infra-openwebui-redis.infra-openwebui.svc.cluster.local:26379/0" - name: WEBSOCKET_REDIS_MASTER_NAME value: "mymaster" - name: WEBSOCKET_REDIS_PASSWORD valueFrom: secretKeyRef: name: redis key: secret # Log Level - name: GLOBAL_LOG_LEVEL value: "debug" sso: # -- **Enable SSO authentication globally** must enable to use SSO authentication # @section -- SSO Configuration enabled: true # -- Enable account creation when logging in with OAuth (distinct from regular signup) # @section -- SSO Configuration enableSignup: false # -- Allow logging into accounts that match email from OAuth provider (considered insecure) # @section -- SSO Configuration mergeAccountsByEmail: false # -- Enable OAuth role management through access token roles claim # @section -- SSO Configuration enableRoleManagement: false # -- Enable OAuth group management through access token groups claim # @section -- SSO Configuration enableGroupManagement: false microsoft: # -- Enable Microsoft OAuth enabled: true # -- Microsoft OAuth client ID clientId: "REDACTED" # -- Microsoft tenant ID - use 9188040d-6c67-4c5b-b112-36a304b66dad for personal accounts tenantId: "REDACTED" clientSecret: "test" roleManagement: # -- The claim that contains the roles (can be nested, e.g., user.roles) # @section -- Role management configuration rolesClaim: "roles" # -- Comma-separated list of roles allowed to log in (receive open webui role user) # @section -- Role management configuration allowedRoles: "" # -- Comma-separated list of roles allowed to log in as admin (receive open webui role admin) # @section -- Role management configuration adminRoles: "" groupManagement: # -- The claim that contains the groups (can be nested, e.g., user.memberOf) # @section -- SSO Configuration groupsClaim: "groups" trustedHeader: # -- Enable trusted header authentication # @section -- SSO trusted header authentication enabled: false # -- Header containing the user's email address # @section -- SSO trusted header authentication emailHeader: "" # -- Header containing the user's name (optional, used for new user creation) # @section -- SSO trusted header authentication nameHeader: "" # -- Postgresql configuration (see. https://artifacthub.io/packages/helm/bitnami/postgresql) postgresql: enabled: false # Configure Application logging levels (see. https://docs.openwebui.com/getting-started/advanced-topics/logging#-logging-levels-explained) logging: # -- Set the global log level ["notset", "debug", "info" (default), "warning", "error", "critical"] # @section -- Logging configuration level: "info" # Optional granularity: override log levels per subsystem/component # if not set, it will use the global level (see. https://docs.openwebui.com/getting-started/advanced-topics/logging#%EF%B8%8F-appbackend-specific-logging-levels) components: # -- Set the log level for the Audio processing component # @section -- Logging configuration audio: "error" # -- Set the log level for the ComfyUI Integration component # @section -- Logging configuration comfyui: "warning" # -- Set the log level for the Configuration Management component # @section -- Logging configuration config: "info" # -- Set the log level for the Database Operations (Peewee) component # @section -- Logging configuration db: "error" # -- Set the log level for the Image Generation component # @section -- Logging configuration images: "error" # -- Set the log level for the Main Application Execution component # @section -- Logging configuration main: "error" # -- Set the log level for the Model Management component # @section -- Logging configuration models: "error" # -- Set the log level for the Ollama Backend Integration component # @section -- Logging configuration ollama: "error" # -- Set the log level for the OpenAI API Integration component # @section -- Logging configuration openai: "critical" # -- Set the log level for the Retrieval-Augmented Generation (RAG) component # @section -- Logging configuration rag: "notset" # -- Set the log level for the Authentication Webhook component # @section -- Logging configuration webhook: "error" ``` And then with helm template, ```bash helm template . --values values.yaml > manifests.yaml ``` **NOTES**: * See that if you leave the components empty (default), the environment variables will not be added. * Component names are validated * Log level values are validated Thank you! --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 19:17:09 -05:00
yindo closed this issue 2026-02-15 19:17:09 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-webui/helm-charts#271