helm: make MySQL DB_URL extensible/overridable, wire Grafana datasource envs, and add smoke-test CI#350
Conversation
- Introduce `DB_CUSTOM_PARAMS` in `configmap.yaml`. - Enhance `DB_URL` in `deployments.yaml` to include custom params. - Define `mysql.extraParams` in `values.yaml` for configuration. Signed-off-by: kahirokunn <okinakahiro@gmail.com>
Signed-off-by: kahirokunn <okinakahiro@gmail.com>
51b3336 to
936fe3b
Compare
137df06 to
3563d50
Compare
DB_URL extensible/overridable, wire Grafana datasource envs, and add smoke-test CI
- Introduced `connectionConfigmapName` to optionally override the default ConfigMap name for better configurability. Signed-off-by: kahirokunn <okinakahiro@gmail.com>
bfd2d43 to
c7bf213
Compare
Signed-off-by: kahirokunn <okinakahiro@gmail.com>
Signed-off-by: kahirokunn <okinakahiro@gmail.com>
Signed-off-by: kahirokunn <okinakahiro@gmail.com>
…ng MySQL probes to TCP Signed-off-by: kahirokunn <okinakahiro@gmail.com>
b0a9def to
8417819
Compare
|
Release is failing https://github.com/apache/incubator-devlake-helm-chart/actions/runs/17422005314 |
|
Hi @klesh , I looked into the failing release run https://github.com/apache/incubator-devlake-helm-chart/actions/runs/17422005314. It’s being blocked by our Actions allowlist policy— Would you be open to adding Please let me know which direction you’d prefer—happy to adjust accordingly. |
|
@kahirokunn Thanks for the quick response. |
|
Okay, I have created a new PR. |
|
Thank you very much for the quick fix. 👍 |
|
Thank you so much for your kind words! I truly appreciate your support. |
…urce envs, and add smoke-test CI (apache#350) * Add custom MySQL DSN query params feature - Introduce `DB_CUSTOM_PARAMS` in `configmap.yaml`. - Enhance `DB_URL` in `deployments.yaml` to include custom params. - Define `mysql.extraParams` in `values.yaml` for configuration. Signed-off-by: kahirokunn <okinakahiro@gmail.com> * Enable optional DB URL auto-assembly for MySQL Signed-off-by: kahirokunn <okinakahiro@gmail.com> * fix: Pass MySQL env vars to Grafana for datasource setup - Introduced `connectionConfigmapName` to optionally override the default ConfigMap name for better configurability. Signed-off-by: kahirokunn <okinakahiro@gmail.com> * Add Helm smoke test workflow Signed-off-by: kahirokunn <okinakahiro@gmail.com> * Link Secret and ConfigMap names in values.yaml Signed-off-by: kahirokunn <okinakahiro@gmail.com> * Add customizable probes for MySQL containers Signed-off-by: kahirokunn <okinakahiro@gmail.com> * fix(mysql): Resolve environment-dependent startup failures by switching MySQL probes to TCP Signed-off-by: kahirokunn <okinakahiro@gmail.com> --------- Signed-off-by: kahirokunn <okinakahiro@gmail.com>
Fixes #340 #349
What changed (approach)
Extensible & overridable MySQL DB URL
mysql.extraParams(e.g.,&tls=skip-verify), appended to the generated DSN.option.assembleDbUrl(defaulttrue). When set tofalse, the chart skips auto-assembly so users can supplyDB_URLvialake.envsor an external Secret/ConfigMap.DB_CUSTOM_PARAMSvia ConfigMap to keep env composition explicit.Grafana datasource picks up MySQL envs
option.connectionConfigmapNameand wires it intografana.extraEnvFrom, ensuring theMYSQL_*envs are visible to Grafana for the DevLake datasource initialization.New GitHub Actions smoke-test (repro & prevention)
Why this solves the issues
DB_URLand append DSN params viamysql.extraParams, or (b) turn off assembly and provide a bespokeDB_URL, unblocking cases where the DSN must be fully controlled.Backward compatibility
option.assembleDbUrl: trueby default → current installs keep their behavior.mysql.extraParamsdefaults to empty (no change).New/updated values
Local verification
I reproduced the scenarios locally and confirmed the chart works end-to-end (install, readiness, and Grafana datasource connectivity) with the changes in this PR.
Screenshot (attached):
Notes for reviewers