UI Customization
Rancher provides extensive UI customization capabilities through settings and custom resources. You can customize branding, colors, logos, navigation links, and more to match your organization’s requirements.Branding Customization
Primary Colors
Customize the primary and link colors:Logos and Favicon
Custom Logos:- SVG or PNG format
- Maximum height: 40px
- Transparent background recommended
Login Backgrounds
Customize the login page background:- Image format: JPEG or PNG
- Resolution: 1920x1080 or higher
- File size: < 2MB for performance
Home Page Banners
Add custom banners to the home page:Page Banners
Header and Footer Banners
Display custom banners in the header or footer:Login Consent Banner
Display a consent banner on the login page:UI Banners Setting
Configure multiple banners using theui-banners setting:
Custom Navigation Links
NavLink Custom Resource
Create custom navigation links using theui.cattle.io/v1/NavLink custom resource:
pkg/apis/ui.cattle.io/v1/types.go
NavLink Specification
Fields:label: Display text for the linkdescription: Tooltip or description textsideLabel: Additional label shown on the sideiconSrc: URL to icon imagegroup: Navigation group (e.g., “help”, “tools”)target: Link target (_blank,_self)toURL: External URL to navigate totoService: Internal service reference
Linking to Kubernetes Services
Create a link to an internal Kubernetes service:namespace: Kubernetes namespace (required)name: Service name (required)scheme:httporhttps(default:http)port: Service port (IntOrString)path: URL path to append
Navigation Registration
NavLinks are registered in the Steve API server: Location:pkg/api/steve/navlinks/navlinks.go
UI Settings Reference
General Settings
Location:pkg/settings/setting.go
Custom Links
Dashboard Configuration
Performance Settings
UI Extensions
Content Configuration
Dynamic Content
Configure dynamic content for the UI:Community and Feedback
Theme Configuration
Users can set their preferred theme:Applying Customizations
Using kubectl
Update settings using kubectl:Using Rancher UI
- Navigate to Global Settings
- Search for UI settings (filter by “ui-”)
- Click Edit on any setting
- Enter the new value
- Click Save
Using Rancher API
Update settings via the API:Helm Chart Values
Configure UI settings during Helm installation:Best Practices
- Test customizations in a development environment first
- Use HTTPS for all custom resource URLs
- Optimize images for fast loading (< 2MB)
- Provide both light and dark theme assets
- Document custom links for your users
- Use environment variables for different environments
- Backup settings before making changes
- Follow brand guidelines for colors and logos
- Test accessibility of custom colors (contrast ratios)
- Cache external resources for better performance
Examples
Complete Branding Example
Security Banner Example
Troubleshooting
Custom assets not loading
- Verify URLs are accessible from browser
- Check CORS headers on asset server
- Ensure HTTPS is used for security
- Check browser console for errors
Colors not applying
- Clear browser cache
- Check setting syntax (valid hex colors)
- Verify settings are saved correctly
- Test in incognito mode
NavLinks not appearing
- Verify NavLink resource is created
- Check group name is valid
- Ensure user has permissions to view
- Check Rancher logs for errors
Related Resources
- UI Settings:
pkg/settings/setting.go(lines 288-374) - NavLink Types:
pkg/apis/ui.cattle.io/v1/types.go - NavLink Registration:
pkg/api/steve/navlinks/navlinks.go