You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upgrade Redash to v25.8.0, update PostgreSQL and Redis dependencies, … (#202)
* Upgrade Redash to v25.8.0, update PostgreSQL and Redis dependencies, add automatic migration hooks for PostgreSQL, and change default image repository. Update changelog and README for version 3.2.0.
* Update CI workflow to support Kubernetes versions 1.30-1.34 and revise Redash chart README to reflect new version compatibility.
* Add support for Redis and PostgreSQL in Redash deployment templates
- Updated deployment templates to conditionally set environment variables for Redis and PostgreSQL based on their enabled status.
- Added a new entry to .gitignore for test-values.yaml.
- Updated requirements.lock with a new digest for PostgreSQL dependency.
* Refactor PostgreSQL migration configuration in Redash chart
- Updated values.yaml to simplify PVC creation instructions for PostgreSQL migration.
- Modified hook-postgres-migration.yaml to directly reference the PVC name for migration storage, enhancing clarity and usability.
* Add Redis support to CI workflow
- Enhanced the CI configuration to include Redis authentication with a randomly generated password.
- This addition allows for better integration testing of Redis alongside PostgreSQL in the CI pipeline.
* Enhance CI workflow and update Redash migration documentation
- Set a timeout of 30 minutes for the CI job on Minikube to improve reliability.
- Added critical PostgreSQL upgrade instructions in the Redash chart README, detailing automatic and manual migration options from version 15 to 18.
- Improved the PostgreSQL migration hook script to include detailed steps and error handling for scaling down StatefulSets and deleting PVCs during the upgrade process.
- Updated the test connection template to use a newer version of the curl image.
* Update Minikube setup version in CI workflow to v0.0.21 for improved compatibility
* Enhance Redash migration job script to include detailed migration steps
- Added steps to apply existing migrations, detect schema differences, and generate new migration files if necessary.
- Improved error handling by allowing migration commands to continue even if no migrations are generated.
- Updated script for both PostgreSQL enabled and disabled scenarios to ensure consistent behavior.
* Refactor Redash migration job script to streamline database creation process
- Replaced detailed migration steps with a simplified command to create the database directly.
- Removed redundant migration commands for improved clarity and efficiency in the hook-migrations-job.yaml file.
- Maintained compatibility for both PostgreSQL enabled and disabled scenarios.
* Enhance CI workflow for Helm chart testing
- Added Bitnami Helm repository and updated it to ensure the latest charts are available.
- Included helm linting step to validate the Redash chart before building dependencies, improving the CI process.
* Update Kubernetes compatibility in Redash chart and CI workflow
- Removed support for Kubernetes version 1.30 in the CI workflow, now supporting versions 1.31-1.34.
- Updated README to reflect the new minimum Kubernetes requirement of 1.31 and adjusted compatibility notes accordingly.
* Increase timeout for CI jobs and Helm upgrades in workflow
- Updated the timeout for the CI job on Minikube from 30 to 45 minutes to enhance reliability.
- Added a 10-minute timeout for Helm upgrade commands to ensure they complete successfully within a reasonable timeframe.
@@ -78,6 +78,7 @@ The following table lists the configurable parameters of the Redash chart and th
78
78
79
79
| Key | Type | Default | Description |
80
80
|-----|------|---------|-------------|
81
+
| commonLabels | object |`{}`||
81
82
| env | object |`{"PYTHONUNBUFFERED":0,"REDASH_PRODUCTION":"true"}`| Redash global environment variables - applied to both server and worker containers. |
82
83
| externalPostgreSQL | string |`nil`| External PostgreSQL configuration. To use an external PostgreSQL instead of the automatically deployed postgresql chart: set postgresql.enabled to false then uncomment and configure the externalPostgreSQL connection URL (e.g. postgresql://user:pass@host:5432/database) |
83
84
| externalPostgreSQLSecret | object |`{}`| Read external PostgreSQL configuration from a secret. This should point at a secret file with a single key which specifies the connection string. |
@@ -87,7 +88,7 @@ The following table lists the configurable parameters of the Redash chart and th
87
88
| fullnameOverride | string |`""`||
88
89
| image.pullPolicy | string |`"IfNotPresent"`||
89
90
| image.registry | string |`"docker.io"`||
90
-
| image.repo | string |`"redash/preview"`| Redash image name used for server and worker pods |
91
+
| image.repo | string |`"redash/redash"`| Redash image name used for server and worker pods |
| migrations.tolerations | list |`[]`| Tolerations for server pod assignment [ref](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/)|
@@ -114,6 +117,9 @@ The following table lists the configurable parameters of the Redash chart and th
114
117
| postgresql.auth.username | string |`"redash"`| PostgreSQL username for redash user (when postgresql chart enabled) |
115
118
| postgresql.enabled | bool |`true`| Whether to deploy a PostgreSQL server to satisfy the applications database requirements. To use an external PostgreSQL set this to false and configure the externalPostgreSQL parameter. |
116
119
| postgresql.primary.service.ports.postgresql | int |`5432`||
120
+
| postgresqlMigration.enabled | bool |`false`| Enable automatic PostgreSQL migration hooks for major version upgrades (e.g., 15→18). WARNING: Requires a PVC to be created beforehand for storing the dump between pre-upgrade and post-upgrade hooks. Create a PVC: kubectl create -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: <release-name>-postgres-migration spec: accessModes: [ReadWriteOnce] resources: requests: storage: 10Gi EOF Then set postgresqlMigration.storage.pvcName to the PVC name. |
| postgresqlMigration.storage.pvcName | string |`""`| REQUIRED: Name of existing PVC to use for storing migration dumps. The PVC must exist before running the upgrade. Both pre-upgrade (dump) and post-upgrade (restore) hooks use this PVC. If not set, uses emptyDir which will NOT persist between hooks (migration will fail). |
117
123
| redash.additionalDestinations | string |`""`|`REDASH_ADDITIONAL_DESTINATIONS` value. Comma-separated list of non-default alert destinations to be enabled. |
118
124
| redash.additionalQueryRunners | string |`""`|`REDASH_ADDITIONAL_QUERY_RUNNERS` value. Comma-separated list of non-default query runners to be enabled. |
119
125
| redash.adhocQueryTimeLimit | string | None |`REDASH_ADHOC_QUERY_TIME_LIMIT` value. Time limit for adhoc queries (in seconds). |
@@ -212,6 +218,7 @@ The following table lists the configurable parameters of the Redash chart and th
212
218
| scheduler.podAnnotations | object |`{}`| Annotations for scheduler pod assignment [ref](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/)|
213
219
| scheduler.podLabels | object |`{}`| Labels for scheduler pod assignment [ref](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)|
214
220
| scheduler.podSecurityContext | object |`{}`| Security contexts for scheduler pod assignment [ref](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)|
221
+
| scheduler.priorityClassName | string |`nil`||
215
222
| scheduler.replicaCount | int |`1`| Number of scheduler pods to run |
@@ -227,6 +234,7 @@ The following table lists the configurable parameters of the Redash chart and th
227
234
| server.podAnnotations | object |`{}`| Annotations for server pod assignment [ref](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/)|
228
235
| server.podLabels | object |`{}`| Labels for server pod assignment [ref](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)|
229
236
| server.podSecurityContext | object |`{}`| Security contexts for server pod assignment [ref](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)|
237
+
| server.priorityClassName | string |`nil`||
230
238
| server.readinessProbe | object |`{"failureThreshold":3,"initialDelaySeconds":10,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}`| Server readiness probe configuration |
231
239
| server.replicaCount | int |`1`| Number of server pods to run |
232
240
| server.resources | object |`{}`| Server resource requests and limits [ref](http://kubernetes.io/docs/user-guide/compute-resources/)|
@@ -251,6 +259,7 @@ The following table lists the configurable parameters of the Redash chart and th
251
259
| worker.podAnnotations | object |`{}`| Default annotations for worker pod assignment [ref](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/)|
252
260
| worker.podLabels | object |`{}`| Default labels for worker pod assignment [ref](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)|
@@ -288,6 +297,91 @@ Below are notes on manual configuration changes or steps needed for major chart
288
297
- replaced `hookInstallJob` and `hookUpgradeJob` with `migrations`
289
298
- Moved custom entrypoint scripts to [Redash repo](https://github.com/getredash/redash/pull/6674)
290
299
300
+
### From 3.1 to 3.2
301
+
302
+
**CRITICAL: PostgreSQL Major Version Upgrade (15→18)**
303
+
304
+
This upgrade includes a PostgreSQL major version upgrade from 15 to 18. **PostgreSQL major versions are NOT data-directory compatible** - PostgreSQL 18 cannot read PostgreSQL 15 data directly.
305
+
306
+
**Two upgrade options:**
307
+
308
+
#### Option 1: Automatic Migration (Recommended)
309
+
310
+
Enable automatic migration hooks:
311
+
312
+
1.**Create a PVC for migration storage** (required):
0 commit comments