Feature request: Custom UI themes to identify MAAS environment being used

This is directly related to a customer need with many MAAS machines managed in multiple environments.

They would like the ability to color their MAAS ui to match their environment in scope, so ‘Red’ would be prod, ‘Yellow’ would be dev and ‘Green’ would be lab, for example . Their colors are different, but their other tooling in-house follows a similar construct.

I was able to hack this into a POC/workaround, but it required installing a few additional packages to re-lint the CSS, unpacking the snap’s squashfs, altering the included CSS files, repacking the snap and putting it back in place (making sure that MAAS was stopped before overwriting its squashfs filesystem).

This did work, and illustrated the ability nicely, but has a few issues, the biggest of which… is that when snap auto-upgrades the MAAS snap, it will replace these adjustments with the in-core versions, and have to be done again, per-region/rack controller in each environment. This isn’t ideal.

What they’d like, is an easy way to theme the UI colors, nothing complicated, much like you can do with Github, Mattermost, Slack and similar tooling, by editing a basic CSS color template in JSON format, that gets saved. OpenStack’s Horizon component has a similar implementation with baked-in themes that can be used, or custom themes that can be added.

They recognize this isn’t in the critical path of other issues, but it is a feature they’d like to see implemented.

Thoughts?

3 Likes

Thank you for this feature request. This seems like a good idea by providing identity to a MAAS instance in a fleet of MAAS installations.

The MAAS design team will investigate solutions to this without impacting the UIs accessibility, readability and UX. Stay tuned for updates on this feature.

By the way, you could also set the theme-color as a meta value in the head of the HTML to continue the theming into the browser UI.

I have a customer internally tracking this issue, it’s not super-high-priority, but it is on their list, as they use MAAS extensively with multiple environments and hundreds to thousands of servers. It’s key to their internal service delivery.

They could knock together a client-side CSS/theme/TamperMonkey script to do the same, but they’d prefer this be in-core, so automatic updates via snapd, don’t revert/break that fidelity.

1 Like

+1 on this feature.

Related, why is it that 5/10 of the built-in themes MaaS (even 3.4-beta) provides are shades of green, while there’s no dark mode?

[…] there’s no dark mode?

Replied in Dark mode theme instead of 50% green themes