Cockpit 118

Cockpit is the modern Linux admin interface. There’s usually a release every week, but this time around we were delinquent and it’s been nearly a month.

You’ll notice that we’ve dropped the 0.x from the beginning of the version numbers. This underscores the fact that Cockpit is stable. We’ve been regularly releasing functionally stable releases for most of the last year.

And over the last few months we’ve worked hard on identifying stable javascript APIs and protocols for various Cockpit components to consume. We’ll be itemizing these stability guarantees in the documentation shortly.

Timer jobs in systemd

Harish did great work during Google Summer of Code to add support for systemd timers. Timers let users schedule tasks similar to cron jobs. Timers are now listed, and dialogs for defining jobs and their recurring patterns are now included in Cockpit.

Harish detailed his work in a blog post.

Timers

Two factor auth on login screen

Peter pulled off a major change to have full PAM conversations supported on the Cockpit login screen. This means you can use two factor authentication dongles or Yubikeys in your login workflow in Cockpit.

In addition, for the next release Stef worked on allowing the user to change expired passwords while logging in, similar to how they would on the console.

Take a look:

Use Webpack to build the Cockpit interface

Most of Cockpit is written in javascript and runs in the browser. This code is now built with Webpack. It’s bundled into single page application bundles per Cockpit component. Among other things, this makes hacking on Cockpit much easier.

The documentation has been updated to show what you need to do to make a change to Cockpit either with Vagrant or on your local machine.

SSH key loading and Docker resources work on Debian

The container resource usage graphs and resource limit dialogs now work properly on Debian. Stef adapted the code to account for the different CGroup layout than Docker uses on Debian.

In addition the SSH key listing code now works on Debian.

Configure Cockpit URLs with an HTTP prefix

The HTTP URLs that Cockpit uses can now have a (mostly) arbitrary prefix in their path. This is useful in scenarios where Cockpit is proxied by another application or management console. Use the UrlRoot option in cockpit.conf.

Components can require a minimum Cockpit version

Cockpit is built from various components that are independently installable and composable. Various components provide network configuration, or storage, or container functionality.

These components can now indicate which part of the base javascript and base cockpit-bridge they require in order to function. This is configured in the package manifest.

Incompatible Cockpit

Try it out

Cockpit 118 is available now: