Skip to content

UI chart cannot render the supported NoopProvider mode #767

Description

@knhsll

Tested artifacts:

  • SolAr chart: 0.0.0-pr.729.5c911b7
  • SolAr chart digest:
    sha256:ba6cf319791518f741031f6522ea52bf31fdb3c7272e4d5acbaaa127b71d1a2b
  • Discovery chart: 0.0.0-pr.729.5c911b7
  • Discovery chart digest:
    sha256:f060e926f576e656fff02546b5f674f9a080b412e55e467cbaf4b71b3e0b156f
  • Kubernetes runtime used for validation: v1.33.5

Summary

solar-ui supports operation without OIDC:
If no --oidc-issuer argument is configured, the server selects auth.NewNoopProvider().
The Helm chart nevertheless requires OIDC values whenever ui.enabled=true and always renders OIDC arguments 🤷🏻‍♂️

This prevents users from selecting the existing no-OIDC mode through Helm.

The chart template currently renders mandatory values:

- --oidc-issuer={{ required "ui.oidc.issuer is required when ui.enabled=true" .Values.ui.oidc.issuer }}
- --oidc-client-id={{ .Values.ui.oidc.clientID }}
- --oidc-redirect-url={{ required "ui.oidc.redirectURL is required when ui.enabled=true" .Values.ui.oidc.redirectURL }}

Reproduction

Just Enable the UI without configuring an OIDC issuer:

ui:
  enabled: true
  oidc:
    issuer: ""
    redirectURL: ""

Render the chart:

helm template solar ./charts/solar --set ui.enabled=true

Actual behavior

Helm rendering fails because ui.oidc.issuer and ui.oidc.redirectURL are
required.

Supplying placeholder values makes the chart render, but the UI then attempts OIDC discovery and exits when the placeholder issuer is unreachable.

Expected behavior

When ui.enabled=true and ui.oidc.issuer is empty, the Deployment should omit all --oidc-* arguments and allow the binary to use NoopProvider 🤔 ?

Suggested fix

  • Render OIDC arguments only when ui.oidc.issuer is non-empty.
  • Require redirectURL only inside that OIDC-enabled branch.
  • please add Helm rendering tests for UI with and without OIDC :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds-triageIssue that has not been reviewed

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions