Skip to content

Fixes #26775: Use empty default for OIDC_CUSTOM_PARAMS to fix Compose brace-parsing#26965

Open
RajdeepKushwaha5 wants to merge 2 commits intoopen-metadata:mainfrom
RajdeepKushwaha5:fix/26775-quickstart-oidc-custom-params
Open

Fixes #26775: Use empty default for OIDC_CUSTOM_PARAMS to fix Compose brace-parsing#26965
RajdeepKushwaha5 wants to merge 2 commits intoopen-metadata:mainfrom
RajdeepKushwaha5:fix/26775-quickstart-oidc-custom-params

Conversation

@RajdeepKushwaha5
Copy link
Copy Markdown
Contributor

@RajdeepKushwaha5 RajdeepKushwaha5 commented Apr 2, 2026

Describe your changes:

Fixes #26775

Docker Compose rejects ${OIDC_CUSTOM_PARAMS:-{}} because the bare braces {} conflict with Compose's variable substitution syntax, causing a parse error on startup.

Changed the default from ${OIDC_CUSTOM_PARAMS:-{}} to ${OIDC_CUSTOM_PARAMS:-} (empty default) across all 8 Docker Compose files. This is correct because:

  1. conf/openmetadata.yaml already uses customParams: ${OIDC_CUSTOM_PARAMS:-} (empty default)
  2. The server null-checks getCustomParams() != null before using the value
  3. An empty/unset value is handled gracefully — no behavioral change for users who don't set OIDC_CUSTOM_PARAMS

Files changed:

  • docker/development/docker-compose.yml
  • docker/development/docker-compose-postgres.yml
  • docker/development/docker-compose-gcp.yml
  • docker/development/docker-compose-postgres-fuseki.yml
  • docker/docker-compose-openmetadata/docker-compose-openmetadata.yml
  • docker/docker-compose-quickstart/docker-compose.yml
  • docker/docker-compose-quickstart/docker-compose-postgres.yml
  • docker/docker-compose-quickstart/docker-compose-rdf.yml

Validation: All compose files pass docker compose config --quiet (GCP file fails due to a pre-existing unrelated GOOGLE_APPLICATION_CREDENTIALS issue).

Type of change:

  • Bug fix

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.
  • I have added a test that covers the exact scenario we are fixing. Validated via docker compose config --quiet on all 8 files.

Summary by Gitar

  • Bug fixes included in merge:
    • Resolved 409 entity already exist errors in DataObservabilityGovernanceTab.spec.ts
    • Fixed UI display issue for custom properties containing dots in property names
    • Corrected pod and label naming length constraints for omjob deployments

This will update automatically on new commits.

Copilot AI review requested due to automatic review settings April 2, 2026 09:26
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 2, 2026

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a Docker Compose interpolation edge case that could generate malformed YAML for customParams in OpenMetadata OIDC config when OIDC_CUSTOM_PARAMS is unset (notably in some Compose-compatible runtimes like Podman Compose).

Changes:

  • Quote the default value for OIDC_CUSTOM_PARAMS in Compose interpolation from ${OIDC_CUSTOM_PARAMS:-{}} to ${OIDC_CUSTOM_PARAMS:-"{}"}.
  • Apply the same fix consistently across quickstart, production, and development Compose files.

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/docker-compose-quickstart/docker-compose.yml Quotes OIDC_CUSTOM_PARAMS default to avoid brace-parsing ambiguity in Compose interpolation.
docker/docker-compose-quickstart/docker-compose-postgres.yml Same quoting fix for the Postgres quickstart Compose.
docker/docker-compose-quickstart/docker-compose-rdf.yml Same quoting fix for the RDF quickstart Compose.
docker/docker-compose-openmetadata/docker-compose-openmetadata.yml Same quoting fix for the OpenMetadata Compose bundle.
docker/development/docker-compose.yml Same quoting fix for the development Compose.
docker/development/docker-compose-postgres.yml Same quoting fix for the Postgres development Compose.
docker/development/docker-compose-gcp.yml Same quoting fix for the GCP development Compose.
docker/development/docker-compose-postgres-fuseki.yml Same quoting fix for the Postgres+Fuseki development Compose.

@harshach harshach added the safe to test Add this label to run secure Github workflows on PRs label Apr 2, 2026
miriann-uu
miriann-uu previously approved these changes Apr 2, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 16 comments.

OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-} is unquoted. If unset, it can resolve to YAML null (Compose pass-through/omit behavior); if set to {...}, it may be parsed as a YAML map rather than a string. Quote the interpolation or use an explicit empty-string default so the env var is always a string.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-""}"

Copilot uses AI. Check for mistakes.
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue as earlier in the file: leaving ${OIDC_CUSTOM_PARAMS:-} unquoted can resolve to YAML null when unset and can be parsed as a YAML map for {...} values. Quote the interpolation or default explicitly to an empty string so the container consistently receives a string.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-""}"

