Enable RHDP branding in LiteMaaS deployments with a single flag.
# Using deploy script
./deploy-litemaas.sh litellm-rhpds --rhdp
# Using Ansible directly
ansible-playbook playbooks/deploy_litemaas_ha.yml \
-e ocp4_workload_litemaas_branding_enabled=true- Replaces the LiteMaaS logo with the Red Hat Demo Platform logo
- Supports light and dark themes with appropriate logo variants
- Adds service attribution text (optional footer)
- No application code changes required - pure deployment-time customization
# Enable branding
ocp4_workload_litemaas_branding_enabled: true
# Logo file paths (local paths on Ansible control machine)
ocp4_workload_litemaas_branding_logo_light_path: "files/Logo-Red_Hat-Demo_Platform_Team-A-Black-RGB.svg"
ocp4_workload_litemaas_branding_logo_dark_path: "files/Logo-Red_Hat-Demo_Platform_Team-A-White-RGB.svg"
# Service attribution text
ocp4_workload_litemaas_branding_service_text: "Service provided by Red Hat Demo Platform"
# Show footer with service text (optional, default: true)
ocp4_workload_litemaas_branding_enable_footer: trueThe branding system uses an nginx sidecar proxy pattern:
-
ConfigMap (
litemaas-branding) containing:- Logo SVG files (light and dark variants)
- JavaScript injection script
-
ConfigMap (
litemaas-branding-nginx-config) containing:- Nginx configuration for the branding proxy
-
Init Container (
setup-branding) that:- Copies branding assets from ConfigMap to a shared volume
-
Sidecar Container (
branding-proxy) that:- Runs nginx on port 8081
- Proxies requests to the frontend on port 8080
- Injects the branding JavaScript into HTML responses via
sub_filter - Serves branding assets (logos, favicon) from
/branding/path
-
Service routes traffic to port 8081 (branding proxy) instead of 8080 (frontend)
The injected script searches for logo images using multiple selectors:
img[src*="logo"]img[alt*="LiteMaaS"]orimg[alt*="litemaas"][class*="logo"] imgor[class*="Logo"] img
When found, it replaces the src with:
/branding/logo-light.svgfor light theme/branding/logo-dark.svgfor dark theme
Uses data-theme attribute on <html> element:
const isDarkTheme = document.documentElement.getAttribute('data-theme') === 'dark';- Format: SVG (recommended) or PNG
- Light theme logo: Dark/black colored (shows on light background)
- Dark theme logo: Light/white colored (shows on dark background)
- Recommended size: 1116.2 x 163.8 px (Red Hat Demo Platform standard)
- Max height: Will be resized to 40px height automatically
-
Check ConfigMaps exist:
oc get configmap litemaas-branding -n litemaas oc get configmap litemaas-branding-nginx-config -n litemaas
-
Check init container logs:
POD=$(oc get pod -n litemaas -l app=litellm-frontend -o name | head -1) oc logs -n litemaas $POD -c setup-branding
-
Check branding proxy logs:
POD=$(oc get pod -n litemaas -l app=litellm-frontend -o name | head -1) oc logs -n litemaas $POD -c branding-proxy
-
Check branding script is loaded:
- Open browser DevTools Console
- Look for "RHDP Branding: Initializing..." message
- Check for
/branding/branding-inject.jsin Network tab
This is expected when branding is enabled. The pod runs both the frontend container and the branding-proxy sidecar.
# In common.yaml
workloads:
- rhpds.litemaas.ocp4_workload_litemaas
ocp4_workload_litemaas_branding_enabled: true
ocp4_workload_litemaas_branding_logo_light_path: "{{ playbook_dir }}/files/Logo-Red_Hat-Demo_Platform_Team-A-Black-RGB.svg"
ocp4_workload_litemaas_branding_logo_dark_path: "{{ playbook_dir }}/files/Logo-Red_Hat-Demo_Platform_Team-A-White-RGB.svg"
ocp4_workload_litemaas_branding_service_text: "Service provided by Red Hat Demo Platform"
ocp4_workload_litemaas_branding_enable_footer: falseRedeploy without the branding flag:
ansible-playbook playbooks/deploy_litemaas_ha.ymlOr manually remove:
oc delete configmap litemaas-branding litemaas-branding-nginx-config -n litemaas
oc rollout restart deployment/litellm-frontend -n litemaasFor issues or questions:
- File issue in rhpds.litemaas repository
- Contact RHDP team: psrivast@redhat.com