You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "pablorsk (via GitHub)" <gi...@apache.org> on 2025/10/03 19:28:07 UTC

[D] How to connect to external redis db database? Using supersetNode.connections [superset]

GitHub user pablorsk created a discussion: How to connect to external redis db database? Using supersetNode.connections

## Short summary

redis_tls: supersetNode.connections.redis_ssl=true causes validation / SSL errors

When configuring Redis TLS via the chart `supersetNode.connections` (apache/superset chart v0.14.3) I get validation and runtime errors. The chart/runtime appears to validate `ssl_cert_reqs` in an unexpected format and the redis client / Celery falls back to insecure behaviour because no SSL options are passed. Resulting errors include `Invalid SSL Certificate Requirements Flag: CERT_NONE` and repeated warnings `Secure redis scheme specified (rediss) with no ssl options, defaulting to insecure SSL behaviour.`

## Short summary


## Environment
- Chart: `apache/superset` (version `0.14.3`)
- Kubernetes: DigitalOcean DOKS
- Superset image: `apache/superset` (Python 3.10 runtime)
- Redis: DigitalOcean Managed Redis (TLS) — example host: `rscache-do-user-1845382-0.b.db.ondigitalocean.com:25061`
- Observed in web and celeryworker pods

## Values I used (sensitive values redacted)
```yaml
supersetNode:
  connections:
    redis_host: "myrediscay-do-user-1234-0.b.db.ondigitalocean.com"
    redis_port: "25062"
    redis_cache_db: "2"
    redis_celery_db: "2"
    redis_user: ""
    redis_password: "myapssword"
    redis_ssl:
      enabled: true
```

I also tried adding ssl_cert_reqs as "CERT_REQUIRED" and as 2 but got validation errors:
Invalid SSL Certificate Requirements Flag: CERT_REQUIRED
Invalid SSL Certificate Requirements Flag: 2

This is related with #22900.


