A Common Lisp framework for declarative UNIX system administration using resource-based configuration and SSH.
cl-unix-cybernetics is a Common Lisp framework for declarative UNIX system administration. It solves the problem of manual server configuration by allowing administrators to define system resources (like users, files, and packages) in code, then automatically synchronize remote hosts over SSH using minimal shell commands.
System administrators and DevOps engineers managing UNIX-like systems (e.g., Linux, OpenBSD) who prefer declarative, code-driven configuration and want to avoid repetitive manual setup.
Developers choose cl-unix-cybernetics for its lightweight, security-focused design that uses only SSH and `/bin/sh`, avoiding complex agents or dependencies. Its Common Lisp foundation offers expressiveness for reusable configurations, while respecting UNIX permissions and logging all operations.
UNIX system administration in Common Lisp
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses only SSH and /bin/sh on remote hosts, eliminating the need for installed agents and ensuring compatibility with shells like ksh and bash, as stated in the README.
Logs all commands and respects UNIX permissions by avoiding unnecessary data transfer or access between hosts, explicitly highlighted in the security design section.
Allows defining system resources like users, files, and packages with properties for automatic state synchronization, reducing manual intervention.
Supports include directives to reuse resource definitions across scripts, keeping configurations DRY, as demonstrated in the usage examples with #.(include "file").
Requires installing a Common Lisp package manager (repo), building from source with make, and manually copying the binary, which is more complex than standard package installations.
Only supports package management for Debian and OpenBSD, missing key distributions like Red Hat or Arch, limiting utility in heterogeneous environments.
Scripts are written in Common Lisp, a language with a smaller DevOps community, hindering adoption, troubleshooting, and extension development.
At version 0.4.0, the tool may lack advanced features, thorough documentation, and stability compared to established configuration management systems.