Comparison of open-source configuration management software
This is a comparison of notable free and open-source configuration management software, suitable for tasks like server configuration, orchestration and infrastructure as code typically performed by a system administrator.
Basic properties
"Verify mode" refers to having an ability to determine whether a node is conformant with a guarantee of not modifying it, and typically involves the exclusive use of an internal language supporting read-only mode for all potentially system-modifying operations. "Mutual auth" refers to the client verifying the server and vice versa. "Agent" describes whether additional software daemons are required. Depending on the management software these agents are usually deployed on the target system or on one or many central "controller" servers.Language | License | Mutual auth | Encrypts | Verify mode | Agent-less | Have a GUI | First release | Latest stable release | |
Ansible | Python | GPLv3+ | 2012-03-08 | 2020-03-05 2.9.6 | |||||
Bcfg2 | Python | BSD 2-clause | 2004-08-11 | 2015-06-11 1.3.6 | |||||
Capistrano | Ruby | MIT License | 2005 | 2017-03-08 4.4.2 | |||||
cdist | Python | GPLv3+ | 2010 | 2018-04-20 4.8.4 | |||||
Chef | Ruby, Erlang | Apache 2.0 | 2009-01-15 0.5.0 | 2019-01-28 14.10.9, 2018-02-13 12.17.33 | |||||
CFEngine | C | GPLv3 | 1993 | 2020-06-23 3.16.0, 2020-06-02 3.15.2, 2020-06-02 3.12.5 | |||||
ISconf | Python | GPL | 1998 | 2006-08-13 4.2.8.233 | |||||
Juju | Python, Go | Affero General Public License | 2010-09-17 | 2020-06-04 2.8.0 | |||||
Local ConFiGuration system | Perl | GPL | 1994 | Weekly Releases | |||||
NOC | Python | BSD License 2.0 | 2012-03-08 | 2015-05-20 15.05.1 | |||||
OCS Inventory NG with GLPI | Perl, PHP, C++ | GPL | 2003 | 2014-07-13 | |||||
Open pc server integration | Python, Java | GPL | 2004 | 2013-03-01 4.0.3 | |||||
PIKT | C | GPLv2+ | 1998 | 2007-09-10 1.19.0 | |||||
Puppet | Ruby, C++ & Clojure | Apache since 2.7.0, GPL before then | 2005-08-30 | 2020-06-03 6.16.0, 2020-06-03 6.12.0 | |||||
Quattor | Perl, Python | Apache 2.0 | 2005-04-01 | 2018-07-3 18.6.0 | |||||
Radmind | C | BSD | 2002-03-26 | 2008-10-08 1.13.0 | |||||
Rex | Perl | Apache | 2010-11-05 0.9.0 | 2017-12-03 1.6.0 | |||||
Rudder | C, Scala and Rust | GPLv3 and Apache 2.0 | 2011-10-31 | 2019-05-12 5.0.15 | |||||
SmartFrog | Java | LGPL | 2004-02-11 | 2009-01-26 3.16.004 | |||||
Salt | Python | Apache 2.0 | Both | 2011-03-17 0.6.0 | 2019-02-25 v2019.2.0 | ||||
Spacewalk | Java | GPLv2 | 2008-06 | 2019-01-14 2.9 | |||||
STAF | C++ | CPL | 1998-02-16 | 2012-12-16 3.4.16 | |||||
Synctool | Python | GPLv2 | 2003 | 2019-08-11 6.3 | |||||
Language | License | Mutual auth | Encrypts | Verify mode | Agent-less | Have a GUI | First release | Latest stable release |
Platform support
Note: This means platforms on which a recent version of the tool has actually been used successfully, not platforms where it should theoretically work since it is written in good portable C/C++ or an interpreted language. It should also be listed as a supported platform on the project's web site.AIX | *BSD | HP-UX | Linux | OS X | Solaris | Windows | Others | |
Ansible | ||||||||
Bcfg2 | ||||||||
CFEngine | ||||||||
cdist | ||||||||
Chef | ||||||||
ISconf | ||||||||
Juju | ||||||||
Local ConFiGuration system | ||||||||
OCS Inventory NG | ||||||||
Open pc server integration | ||||||||
PIKT | ||||||||
Puppet | ||||||||
Quattor | ||||||||
Radmind | ||||||||
Rex | ||||||||
Rudder | ||||||||
SmartFrog | ||||||||
Salt | ||||||||
Spacewalk | ||||||||
STAF | ||||||||
Synctool | ||||||||
AIX | *BSD | HP-UX | Linux | OS X | Solaris | Windows | Others |
Short descriptions
Not all tools have the same goal and the same feature set. To help distinguish between all of these software packages, here is a short description of each one.;Ansible
;Bcfg2
;CFEngine
;cdist
;Chef
;ISconf
;Juju
;Local Configuration system
;Open PC server integration
;PIKT
;Puppet
;Quattor
;Radmind
;Rex
;Salt
;SmartFrog
;Spacewalk
;STAF
;Synctool