GitHub link: https://github.com/apache/superset/discussions/35496

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How to connect to external redis db database? Using supersetNode.connections [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: How to connect to external redis db database? Using supersetNode.connections

<!-- Greeting -->
Hi @pablorsk! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team.

<!-- Answer -->
The validation and runtime errors you're seeing are due to a mismatch between the Helm chart's default/example values for `ssl_cert_reqs` and what the Redis Python client (`redis-py`) actually accepts. The chart suggests values like `CERT_NONE` or `CERT_REQUIRED`, but the Redis client expects `'none'`, `'optional'`, or `'required'` (case-insensitive) as strings. Using the wrong value causes errors like `Invalid SSL Certificate Requirements Flag: CERT_NONE` and insecure fallback behavior [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/async_events/cache_backend.py).

To connect to a managed Redis instance with TLS, set your values like this:

```yaml
supersetNode:
  connections:
    redis_host: "your-redis-host"
    redis_port: "your-redis-port"
    redis_cache_db: "2"
    redis_celery_db: "2"
    redis_user: ""
    redis_password: "yourpassword"
    redis_ssl:
      enabled: true
      ssl_cert_reqs: "required"  # valid values: "none", "optional", "required"
```

Make sure `ssl_cert_reqs` is set to `"required"` (or `"none"`/`"optional"` if your Redis setup allows it). Do not use `CERT_NONE`, `CERT_REQUIRED`, or integer values [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/helm/superset/values.yaml).

There are currently no recent fixes in the chart or codebase for this validation issue, so using the correct string values is the way to resolve it [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/helm/superset/templates/_helpers.tpl).


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*

---

Share context across your team and agents. Try [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-tagline&utm_term=apache%2Fsuperset).

[![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-feedback&utm_term=apache%2Fsuperset&message_id=b7af70a0-75ce-40c7-ac1c-c79bbe1726b4) [![Learn about superset with Dosu](https://img.shields.io/badge/Learn%20about%20superset%20with%20Dosu-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC4
 5ODU2MyA4NS4zNjUyIDUuODQ3MDUgODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNT
 c5MTlIMTcuMDQzOVY3LjYxNTMyWk0yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiB
 zdHJva2Utd2lkdGg9IjcuNjkxNjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-learn-repo&utm_term=apache%2Fsuperset) [![Add Dosu to your team](https://img.shields.io/badge/Add%20Dosu%20to%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-add-team&utm_term=apache%2Fsuperset)

GitHub link: https://github.com/apache/superset/discussions/35496#discussioncomment-14587456

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How to connect to external redis db database? Using supersetNode.connections [superset]

Posted by "pablorsk (via GitHub)" <gi...@apache.org>.
GitHub user pablorsk added a comment to the discussion: How to connect to external redis db database? Using supersetNode.connections

@dosu  Great!!

The chart behaviour is working for me, but now I want the Redis password to come from an existing secret instead of writing it in my values.yaml. I'm stuck with authentication errors and I suspect I'm putting the secret in the wrong place / wrong format.

## What I used (values snippet)
```yaml
supersetNode:
  connections:
    redis_host: "your-redis-host"
    redis_port: "your-redis-port"
    redis_cache_db: "2"
    redis_celery_db: "2"
    redis_user: ""
    redis_ssl:
      enabled: true
      ssl_cert_reqs: "required"  # valid values: "none", "optional", "required"
extraEnvFrom:
    - secretRef:
        name: superset-config-secret
```

In the Secret (superset-config-secret) I have:
```
REDIS_PASSWORD: yourpassword
```
### The chart renders and Superset starts, but when hitting functionality that uses Redis I get:

UI: DB engine Error
Authentication required.
This may be triggered by: Issue 1011 - Superset encountered an unexpected error.

Worker/web logs
`redis.exceptions.AuthenticationError: invalid username-password pair or user is disabled.`

### Also, I check inside of pod:

```echo $REDIS_PASSWORD
yourpassword
```

GitHub link: https://github.com/apache/superset/discussions/35496#discussioncomment-14587753

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How to connect to external redis db database? Using supersetNode.connections [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: How to connect to external redis db database? Using supersetNode.connections

<!-- Answer -->
Your Redis authentication is failing because the Helm chart expects all Redis connection details—including the password—to be set in `values.yaml` under `supersetNode.connections`. Injecting `REDIS_PASSWORD` via `extraEnvFrom` alone does not update the config used by Superset; the chart-generated config only includes the password if you set `redis_password` in `values.yaml` [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/helm/superset/templates/secret-env.yaml).

Mixing config sources (values.yaml and extraEnvFrom) can cause missing or conflicting variables, leading to authentication errors [source](https://github.com/apache/superset/discussions/34861). For a reliable setup, use one of these patterns:

1. **Set the password in `values.yaml`** (preferred for Helm compatibility):
   ```yaml
   supersetNode:
     connections:
       redis_host: "your-redis-host"
       redis_port: "25061"
       redis_cache_db: "2"
       redis_celery_db: "2"
       redis_user: ""
       redis_password: "yourpassword"  # reference your secret here if templating
       redis_ssl:
         enabled: true
         ssl_cert_reqs: "required"
   ```
   This ensures the chart generates the correct environment variables and config for all pods.

2. **Full custom config:** If you must use a Kubernetes secret for the password, create a secret containing your own `superset_config.py` and set `configFromSecret` in `values.yaml` to the name of that secret. You must then include all required settings yourself [source](https://github.com/apache/superset/discussions/34861).

Avoid mixing `extraEnvFrom` and `configOverrides` for Redis credentials. Stick to one method to prevent conflicts. After updating your config, redeploy all Superset pods.

If your Redis requires a username, set `redis_user` in `values.yaml` and reference it in your config. If you still see authentication errors, double-check the actual Redis connection string used at runtime and ensure all pods have the correct environment variables [source](https://github.com/apache/superset/discussions/34650).


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback/1e331c18-ffe0-4866-8db6-0a57935d519c?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/1e331c18-ffe0-4866-8db6-0a57935d519c?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/1e331c18-ffe0-4866-8db6-0a57935d519c?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/1e331c18-ffe0-4866-8db6-0a57935d519c?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/1e331c18-ffe0-4866-8db6-0a57935d519c?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/1e331c18-ffe0-4866-8db6-0a57935d519c?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/1e331c18-ffe0-4866-8db6-0a57935d519c?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&
 nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/35496)

GitHub link: https://github.com/apache/superset/discussions/35496#discussioncomment-14587947

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How to connect to external redis db database? Using supersetNode.connections [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: How to connect to external redis db database? Using supersetNode.connections

<!-- Answer -->
Injecting REDIS_PASSWORD via extraEnvFrom makes the variable available in the pod, but Superset’s Helm chart only uses the password if you set `supersetNode.connections.redis_password` in your values.yaml. The chart does not automatically map the REDIS_PASSWORD environment variable to the Redis config, so authentication fails even though the variable is present in the pod [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/helm/superset/templates/_helpers.tpl).

You have two main options to securely use a password from a Kubernetes secret:

**1. Use configOverrides to read the password from the environment:**

Add your secret as you did, then in your values.yaml, set:

```yaml
configOverrides:
  redis_auth: |
    import os
    REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD")
    CACHE_CONFIG = {
      'CACHE_TYPE': 'RedisCache',
      'CACHE_REDIS_HOST': os.environ.get("REDIS_HOST"),
      'CACHE_REDIS_PORT': os.environ.get("REDIS_PORT"),
      'CACHE_REDIS_DB': os.environ.get("REDIS_DB"),
      'CACHE_REDIS_PASSWORD': REDIS_PASSWORD,
    }
    GLOBAL_ASYNC_QUERIES_CACHE_BACKEND = {
      'CACHE_TYPE': 'RedisCache',
      'CACHE_REDIS_HOST': os.environ.get("REDIS_HOST"),
      'CACHE_REDIS_PORT': os.environ.get("REDIS_PORT"),
      'CACHE_REDIS_DB': os.environ.get("REDIS_DB"),
      'CACHE_REDIS_PASSWORD': REDIS_PASSWORD,
    }
```
This ensures Superset reads the password from the environment and uses it for all Redis connections [source](https://github.com/apache/superset/discussions/34650).

**2. Use a custom superset_config.py via configFromSecret:**

Create a Kubernetes Secret containing your own superset_config.py with the correct Redis settings, then set `configFromSecret` in your values.yaml to the name of that secret. This gives you full control, but you must include all required settings yourself [source](https://github.com/apache/superset/discussions/34861).

After updating your config, redeploy all Superset pods so the new settings take effect.

Let me know if you want a more detailed example for either approach!


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*

---

Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=apache%2Fsuperset).

[![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=apache%2Fsuperset&message_id=a1155a24-b101-4f22-8a27-869504e09f0f) [![Ask Dosu about superset](https://img.shields.io/badge/Ask%20Dosu%20about%20superset-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC45ODU2MyA4NS4zNjUyIDUuODQ3MDUg
 ODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNTc5MTlIMTcuMDQzOVY3LjYxNTMyWk0
 yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjcuNjkxNjEi
 IHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=apache%2Fsuperset) [![Share Dosu with your team](https://img.shields.io/badge/Share%20Dosu%20with%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=apache%2Fsuperset)

GitHub link: https://github.com/apache/superset/discussions/35496#discussioncomment-14587772

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How to connect to external redis db database? Using supersetNode.connections [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: How to connect to external redis db database? Using supersetNode.connections

<!-- Greeting -->
Hi @pablorsk! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team.

<!-- Answer -->
The validation and runtime errors you're seeing are due to a mismatch between the Helm chart's default/example values for `ssl_cert_reqs` and what the Redis Python client (`redis-py`) actually accepts. The chart suggests values like `CERT_NONE` or `CERT_REQUIRED`, but the Redis client expects `'none'`, `'optional'`, or `'required'` (case-insensitive) as strings. Using the wrong value causes errors like `Invalid SSL Certificate Requirements Flag: CERT_NONE` and insecure fallback behavior [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/async_events/cache_backend.py).

To connect to a managed Redis instance with TLS, set your values like this:

```yaml
supersetNode:
  connections:
    redis_host: "your-redis-host"
    redis_port: "your-redis-port"
    redis_cache_db: "2"
    redis_celery_db: "2"
    redis_user: ""
    redis_password: "yourpassword"
    redis_ssl:
      enabled: true
      ssl_cert_reqs: "required"  # valid values: "none", "optional", "required"
```

Make sure `ssl_cert_reqs` is set to `"required"` (or `"none"`/`"optional"` if your Redis setup allows it). Do not use `CERT_NONE`, `CERT_REQUIRED`, or integer values [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/helm/superset/values.yaml).

There are currently no recent fixes in the chart or codebase for this validation issue, so using the correct string values is the way to resolve it [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/helm/superset/templates/_helpers.tpl).


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback/b7af70a0-75ce-40c7-ac1c-c79bbe1726b4?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/b7af70a0-75ce-40c7-ac1c-c79bbe1726b4?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/b7af70a0-75ce-40c7-ac1c-c79bbe1726b4?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/b7af70a0-75ce-40c7-ac1c-c79bbe1726b4?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/b7af70a0-75ce-40c7-ac1c-c79bbe1726b4?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/b7af70a0-75ce-40c7-ac1c-c79bbe1726b4?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/b7af70a0-75ce-40c7-ac1c-c79bbe1726b4?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&
 nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/35496)

GitHub link: https://github.com/apache/superset/discussions/35496#discussioncomment-14587456

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How to connect to external redis db database? Using supersetNode.connections [superset]

Posted by "pablorsk (via GitHub)" <gi...@apache.org>.
GitHub user pablorsk added a comment to the discussion: How to connect to external redis db database? Using supersetNode.connections

@dosu don't work :'(

I do:
```yaml
        redis:
          enabled: false
        supersetNode:
          connections:
            redis_host: "your-redis-host"
            redis_port: "your-redis-port"
            redis_cache_db: "2"
            redis_celery_db: "2"
            redis_user: ""
            redis_ssl:
              enabled: true
              ssl_cert_reqs: "required"  # valid values: "none", "optional", "required"
        extraEnvFrom:
          - secretRef:
              name: superset-config-secret
        configOverrides:
          superset_config.py: |
            import os

            SECRET_KEY = 'pqbdHctuhmysecret/gmWAb'

            # Obtener las variables de entorno para Redis
            REDIS_HOST = os.environ.get("REDIS_HOST")
            REDIS_PORT = os.environ.get("REDIS_PORT")
            REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD")
            REDIS_CACHE_DB = os.environ.get("REDIS_DB")
            REDIS_CELERY_DB = os.environ.get("REDIS_CELERY_DB")

            # Configuración de caché para Superset
            CACHE_CONFIG = {
              'CACHE_TYPE': 'RedisCache',
              'CACHE_REDIS_HOST': REDIS_HOST,
              'CACHE_REDIS_PORT': REDIS_PORT,
              'CACHE_REDIS_DB': REDIS_CACHE_DB,
              'CACHE_REDIS_PASSWORD': REDIS_PASSWORD,
            }

            # Configuración de la caché para consultas asíncronas
            GLOBAL_ASYNC_QUERIES_CACHE_BACKEND = {
              'CACHE_TYPE': 'RedisCache',
              'CACHE_REDIS_HOST': REDIS_HOST,
              'CACHE_REDIS_PORT': REDIS_PORT,
              'CACHE_REDIS_DB': REDIS_CELERY_DB,
              'CACHE_REDIS_PASSWORD': REDIS_PASSWORD,
            }
```

And my secret

```yaml
apiVersion: v1
kind: Secret
metadata:
  name: superset-config-secret
  namespace: superset
type: Opaque
stringData:
  REDIS_HOST: your-redis-host
  REDIS_PORT: "25061"
  REDIS_DB: "2"
  REDIS_PASSWORD: yourpasswod
```

And I get
```
  File "/usr/local/lib/python3.10/site-packages/redis/connection.py", line 349, in read_response
    result = self._read_response(disable_decoding=disable_decoding)
  File "/usr/local/lib/python3.10/site-packages/redis/connection.py", line 372, in _read_response
    raise error
redis.exceptions.AuthenticationError: Authentication required.

```

GitHub link: https://github.com/apache/superset/discussions/35496#discussioncomment-14587927

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How to connect to external redis db database? Using supersetNode.connections [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: How to connect to external redis db database? Using supersetNode.connections

<!-- Answer -->
Your Redis authentication is failing because the Helm chart expects all Redis connection details—including the password—to be set in `values.yaml` under `supersetNode.connections`. Injecting `REDIS_PASSWORD` via `extraEnvFrom` alone does not update the config used by Superset; the chart-generated config only includes the password if you set `redis_password` in `values.yaml` [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/helm/superset/templates/secret-env.yaml).

Mixing config sources (values.yaml and extraEnvFrom) can cause missing or conflicting variables, leading to authentication errors [source](https://github.com/apache/superset/discussions/34861). For a reliable setup, use one of these patterns:

1. **Set the password in `values.yaml`** (preferred for Helm compatibility):
   ```yaml
   supersetNode:
     connections:
       redis_host: "your-redis-host"
       redis_port: "25061"
       redis_cache_db: "2"
       redis_celery_db: "2"
       redis_user: ""
       redis_password: "yourpassword"  # reference your secret here if templating
       redis_ssl:
         enabled: true
         ssl_cert_reqs: "required"
   ```
   This ensures the chart generates the correct environment variables and config for all pods.

2. **Full custom config:** If you must use a Kubernetes secret for the password, create a secret containing your own `superset_config.py` and set `configFromSecret` in `values.yaml` to the name of that secret. You must then include all required settings yourself [source](https://github.com/apache/superset/discussions/34861).

Avoid mixing `extraEnvFrom` and `configOverrides` for Redis credentials. Stick to one method to prevent conflicts. After updating your config, redeploy all Superset pods.

If your Redis requires a username, set `redis_user` in `values.yaml` and reference it in your config. If you still see authentication errors, double-check the actual Redis connection string used at runtime and ensure all pods have the correct environment variables [source](https://github.com/apache/superset/discussions/34650).


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*

---

Share context across your team and agents. Try [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-tagline&utm_term=apache%2Fsuperset).

[![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-feedback&utm_term=apache%2Fsuperset&message_id=1e331c18-ffe0-4866-8db6-0a57935d519c) [![Learn about superset with Dosu](https://img.shields.io/badge/Learn%20about%20superset%20with%20Dosu-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC4
 5ODU2MyA4NS4zNjUyIDUuODQ3MDUgODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNT
 c5MTlIMTcuMDQzOVY3LjYxNTMyWk0yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiB
 zdHJva2Utd2lkdGg9IjcuNjkxNjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-learn-repo&utm_term=apache%2Fsuperset) [![Add Dosu to your team](https://img.shields.io/badge/Add%20Dosu%20to%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-add-team&utm_term=apache%2Fsuperset)

GitHub link: https://github.com/apache/superset/discussions/35496#discussioncomment-14587947

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] How to connect to external redis db database? Using supersetNode.connections [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: How to connect to external redis db database? Using supersetNode.connections

<!-- Answer -->
Injecting REDIS_PASSWORD via extraEnvFrom makes the variable available in the pod, but Superset’s Helm chart only uses the password if you set `supersetNode.connections.redis_password` in your values.yaml. The chart does not automatically map the REDIS_PASSWORD environment variable to the Redis config, so authentication fails even though the variable is present in the pod [source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/helm/superset/templates/_helpers.tpl).

You have two main options to securely use a password from a Kubernetes secret:

**1. Use configOverrides to read the password from the environment:**

Add your secret as you did, then in your values.yaml, set:

```yaml
configOverrides:
  redis_auth: |
    import os
    REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD")
    CACHE_CONFIG = {
      'CACHE_TYPE': 'RedisCache',
      'CACHE_REDIS_HOST': os.environ.get("REDIS_HOST"),
      'CACHE_REDIS_PORT': os.environ.get("REDIS_PORT"),
      'CACHE_REDIS_DB': os.environ.get("REDIS_DB"),
      'CACHE_REDIS_PASSWORD': REDIS_PASSWORD,
    }
    GLOBAL_ASYNC_QUERIES_CACHE_BACKEND = {
      'CACHE_TYPE': 'RedisCache',
      'CACHE_REDIS_HOST': os.environ.get("REDIS_HOST"),
      'CACHE_REDIS_PORT': os.environ.get("REDIS_PORT"),
      'CACHE_REDIS_DB': os.environ.get("REDIS_DB"),
      'CACHE_REDIS_PASSWORD': REDIS_PASSWORD,
    }
```
This ensures Superset reads the password from the environment and uses it for all Redis connections [source](https://github.com/apache/superset/discussions/34650).

**2. Use a custom superset_config.py via configFromSecret:**

Create a Kubernetes Secret containing your own superset_config.py with the correct Redis settings, then set `configFromSecret` in your values.yaml to the name of that secret. This gives you full control, but you must include all required settings yourself [source](https://github.com/apache/superset/discussions/34861).

After updating your config, redeploy all Superset pods so the new settings take effect.

Let me know if you want a more detailed example for either approach!


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback/a1155a24-b101-4f22-8a27-869504e09f0f?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/a1155a24-b101-4f22-8a27-869504e09f0f?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/a1155a24-b101-4f22-8a27-869504e09f0f?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/a1155a24-b101-4f22-8a27-869504e09f0f?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/a1155a24-b101-4f22-8a27-869504e09f0f?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/a1155a24-b101-4f22-8a27-869504e09f0f?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/a1155a24-b101-4f22-8a27-869504e09f0f?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&
 nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/35496)

GitHub link: https://github.com/apache/superset/discussions/35496#discussioncomment-14587772

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org