Skip to content

feat(webui): download OIDC provider icons for local serving#529

Closed
Soap2G wants to merge 1 commit into
rucio:masterfrom
Soap2G:oidc-icons-download
Closed

feat(webui): download OIDC provider icons for local serving#529
Soap2G wants to merge 1 commit into
rucio:masterfrom
Soap2G:oidc-icons-download

Conversation

@Soap2G

@Soap2G Soap2G commented Jul 21, 2026

Copy link
Copy Markdown

Related to rucio/webui#805

The WebUI renders OIDC provider icons with next/image, which rejects remote hosts that are not allow-listed in next.config's images.remotePatterns. Operator-supplied icon URLs can point anywhere, so they cannot be allow-listed.

Mirror the existing community-logo handling: for each provider listed in RUCIO_WEBUI_OIDC_PROVIDERS that declares an *_ICON_URL, download the icon into public/oidc-icons/.png and repoint the env var at that local path. A failed download unsets the variable so the WebUI falls back to its default icon rather than a broken image.

Unlike the community logo, this runs before env generation: the logo's local path is hard-coded in the WebUI, whereas a provider icon's path is carried in the *_ICON_URL value the env generator writes to .env, so the value must be rewritten first.

The WebUI renders OIDC provider icons with next/image (rucio/webui#805),
which rejects remote hosts that are not allow-listed in next.config's
images.remotePatterns. Operator-supplied icon URLs can point anywhere, so
they cannot be allow-listed.

Mirror the existing community-logo handling: for each provider listed in
RUCIO_WEBUI_OIDC_PROVIDERS that declares an *_ICON_URL, download the icon
into public/oidc-icons/<name>.png and repoint the env var at that local
path. A failed download unsets the variable so the WebUI falls back to its
default icon rather than a broken image.

Unlike the community logo, this runs before env generation: the logo's
local path is hard-coded in the WebUI, whereas a provider icon's path is
carried in the *_ICON_URL value the env generator writes to .env, so the
value must be rewritten first.
@maany

maany commented Jul 21, 2026

Copy link
Copy Markdown
Member

Closing in favor of #530, which takes a download-only approach: the entrypoint just places the icon file and the WebUI gateway derives the served path and existence-checks it, so the container doesn't rewrite the generated .env. Thanks @Soap2G for the original implementation here. Continuing the icon work in #530 (paired with rucio/webui#806).

@maany maany closed this Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants