Fixes #26775: quote OIDC_CUSTOM_PARAMS default to prevent compose brace-parsing crash#27217
Conversation
…e-parsing crash Fixes open-metadata#26775
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
Code Review ✅ ApprovedQuoting OIDC_CUSTOM_PARAMS default value prevents Docker Compose from misinterpreting braces as variable references. No issues found. OptionsDisplay: compact → Showing less information. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
There was a problem hiding this comment.
Pull request overview
This PR addresses a Docker Compose interpolation edge case where using {} as the default value for OIDC_CUSTOM_PARAMS inside ${...:-...} can produce malformed YAML and crash OpenMetadata on startup (Fixes #26775).
Changes:
- Wrapped
OIDC_CUSTOM_PARAMSvalues in double quotes across all affected Docker Compose files so the${OIDC_CUSTOM_PARAMS:-{}}default no longer triggers brace-related interpolation issues. - Applied the same fix consistently across development, OpenMetadata, and quickstart Compose variants.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| docker/development/docker-compose-gcp.yml | Quotes OIDC_CUSTOM_PARAMS interpolation to prevent malformed default expansion. |
| docker/development/docker-compose-postgres-fuseki.yml | Quotes OIDC_CUSTOM_PARAMS interpolation to prevent malformed default expansion. |
| docker/development/docker-compose-postgres.yml | Quotes OIDC_CUSTOM_PARAMS interpolation to prevent malformed default expansion. |
| docker/development/docker-compose.yml | Quotes OIDC_CUSTOM_PARAMS interpolation to prevent malformed default expansion. |
| docker/docker-compose-openmetadata/docker-compose-openmetadata.yml | Quotes OIDC_CUSTOM_PARAMS interpolation to prevent malformed default expansion. |
| docker/docker-compose-quickstart/docker-compose-postgres.yml | Quotes OIDC_CUSTOM_PARAMS interpolation to prevent malformed default expansion. |
| docker/docker-compose-quickstart/docker-compose-rdf.yml | Quotes OIDC_CUSTOM_PARAMS interpolation to prevent malformed default expansion. |
| docker/docker-compose-quickstart/docker-compose.yml | Quotes OIDC_CUSTOM_PARAMS interpolation to prevent malformed default expansion. |
🟡 Playwright Results — all passed (37 flaky)✅ 3581 passed · ❌ 0 failed · 🟡 37 flaky · ⏭️ 207 skipped
🟡 37 flaky test(s) (passed on retry)
How to debug locally# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip # view trace |
|
Hi @mohitjeswani01 , thanks for your pr here! We had a PR submitted for this already here. Please make sure that you are assigned an issue and that there is not a PR out for it already before submitting something. We will reopen this PR if necessary. |
Describe your changes:
Fixes #26775
I worked on all Docker Compose files because the line:
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}was fragile —the
{}default value contains curly braces that conflict withCompose variable interpolation syntax, causing the server to crash
on startup with
Malformed YAML: customParams: {}}.Root Cause
Docker Compose interprets
{}inside${}as nested substitution,producing malformed YAML. The fix is to wrap the entire value in
double quotes — Compose still performs variable substitution inside
quoted strings, so env var override continues to work correctly.
What I Changed
Replaced all 16 occurrences across 8 Docker Compose files:
Files fixed:
docker/development/docker-compose-gcp.ymldocker/development/docker-compose-postgres-fuseki.ymldocker/development/docker-compose-postgres.ymldocker/development/docker-compose.ymldocker/docker-compose-openmetadata/docker-compose-openmetadata.ymldocker/docker-compose-quickstart/docker-compose-postgres.ymldocker/docker-compose-quickstart/docker-compose-rdf.ymldocker/docker-compose-quickstart/docker-compose.ymlVerification
OIDC_CUSTOM_PARAMSis set{}(valid JSON empty object) when not sete.g.
OIDC_SCOPE: ${OIDC_SCOPE:-"openid email profile"}Type of change:
Checklist:
Fixes #26775: quote OIDC_CUSTOM_PARAMS default to prevent compose brace-parsing crash