Enable custom branding
Configure Unity Dashboard to use your company logo and color palette.
Read time 3 minutesLast updated 3 hours ago
Unity Dashboard uses bundled default assets for its logo, favicon, and theme colors. To use your own logo, favicon, and theme colors, deploy a Kubernetes ConfigMap named
shared-assetsasset-solutionsPrepare your branding assets
Before you create the ConfigMap, prepare the assets you want to use:- : Primary logo shown in the application header. Encode the file content as base64.
logo.svg - : Compact logo shown in the sidebar footer when the navigation pane is collapsed. Encode the file content as base64.
label-logo.svg - : Browser tab icon. Encode the file content as base64.
favicon.ico - : Color palette for the light and dark themes. For available color keys, refer to Custom branding reference.
palette.json - : Optional stylesheet for adjusting logo dimensions, spacing, or styling that the palette can't reach. Unity Dashboard loads this stylesheet after the bundled stylesheet, so the rules apply without
overrides.css. For the available CSS hooks, refer to Custom branding reference.!important
Apply your custom branding
To deploy the ConfigMap to the cluster:-
Save the boilerplate ConfigMap to a file named
shared-assets.cm-unity-dashboard-shared-assets.yaml -
In the section, replace the base64-encoded values for
binaryData,logo.svg, andlabel-logo.svgwith your own assets.favicon.ico -
In the section, replace the value of
datawith the color palette for your brand. To adjust logo dimensions, spacing, or other styling, also replace the value ofpalette.json.overrides.css -
Apply the ConfigMap to the namespace:
asset-solutionskubectl apply -f cm-unity-dashboard-shared-assets.yaml -n asset-solutions -
Restart the front-end deployment so the pods pick up the new assets:
kubectl rollout restart deployment/asset-front-end -n asset-solutions
Verify your custom branding
To confirm your branding is active:- Open Unity Dashboard in a browser, and confirm that the header logo, sidebar footer logo, and browser tab icon match your assets.
- In the upper-right user menu, switch between the Light and Dark themes, and confirm that both themes use your colors.
- After you update , end users must perform a hard reload (Ctrl+Shift+R or Cmd+Shift+R) to see the new colors. Unity Dashboard caches the palette for one hour after startup.
palette.json
Revert to the default branding
To restore the bundled default assets:-
Delete the ConfigMap:
kubectl delete -f cm-unity-dashboard-shared-assets.yaml -n asset-solutions
-
Restart the front-end deployment:
kubectl rollout restart deployment/asset-front-end -n asset-solutions
Boilerplate shared-assets
ConfigMap
Use the following manifest as a starting point. Replace the placeholder values in the shared-assetsbinaryDataoverrides.csspalette.jsonapiVersion: v1kind: ConfigMapmetadata: name: shared-assetsbinaryData: logo.svg: | <base64-encoded contents of logo.svg> label-logo.svg: | <base64-encoded contents of label-logo.svg> favicon.ico: | <base64-encoded contents of favicon.ico>data: overrides.css: | .vpc-logo { margin-right: 8px; } palette.json: | { "colorSchemes": { "dark": { "palette": { "primary": { "main": "#0A6EC8", "dark": "#1361AD", "lighter": "#012348", "contrastText": "#C6E4FF" }, "common": { "black": "#000000", "white": "#FFFFFF" }, "divider": "rgba(255, 255, 255, 0.08)", "dividerElevation0": "#3a3a3a", "action": { "hover": "rgba(255, 255, 255, 0.071)", "selected": "#313131", "disabled": "#3a3a3a" }, "error": { "main": "#e5484d" }, "warning": { "main": "#ffc53d" }, "success": { "main": "#30a46c" }, "background": { "default": "#131313", "paper": "#191919", "paperElevation0": "#222222", "modalElevation": "#2a2a2a", "datagridHeader": "#222222" }, "text": { "primary": "#eeeeee", "secondary": "#b4b4b4" }, "grey": { "50": "#111111", "100": "#191919", "200": "#222222", "300": "#2a2a2a", "400": "#313131", "500": "#3a3a3a", "600": "#484848", "700": "#606060", "800": "#6e6e6e", "900": "#7b7b7b" } } }, "light": { "palette": { "primary": { "main": "#0A6EC8", "dark": "#0060B8", "lighter": "#ECF5FF", "contrastText": "#0E345B" }, "common": { "black": "#000000", "white": "#FFFFFF" }, "divider": "rgba(0, 0, 0, 0.1)", "dividerElevation0": "#e8e8e8", "action": { "hover": "rgba(0, 0, 0, 0.059)", "selected": "#e8e8e8", "disabled": "#e0e0e0" }, "error": { "main": "#e5484d" }, "warning": { "main": "#ffc53d" }, "success": { "main": "#30a46c" }, "background": { "default": "#FFFFFF", "paper": "#fcfcfc", "paperElevation0": "#f9f9f9", "modalElevation": "#FFFFFF", "datagridHeader": "#f9f9f9" }, "text": { "primary": "#202020", "secondary": "#646464" }, "grey": { "50": "#fcfcfc", "100": "#f9f9f9", "200": "#f0f0f0", "300": "#e8e8e8", "400": "#e0e0e0", "500": "#d9d9d9", "600": "#cecece", "700": "#bbbbbb", "800": "#8d8d8d", "900": "#838383" } } } } }