Skip to content

feat: theme customization#1382

Merged
slaskawi merged 6 commits intomainfrom
319-customize_keycloak_themes
Mar 28, 2025
Merged

feat: theme customization#1382
slaskawi merged 6 commits intomainfrom
319-customize_keycloak_themes

Conversation

@slaskawi
Copy link
Copy Markdown
Contributor

@slaskawi slaskawi commented Mar 25, 2025

Description

This Pull Request introduces basic theme customization capabilities. The customization is opinionated and limited to:

  • Background image
  • Logo
  • Footer
  • Favicon

This Pull Request depends on defenseunicorns/uds-identity-config#387

Related Issue

Fixes defenseunicorns/uds-identity-config#319

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Other (security config, docs update, etc)

Steps to Validate

  1. Run uds run dev-setup && npx pepr deploy --confirm
  2. Create a Keycloak Namespace and the ConfigMap with the images:
apiVersion: v1
kind: Namespace
metadata:
  name: keycloak
  labels:
    name: keycloak
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: keycloak-theme-overrides
  namespace: keycloak
binaryData:
  background.jpg: /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMgIyIuKjYp
  logo.svg: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iIzAwMDAwMCIvPgogIDxwYXRoIGQ9Ik0yNTAsNTAgQzEwMCw1MCAwLDEwIDAsMTAgQzEwLDIwIDAsMzAgMCwyMCAiIGZpbGw9IiMwMDAwMDAiLz4KPC9zdmc+Cg==
  favicon.svg: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iIzAwMDAwMCIvPgogIDxwYXRoIGQ9Ik0yNTAsNTAgQzEwMCw1MCAwLDEwIDAsMTAgQzEwLDIwIDAsMzAgMCwyMCAiIGZpbGw9IiMwMDAwMDAiLz4KPC9zdmc+Cg==
  footer.png: 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
  1. Apply the above to the cluster
  2. Modify the Keycloak values.yaml and insert:
themeCustomizations:
  resources:
    images:
      - name: background.jpg
        configmap:
          name: keycloak-theme-overrides
      - name: footer.png
        configmap:
          name: keycloak-theme-overrides
      - name: logo.svg
        configmap:
          name: keycloak-theme-overrides
      - name: favicon.svg
        configmap:
          name: keycloak-theme-overrides
  1. Deploy Keycloak as usual - uds run dev-deploy --set LAYER=identity-authorization
  2. Navigate to the uds-identity-config project with cloned feat: theme customization uds-identity-config#387
  3. (there's probably a better way, but I'm doing this) Deploy the customized initContainer:
    7a. Run uds run dev-build
    7b. Run tag docker tag uds-core-config:keycloak ghcr.io/defenseunicorns/uds/identity-config:0.10.2
    7c. Run k3d image import -c uds ghcr.io/defenseunicorns/uds/identity-config:0.10.2
    7d. Rotate Keycloak Pod
    7e. Verify that your Keycloak is running the image from the PR
  4. Go to https://sso.uds.dev and noticed changed theme
obraz

Checklist before merging

@slaskawi slaskawi changed the title feat: theme overrides feat: theme customization Mar 25, 2025
Comment thread src/keycloak/chart/templates/keycloak-theme-overrides.yaml Outdated
@slaskawi slaskawi force-pushed the 319-customize_keycloak_themes branch from 30c5660 to ddfbef1 Compare March 26, 2025 10:17
@slaskawi slaskawi marked this pull request as ready for review March 26, 2025 10:17
@slaskawi slaskawi requested a review from a team as a code owner March 26, 2025 10:17
Comment thread src/keycloak/chart/values.schema.json
Comment thread src/keycloak/chart/values.schema.json
@slaskawi slaskawi enabled auto-merge (squash) March 27, 2025 12:50
Comment thread src/keycloak/chart/values.yaml
@slaskawi slaskawi merged commit 55ef41b into main Mar 28, 2025
15 checks passed
@slaskawi slaskawi deleted the 319-customize_keycloak_themes branch March 28, 2025 18:27
chance-coleman pushed a commit that referenced this pull request Apr 1, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.39.0](v0.38.0...v0.39.0)
(2025-04-01)


### ⚠ BREAKING CHANGES

