Managing Linux servers gets more complicated and demanding with every system added. Ansible allows it, in rather simple syntax, to define parameters and configuration of (primarily) linux systems in the form of modules and roles, and deploy them from a central repository.
- Ansible is agent-less: no specific agent is needed on the managed host, it’s enough to have ssh access and some python modules installed.
- Simple syntax, simple logic: Ansible is powerful, but has a rather smooth learning curve. It’s a powerful tool, but delivers first results quickly.
- Scalable, customizable
- Open Source
A common use case is provisioning a host after the initial installation of the operating system: get your users created, configure network, firewall, services … install the tools you need, configure the environment for your requirements.
Ansible features over 1300+ modules in the core distribution alone, numbers growing. And the platform Ansible Galaxy has over 4000 community-provided roles to be used, either to be used as-is or as templates for writing your own roles.
DebOps is a collection of roles for Ansible: a mighty framework of roles, used to provision Debian-based systems. High security, meaningful defaults, extensive documentation, highly integrated.
The roles “interact”: if you add a service like mariadb to your host, other roles like the one for the firewall or tcpwrappers will be also configured accordingly, opening necessary ports, creating needed users etc.
All this is configurable into the most specific details, while pre-configured with sensible defaults.
DebOps is still rather young and in active development, nonetheless production ready (and used in professional environments!).
DebOps targets the experienced linux admin, and not so much the newcomers: you should know a bit or two about Linux and Debian already 😉
The learning curve is steep, but the power gained is huge.
For example use DebOps for:
- Fileserver (Samba, NFS, …)
- network configuration
- Debian-updates (unattended upgrades)
- databases (postgresql, mysql/mariadb) and related backups
- web servers (nginx, apache, …)
- PKI (your own CA, or LetsEncrypt etc)
- directory services (OpenLDAP, integrate your systems into ADS)
- and much more ….
Use Ansible’s group- and host-vars to deploy
- consistent configs of locales, timezones, gateways, pubkeys, relayhosts, etc …
- pin-point specific configs for single hosts or groups of hosts: create groups, apply variables there
All this from your laptop: the repository of your DebOps project might be only a few megabytes only. No database needed, no large deployment server required.
oops! offers support for DebOps