Copilot uses AI. Check for mistakes.
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue as earlier in the file: ${OIDC_CUSTOM_PARAMS:-} is unquoted; unset can become YAML null (Compose pass-through/omit), and {...} values can be parsed as YAML maps. Quote the interpolation or use an explicit empty-string default to keep the env var value a string.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-}"

Copilot uses AI. Check for mistakes.
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-} is unquoted, which can yield YAML null when unset (Compose pass-through/omit semantics) and YAML map typing when set to {...}. Quote the interpolation or default explicitly to an empty string to keep the env var consistently a string.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-""}"

Copilot uses AI. Check for mistakes.
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue as earlier in the file: this unquoted ${OIDC_CUSTOM_PARAMS:-} can become YAML null when unset and can be parsed as a YAML map when set to {...}, which can lead to Compose pass-through/omit semantics or unexpected stringification. Quote the interpolation or use an explicit empty-string default to ensure a string env var value.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-""}

Copilot uses AI. Check for mistakes.
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue as earlier in the file: ${OIDC_CUSTOM_PARAMS:-} is unquoted, which can produce YAML null when unset and YAML map typing when set to {...}. Quote the interpolation or use an explicit empty-string default to ensure Compose passes a string env var value.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-""}"

Copilot uses AI. Check for mistakes.
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-} is unquoted in a YAML mapping. When the variable is unset this can become a YAML null value (which Compose treats as “take from host env” / omit), and when set to something like {...} it can be parsed as a YAML map rather than a string. To keep Compose behavior consistent and ensure the container always receives a string, quote the interpolation (e.g., wrap the value in double quotes) or use an explicit empty-string default.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-}"

Copilot uses AI. Check for mistakes.
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-} is unquoted in a YAML mapping. When the variable is unset this can become a YAML null value (Compose treats null as pass-through/omit), and when set to {...} it can be parsed as a YAML map instead of a string. Quote the interpolation (wrap in double quotes) or use an explicit empty-string default to ensure the env var value is always a string.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-""}"

Copilot uses AI. Check for mistakes.
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-} is unquoted. With the variable unset it can become YAML null (Compose treats as pass-through/omit), and with values like {...} it may be parsed as a YAML map instead of a string. Quote the interpolation or default explicitly to an empty string to keep the env var consistently typed as a string.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-}"

Copilot uses AI. Check for mistakes.
Comment thread docker/development/docker-compose.yml Outdated
OIDC_TENANT: ${OIDC_TENANT:-""}
OIDC_MAX_CLOCK_SKEW: ${OIDC_MAX_CLOCK_SKEW:-""}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-{}}
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-} is unquoted in the environment map. This can resolve to YAML null when unset (Compose pass-through/omit semantics) and can be parsed as a YAML map if the value starts with {...}. Quote the interpolation or use an explicit empty-string default to ensure the container receives a string.

Suggested change
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-}
OIDC_CUSTOM_PARAMS: "${OIDC_CUSTOM_PARAMS:-""}"

Copilot uses AI. Check for mistakes.
Change all 16 occurrences of OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-} to
OIDC_CUSTOM_PARAMS: ${OIDC_CUSTOM_PARAMS:-`} across 8 Docker Compose files.

An unquoted bare default resolves to YAML null when the variable is
unset. Using empty-string default is consistent with all other
OIDC_* string variables (OIDC_TENANT, OIDC_MAX_CLOCK_SKEW, etc.)
and addresses Copilot reviewer comments on PR open-metadata#26965.
@gitar-bot
Copy link
Copy Markdown

gitar-bot Bot commented Apr 27, 2026

Code Review ✅ Approved 1 resolved / 1 findings

Updates OIDC_CUSTOM_PARAMS to use an empty default value to resolve Compose brace-parsing issues. The PR description has been updated to match the change.

✅ 1 resolved
Quality: PR description does not match actual change

📄 docker/development/docker-compose-gcp.yml:122 📄 docker/development/docker-compose-gcp.yml:336
The PR description states the fix is to change ${OIDC_CUSTOM_PARAMS:-{}} to ${OIDC_CUSTOM_PARAMS:-"{}"} (quoted braces), but the actual diff changes it to ${OIDC_CUSTOM_PARAMS:-} (empty default). The empty default is actually the correct approach — it aligns with conf/openmetadata.yaml which already uses customParams: ${OIDC_CUSTOM_PARAMS:-}, and the downstream code null-checks customParams before use. However, the description should be updated to accurately reflect the change to avoid confusing reviewers and future maintainers.

Options

Display: compact → Showing less information.

Comment with these commands to change:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issues with QuickStart

4 participants