* dynamic generation of Istio AuthorizationPolicy resources in ambient
mode based on the configuration defined in a UDSPackage. ALL requests to
a pod with authservice protection MUST have a jwt from Keycloak. More
fine-grained protection can be done with additional DENY policies, but
there will always be a requirement for a Keycloak JWT in addition.

### Features

* add alertmanager datasource to grafana
([#1374](#1374))
([818a3a0](818a3a0))
* ambient mesh authorization policy generation
(#1384)
([b47daba](b47daba))
* new webauth and mfa flows
([#1370](#1370))
([1ac1b03](1ac1b03))
* theme customization
([#1382](#1382))
([55ef41b](55ef41b))
* use Client Credentials for managing Keycloak Clients
([#1341](#1341))
([4db9cc7](4db9cc7))


### Bug Fixes

* add delete credential keycloak secret value
([#1398](#1398))
([d45b3e6](d45b3e6))
* broken selectors for internal dependencies on charts
([#1403](#1403))
([d72b194](d72b194))


### Miscellaneous

* add additionalNetworkAllow to keycloak and loki
([#1379](#1379))
([8200bce](8200bce))
* add docs for layer selection
([#1216](#1216))
([c170322](c170322))
* **deps:** update grafana
([#1383](#1383))
([122dc58](122dc58))
* **deps:** update grafana to v8.10.4
([#1363](#1363))
([fb163bd](fb163bd))
* **deps:** update istio to v1.25.0
([#1335](#1335))
([1803ea7](1803ea7))
* **deps:** update keycloak to v0.11.1
([#1400](#1400))
([6fdcd0c](6fdcd0c))
* **deps:** update keycloak to v26.1.4
([#1356](#1356))
([31152f7](31152f7))
* **deps:** update pepr to v0.46.3
([#1365](#1365))
([304a556](304a556))
* **deps:** update prometheus-stack
([#1362](#1362))
([ae40b27](ae40b27))
* **deps:** update prometheus-stack
([#1380](#1380))
([eec3337](eec3337))
* **deps:** update support dependencies to v22.13.17
([#1401](#1401))
([8a81eec](8a81eec))
* **deps:** update support-deps
([#1364](#1364))
([7819bec](7819bec))
* **deps:** update support-deps
([#1376](#1376))
([dd22589](dd22589))
* **deps:** update support-deps
([#1390](#1390))
([f06bb70](f06bb70))
* **deps:** update support-deps
([#1392](#1392))
([c0762a3](c0762a3))
* **deps:** update ts-jest to v29.3.0
([#1377](#1377))
([8b2174a](8b2174a))
* **deps:** update velero to v8.6.0
([#1371](#1371))
([93a44e6](93a44e6))
* remove kiali and tempo references from repo
([#1375](#1375))
([8374de3](8374de3))
* update how to scrape metrics
([#1378](#1378))
([e808f7d](e808f7d))
* update unicorn ztunnel image to 1.25.0
([#1389](#1389))
([7e446cb](7e446cb))


### Documentation

* velero csi vsphere backups
([#1385](#1385))
([5ae33b2](5ae33b2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
noahpb pushed a commit that referenced this pull request Apr 2, 2025
## Description

This Pull Request introduces basic theme customization capabilities. The
customization is opinionated and limited to:

* Background image
* Logo
* Footer
* Favicon

This Pull Request depends on
defenseunicorns/uds-identity-config#387

## Related Issue

Fixes defenseunicorns/uds-identity-config#319

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Other (security config, docs update, etc)

## Steps to Validate

1. Run `uds run dev-setup && npx pepr deploy --confirm`
2. Create a Keycloak Namespace and the ConfigMap with the images:

```yaml
apiVersion: v1
kind: Namespace
metadata:
  name: keycloak
  labels:
    name: keycloak
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: keycloak-theme-overrides
  namespace: keycloak
binaryData:
  background.jpg: /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMgIyIuKjYp
  logo.svg: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iIzAwMDAwMCIvPgogIDxwYXRoIGQ9Ik0yNTAsNTAgQzEwMCw1MCAwLDEwIDAsMTAgQzEwLDIwIDAsMzAgMCwyMCAiIGZpbGw9IiMwMDAwMDAiLz4KPC9zdmc+Cg==
  favicon.svg: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iIzAwMDAwMCIvPgogIDxwYXRoIGQ9Ik0yNTAsNTAgQzEwMCw1MCAwLDEwIDAsMTAgQzEwLDIwIDAsMzAgMCwyMCAiIGZpbGw9IiMwMDAwMDAiLz4KPC9zdmc+Cg==
  footer.png: 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
```
3. Apply the above to the cluster
4. Modify the Keycloak `values.yaml` and insert:

```yaml
themeCustomizations:
  resources:
    images:
      - name: background.jpg
        configmap:
          name: keycloak-theme-overrides
      - name: footer.png
        configmap:
          name: keycloak-theme-overrides
      - name: logo.svg
        configmap:
          name: keycloak-theme-overrides
      - name: favicon.svg
        configmap:
          name: keycloak-theme-overrides
```

6. Deploy Keycloak as usual - `uds run dev-deploy --set
LAYER=identity-authorization`
7. Navigate to the `uds-identity-config` project with cloned
defenseunicorns/uds-identity-config#387
8. (there's probably a better way, but I'm doing this) Deploy the
customized initContainer:
7a. Run `uds run dev-build`
7b. Run `tag docker tag uds-core-config:keycloak
ghcr.io/defenseunicorns/uds/identity-config:0.10.2`
7c. Run `k3d image import -c uds
ghcr.io/defenseunicorns/uds/identity-config:0.10.2`
7d. Rotate Keycloak Pod
7e. Verify that your Keycloak is running the image from the PR
9. Go to https://sso.uds.dev and noticed changed theme

<img width="441" alt="obraz"
src="https://github.com/user-attachments/assets/ce334b8a-7626-414a-aa86-b42ac2fb697f"
/>


## Checklist before merging

- [x] Test, docs, adr added or updated as needed
- [x] [Contributor
Guide](https://github.com/defenseunicorns/uds-template-capability/blob/main/CONTRIBUTING.md)
followed
noahpb pushed a commit that referenced this pull request Apr 2, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.39.0](v0.38.0...v0.39.0)
(2025-04-01)


### ⚠ BREAKING CHANGES

* dynamic generation of Istio AuthorizationPolicy resources in ambient
mode based on the configuration defined in a UDSPackage. ALL requests to
a pod with authservice protection MUST have a jwt from Keycloak. More
fine-grained protection can be done with additional DENY policies, but
there will always be a requirement for a Keycloak JWT in addition.

### Features

* add alertmanager datasource to grafana
([#1374](#1374))
([818a3a0](818a3a0))
* ambient mesh authorization policy generation
(#1384)
([b47daba](b47daba))
* new webauth and mfa flows
([#1370](#1370))
([1ac1b03](1ac1b03))
* theme customization
([#1382](#1382))
([55ef41b](55ef41b))
* use Client Credentials for managing Keycloak Clients
([#1341](#1341))
([4db9cc7](4db9cc7))


### Bug Fixes

* add delete credential keycloak secret value
([#1398](#1398))
([d45b3e6](d45b3e6))
* broken selectors for internal dependencies on charts
([#1403](#1403))
([d72b194](d72b194))


### Miscellaneous

* add additionalNetworkAllow to keycloak and loki
([#1379](#1379))
([8200bce](8200bce))
* add docs for layer selection
([#1216](#1216))
([c170322](c170322))
* **deps:** update grafana
([#1383](#1383))
([122dc58](122dc58))
* **deps:** update grafana to v8.10.4
([#1363](#1363))
([fb163bd](fb163bd))
* **deps:** update istio to v1.25.0
([#1335](#1335))
([1803ea7](1803ea7))
* **deps:** update keycloak to v0.11.1
([#1400](#1400))
([6fdcd0c](6fdcd0c))
* **deps:** update keycloak to v26.1.4
([#1356](#1356))
([31152f7](31152f7))
* **deps:** update pepr to v0.46.3
([#1365](#1365))
([304a556](304a556))
* **deps:** update prometheus-stack
([#1362](#1362))
([ae40b27](ae40b27))
* **deps:** update prometheus-stack
([#1380](#1380))
([eec3337](eec3337))
* **deps:** update support dependencies to v22.13.17
([#1401](#1401))
([8a81eec](8a81eec))
* **deps:** update support-deps
([#1364](#1364))
([7819bec](7819bec))
* **deps:** update support-deps
([#1376](#1376))
([dd22589](dd22589))
* **deps:** update support-deps
([#1390](#1390))
([f06bb70](f06bb70))
* **deps:** update support-deps
([#1392](#1392))
([c0762a3](c0762a3))
* **deps:** update ts-jest to v29.3.0
([#1377](#1377))
([8b2174a](8b2174a))
* **deps:** update velero to v8.6.0
([#1371](#1371))
([93a44e6](93a44e6))
* remove kiali and tempo references from repo
([#1375](#1375))
([8374de3](8374de3))
* update how to scrape metrics
([#1378](#1378))
([e808f7d](e808f7d))
* update unicorn ztunnel image to 1.25.0
([#1389](#1389))
([7e446cb](7e446cb))


### Documentation

* velero csi vsphere backups
([#1385](#1385))
([5ae33b2](5ae33b2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
mjnagel pushed a commit to BagelLab/uds-core that referenced this pull request Nov 14, 2025
## Description

This Pull Request introduces basic theme customization capabilities. The
customization is opinionated and limited to:

* Background image
* Logo
* Footer
* Favicon

This Pull Request depends on
defenseunicorns/uds-identity-config#387

## Related Issue

Fixes defenseunicorns/uds-identity-config#319

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Other (security config, docs update, etc)

## Steps to Validate

1. Run `uds run dev-setup && npx pepr deploy --confirm`
2. Create a Keycloak Namespace and the ConfigMap with the images:

```yaml
apiVersion: v1
kind: Namespace
metadata:
  name: keycloak
  labels:
    name: keycloak
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: keycloak-theme-overrides
  namespace: keycloak
binaryData:
  background.jpg: /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMgIyIuKjYp
  logo.svg: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iIzAwMDAwMCIvPgogIDxwYXRoIGQ9Ik0yNTAsNTAgQzEwMCw1MCAwLDEwIDAsMTAgQzEwLDIwIDAsMzAgMCwyMCAiIGZpbGw9IiMwMDAwMDAiLz4KPC9zdmc+Cg==
  favicon.svg: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iIzAwMDAwMCIvPgogIDxwYXRoIGQ9Ik0yNTAsNTAgQzEwMCw1MCAwLDEwIDAsMTAgQzEwLDIwIDAsMzAgMCwyMCAiIGZpbGw9IiMwMDAwMDAiLz4KPC9zdmc+Cg==
  footer.png: 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
```
3. Apply the above to the cluster
4. Modify the Keycloak `values.yaml` and insert:

```yaml
themeCustomizations:
  resources:
    images:
      - name: background.jpg
        configmap:
          name: keycloak-theme-overrides
      - name: footer.png
        configmap:
          name: keycloak-theme-overrides
      - name: logo.svg
        configmap:
          name: keycloak-theme-overrides
      - name: favicon.svg
        configmap:
          name: keycloak-theme-overrides
```

6. Deploy Keycloak as usual - `uds run dev-deploy --set
LAYER=identity-authorization`
7. Navigate to the `uds-identity-config` project with cloned
defenseunicorns/uds-identity-config#387
8. (there's probably a better way, but I'm doing this) Deploy the
customized initContainer:
7a. Run `uds run dev-build`
7b. Run `tag docker tag uds-core-config:keycloak
ghcr.io/defenseunicorns/uds/identity-config:0.10.2`
7c. Run `k3d image import -c uds
ghcr.io/defenseunicorns/uds/identity-config:0.10.2`
7d. Rotate Keycloak Pod
7e. Verify that your Keycloak is running the image from the PR
9. Go to https://sso.uds.dev and noticed changed theme

<img width="441" alt="obraz"
src="https://github.com/user-attachments/assets/ce334b8a-7626-414a-aa86-b42ac2fb697f"
/>


## Checklist before merging

- [x] Test, docs, adr added or updated as needed
- [x] [Contributor
Guide](https://github.com/defenseunicorns/uds-template-capability/blob/main/CONTRIBUTING.md)
followed
mjnagel pushed a commit to BagelLab/uds-core that referenced this pull request Nov 14, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.39.0](defenseunicorns/uds-core@v0.38.0...v0.39.0)
(2025-04-01)


### ⚠ BREAKING CHANGES

* dynamic generation of Istio AuthorizationPolicy resources in ambient
mode based on the configuration defined in a UDSPackage. ALL requests to
a pod with authservice protection MUST have a jwt from Keycloak. More
fine-grained protection can be done with additional DENY policies, but
there will always be a requirement for a Keycloak JWT in addition.

### Features

* add alertmanager datasource to grafana
([defenseunicorns#1374](defenseunicorns#1374))
([818a3a0](defenseunicorns@818a3a0))
* ambient mesh authorization policy generation
(defenseunicorns#1384)
([b47daba](defenseunicorns@b47daba))
* new webauth and mfa flows
([defenseunicorns#1370](defenseunicorns#1370))
([1ac1b03](defenseunicorns@1ac1b03))
* theme customization
([defenseunicorns#1382](defenseunicorns#1382))
([55ef41b](defenseunicorns@55ef41b))
* use Client Credentials for managing Keycloak Clients
([defenseunicorns#1341](defenseunicorns#1341))
([4db9cc7](defenseunicorns@4db9cc7))


### Bug Fixes

* add delete credential keycloak secret value
([defenseunicorns#1398](defenseunicorns#1398))
([d45b3e6](defenseunicorns@d45b3e6))
* broken selectors for internal dependencies on charts
([defenseunicorns#1403](defenseunicorns#1403))
([d72b194](defenseunicorns@d72b194))


### Miscellaneous

* add additionalNetworkAllow to keycloak and loki
([defenseunicorns#1379](defenseunicorns#1379))
([8200bce](defenseunicorns@8200bce))
* add docs for layer selection
([defenseunicorns#1216](defenseunicorns#1216))
([c170322](defenseunicorns@c170322))
* **deps:** update grafana
([defenseunicorns#1383](defenseunicorns#1383))
([122dc58](defenseunicorns@122dc58))
* **deps:** update grafana to v8.10.4
([defenseunicorns#1363](defenseunicorns#1363))
([fb163bd](defenseunicorns@fb163bd))
* **deps:** update istio to v1.25.0
([defenseunicorns#1335](defenseunicorns#1335))
([1803ea7](defenseunicorns@1803ea7))
* **deps:** update keycloak to v0.11.1
([defenseunicorns#1400](defenseunicorns#1400))
([6fdcd0c](defenseunicorns@6fdcd0c))
* **deps:** update keycloak to v26.1.4
([defenseunicorns#1356](defenseunicorns#1356))
([31152f7](defenseunicorns@31152f7))
* **deps:** update pepr to v0.46.3
([defenseunicorns#1365](defenseunicorns#1365))
([304a556](defenseunicorns@304a556))
* **deps:** update prometheus-stack
([defenseunicorns#1362](defenseunicorns#1362))
([ae40b27](defenseunicorns@ae40b27))
* **deps:** update prometheus-stack
([defenseunicorns#1380](defenseunicorns#1380))
([eec3337](defenseunicorns@eec3337))
* **deps:** update support dependencies to v22.13.17
([defenseunicorns#1401](defenseunicorns#1401))
([8a81eec](defenseunicorns@8a81eec))
* **deps:** update support-deps
([defenseunicorns#1364](defenseunicorns#1364))
([7819bec](defenseunicorns@7819bec))
* **deps:** update support-deps
([defenseunicorns#1376](defenseunicorns#1376))
([dd22589](defenseunicorns@dd22589))
* **deps:** update support-deps
([defenseunicorns#1390](defenseunicorns#1390))
([f06bb70](defenseunicorns@f06bb70))
* **deps:** update support-deps
([defenseunicorns#1392](defenseunicorns#1392))
([c0762a3](defenseunicorns@c0762a3))
* **deps:** update ts-jest to v29.3.0
([defenseunicorns#1377](defenseunicorns#1377))
([8b2174a](defenseunicorns@8b2174a))
* **deps:** update velero to v8.6.0
([defenseunicorns#1371](defenseunicorns#1371))
([93a44e6](defenseunicorns@93a44e6))
* remove kiali and tempo references from repo
([defenseunicorns#1375](defenseunicorns#1375))
([8374de3](defenseunicorns@8374de3))
* update how to scrape metrics
([defenseunicorns#1378](defenseunicorns#1378))
([e808f7d](defenseunicorns@e808f7d))
* update unicorn ztunnel image to 1.25.0
([defenseunicorns#1389](defenseunicorns#1389))
([7e446cb](defenseunicorns@7e446cb))


### Documentation

* velero csi vsphere backups
([defenseunicorns#1385](defenseunicorns#1385))
([5ae33b2](defenseunicorns@5ae33b2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

Allow customization of login logo

3 participants