We’ve just released the 0.7 series which should be the first version that is somewhat stable to use (think of it as alpha) and as we speak is under review for inclusion with Fedora 24.

For the last year I have been massaging the prototype we had at GUADEC in Strasbourg into a reliable product, and recently Oliver Gutierrez has joined the team to help with the web development affairs, I would like to summarize some of my work here so that you guys know what’s all about and what are the future plans.

For those unfamiliar with the project, Fleet Commander intends to be a centralized configuration management interface for system administrators managing GNOME deployments. Think about schools, universities or an office (either small or big). The idea is to reduce the amount of work needed to centralize the customization of the user experience. These days most sysadmins use a bunch of scripts, packaging or manual configuration machine-after-machine to achieve this goal.

Fleet Commander in action

The screenshot above shows the main profile editor, those who remember the Sabayon tool might be familiar with this concept. What you see is a virtual session running on libvirt, and basically picking up a VM I created with Boxes as a template. The idea is that the sysadmin replicates the “base image” that the users have in the network inside a VM, and makes the configuration changes that he needs.

After that the profile is placed as a json file and you can control which users and groups it applies to from the admin UI. This files are served by an HTTP endpoint that is consumed by a host daemon that retrieves all the profile data, turns each profile into a dconf db, and creates a dconf profile that aggregates all those dbs at login-time.

Right now this will work on anything that uses dconf (except for some potential issues where people use relocatable schemas), Stephan Berg from LibreOffice fame has written dconf support upstream and will make things magically work.

We’re quite proud of the release but the setup is a bit more complicated that I’d like it to be (we need to exchange an SSH key to access the libvirt host), future plans include FreeIPA/SSSD integration and migrating the UI into a Cockpit plugin which will make our codebase a lot leaner to maintain.

We’re working on an updated wiki page to explain how to set it up once it hits Fedora 24, stay tuned!