Lisp declarative configuration management system


Consfigurator is a system for declarative configuration management using Common Lisp. You can use it to configure hosts as root, deploy services as unprivileged users, build and deploy containers, install operating systems, produce disc images, and more. Some key advantages:

 * Apply configuration by transparently starting up another Lisp image on the
   machine to be configured, so that you can use the full power of Common Lisp
   to inspect and control the host.

 * Also define properties of hosts in a more restricted language, that of
   :POSIX properties, to configure machines, containers and user accounts
   where you can't install Lisp. These properties can be applied using just
   an SSH or serial connection, but they can also be applied by remote Lisp
   images, enabling code reuse.

 * Flexibly chain and nest methods of connecting to hosts. For example, you
   could have Consfigurator SSH to a host, sudo to root, start up Lisp, use
   the setns(2) system call to enter a Linux container, and then deploy a
   service. Secrets, and other prerequisite data, are properly passed along.

 * Combine declarative semantics for defining hosts and services with a
   multiparadigmatic general-purpose programming language that won't get in
   your way.

Declarative configuration management systems like Consfigurator and Propellor share a number of goals with projects like the GNU Guix System and NixOS. However, tools like Consfigurator and Propellor try to layer the power of declarative and reproducible configuration semantics on top of traditional, battle-tested UNIX system administration infrastructure like distro package managers, package archives and daemon configuration mechanisms, rather than seeking to replace any of those. Let's get as much as we can out of all that existing distro policy-compliant work!

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install cl-consfigurator