Talk:Comparison of open-source configuration management software
![]() | This article is rated List-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||
|
[untitled]
editI've thrown some theory into the ISconf dicussion that might be better in a different section; feel free to rearrange, and please clarify my application to the mentioned tools (Bcfg2, Puppet, cfenging, ISconf) and to classify other tools. Thyrsus 21:59, 26 February 2007 (UTC)
Discussion of the article
editI wonder where we should put the discussion part of the article. Not in the talk page :
The purpose of a Wikipedia talk page is to provide space for editors to discuss changes to its associated article or project page. Article talk pages should not be used by editors as platforms for their personal views.
(Wikipedia:Talk_page_guidelines)
--Zethradon 15:09, 27 February 2007 (UTC)
Anyway, for now, I removed the discussion part of the article. Here's what was removed :
ISconf is controversial in its treatment of preconditions and postconditions of actions. Some tools, such as Bcfg2 and Puppet, require explicit descriptions of preconditions to hold before they apply an action, and further require an explicit description of postconditions, to be used by subsequent actions. Together, these have been called closure. Couch, Hart, Idhaw, Kallas Other tools, such as cfengine, don't make explicit the preconditions, but require their actions to be idempotent; thus an action may fail, but it keeps getting applied until some other action supplies the precondition, and then it succeeds - and keeps succeeding. These tools rely on convergence. Burgess ISconf differs in that it places no restriction on the nature of the action to be taken, nor any description of preconditions, but it requires that actions be applied to a known labeled state (e.g., a pristine OS install or system image), which after the action becomes a distinct state known only by its label; actions are always applied in identical order. This permits a theoretically perfect replicability. Traugott, Brown In practice, this model deals well with the often non-idempotent actions of package installation, but it can be expensive: actions either incorporate all the initial errors of the learning done by the sysadmin in creating a change, or the learning environment must be reimaged to a known prior state before the perfected performance of the action gets recorded; further, either any action performed with the machine whatsoever must be called an action and recorded, or actions must be accurately divided into either significant system actions and recorded, or else those concerning "only business data". An illustration of the difficulty: does a user account constitute significant system state or mere "business data"?
--Zethradon 16:40, 28 February 2007 (UTC)
Really insightful, should this be in the ISconf article? 2001:A60:16B4:7001:5C0:D6E5:1CEE:197E (talk) 00:36, 24 September 2014 (UTC)
Discussing features that are not present in all tools
editWe need to come up with a way to list features that are not part of all of the tools' management models, without implying that having or not having those features is preferable. Until then, below is some work on package and service management.
Package support
editNote: This means that the tool has built-in knowledge of how to deal with the package format.
Bcfg2 | Cfengine | Puppet | |
---|---|---|---|
apt-get / dpkg (deb) | Yes | Yes | Yes |
emerge (portage) | Yes | No | Yes |
epkg (encap) | Yes | No | No |
pkg-get (blastwave) | Yes | No | Yes |
pkgadd / pkg_add (sysv) | Yes | Yes | Yes |
port (macports) | No | No | Yes |
rpm | Yes | Yes | Yes |
up2date | No | No | Yes |
yum | Yes | Yes | Yes |
- This is very unix/linux centric; windows has its own world. Furthermore, how would you define 'support'? Do you mean 'can install/uninstall' an RPM, then anything that can issue rpm commands can do it. More interesting is whether the tool can manage the lifecycle, and include in any health checks the presence of rpm -managed files.
- More abstractly, you could view rpm and deb package manager tools as a form of CM software all of its own, if you push out custom RPMs that configure system state for your cluster. Its not very elegant, but it is possible. SteveLoughran 23:09, 25 October 2007 (UTC)
I am pretty sure CFEngine has yum support, we use that everydat at work .... (not sure how you verify the other operating systems, but usually in CFEngine you just define how to install/remove/upgrade software and it just works, so to install software for redhat based distros, use yum install, for suse, zypper whatever, etc etc). Misleading table. 31.151.153.51 (talk) 23:21, 18 December 2013 (UTC)
agree. misleading... 2001:A60:16B4:7001:5C0:D6E5:1CEE:197E (talk) 00:43, 24 September 2014 (UTC)
Service support
editNote: This means that the tool has built-in knowledge on how to deal with the services.
Bcfg2 | Cfengine | Puppet | |
---|---|---|---|
chkconfig | Yes | No | Yes |
launchctl (launchd) | Yes | No | No |
rc-update | Yes | No | Yes |
sv (runit) | No [1] | No | No |
svcadm (smf) | Yes | No | Yes |
update-rc.d | Yes | No | Yes |
This is somewhat biased. People reading this could be led to believe it is hard to manage daemons/services in CFEngine, whereas it is really easy. I have been doing it since 2000 with it, it is just a question of defining a class on the returnvalue of a shell command or ensuring a certain process is active (starting it otherwise). Could not get simpler that that.
See Also
edit- Thread on config-mgmt mailing list —The preceding unsigned comment was added by Djbclark (talk • contribs) 23:48, 17 April 2007 (UTC).
- Ziptie —Preceding unsigned comment added by 89.76.122.152 (talk) 23:13, 1 March 2008 (UTC)
References
edit- ^ Being worked on
External links clean up
editThere are way too many external links in this article and most of them should be deleted. The vendor links should all be internal. There really isn't much point linking to minor details like licensing or first release date. I know that we are supposed to cite facts on Wikipedia but that doesn't mean you are supposed to cite every possible fact. The links in the refs look good but I'd get rid of all the others. This might even help keep the spammers away too. (Requestion 06:01, 20 April 2007 (UTC))
- Please geel free to ignore the comment I just left on your page, we crossed paths there a bit :-) -- in any case
- There was an attempt to make most of the vendor tags internal with stub articles, however people seem to have been deleting them (I just realized this - the most recent example being Bcfg2 - several people are editing this, so previously I just assumed that they had put in placeholders).
- Re: Licensing: This is not a "minor fact", it controls who can use the software, and how. The location of the actual text of the licenses is not always trivial to find (sometime in source control etc). Example use case: In many large companies, legal needs to vet all licensing, so links to the actual license documents would be useful for them.
- Re: First release date, in a comparison article this helps a person to determine how mature a piece of software is, and is therefor an important piece of information. Again this information is not always easy to search for.
- Software in this arena is in constant development. While I and others plan to keep this article up to date to the best of our abilities, we want to leave the reader (and possible future editors) with enough information to be able to update the article (i.e. if there is an external link to the current release page, it is so someone can verify that the wikipedia text is accurate, and then update it if need be; ditto for the OS support and security information)
- How excatly would having less external links keep spammers away? I thought Wikipedia was a search engine black hole anyway, so why would they care?
- In general you need to have subject matter expertise in order to determine what is a "minor detail" in this article, so if you do not I would suggest handing this off to someone who does. Cheers, Djbclark 07:01, 20 April 2007 (UTC)
- Would a good compromise be to make most of the other links references as well, or have a seperate "External Links" section (BTW are there tags to do that like with ref=?) Djbclark 07:07, 20 April 2007 (UTC)
- I'm just trying to get this list to conform to WP:EL and WP:NOT policies. The licensing and initial release date columns are fine but they do not need to be referenced with external links. Has anyone questioned those facts and asked for citations? You could make them all references but that section is already huge. I would also recommend commenting out the vendor product links or moving them to this talk page since those types of links tend to be the spam magnets. For example, see the other lists in Category:Software comparisons. They don't have this exuberance of external links. Black hole? Unfortunately it seems like the spamming has only increased since the nofollow inclusion. (Requestion 15:27, 20 April 2007 (UTC))
- I personally think its a lost cause to keep the latest version number and last release updated on this page. I just updated the puppet information as it was 5 releases and several months out of date. Providing this information when it is incorrect or outdated gives the comparison table a false comparison unless each is checked and updated before making a comparison that uses the latest release as a factor. --Micah2 18:37, 8 August 2007 (UTC)
- I agree that product version info is trouble to keep up. This is something that could be left to the individual pages for each entry, assuming such entries don't get deleted for being unworthy. To make them worthy, we need decent content, but this must be factual/educational, not opinions/research. SteveLoughran 23:05, 25 October 2007 (UTC)
- Micah, I see you are still keeping the puppet release info up to date. Now that there's a separate puppet page, I think the info could go there -and we could drop version/release info as a comparison. The only thing that matters in open source is is the project 'live' or 'dead'? If you use release newness as a metric you create bias towards projects that release frequently, rather than those that are stable. (SmartFrog gets release on a two/four week cycle, so showing release date would give us an advantage, but keeping it up to date is a maintenance cost I dont want to incur). —Preceding unsigned comment added by SteveLoughran (talk • contribs) 23:18, 24 December 2007 (UTC)
Requested move
editComparison of open source configuration management software → Comparison of open-source configuration management software — like Open-source software — Neustradamus (✉) 18:30, 14 January 2010 (UTC)
- Discussion moved to Talk:List of free and open source software packages#Requested move. Jafeluv (talk) 16:01, 22 January 2010 (UTC)
- That discussion was closed no concensus after 34 days Anthony Appleyard (talk) 11:30, 24 February 2010 (UTC)
why not webmin
editeven though Webmin (+Usermin +Virtualmin +Cloudmin) are not GPL, they're open source.
Why is webmin *not* included?
I started using it since 1998, and still use it to manage several servers!
173.21.108.129 (talk) 03:56, 21 May 2011 (UTC)Marcos
Because Webmin is a tool to manually manage servers, not configuration management software to automatically manage servers from policies. — Preceding unsigned comment added by 31.151.153.51 (talk) 23:24, 18 December 2013 (UTC)
Juju?
editCanonical's Juju should be added to this page. — Preceding unsigned comment added by 221.120.220.13 (talk) 16:06, 17 October 2011 (UTC)
cdist
editThe cdist website has been cleaned up / added more content. Can you please check whether it's fine for integration now? — Preceding unsigned comment added by NicoSchottelius (talk • contribs) 19:46, 19 September 2012 (UTC)
Salt
editThe description of salt includes the wonderful phrase "With the traction that Salt has gotten in the last bit, the support for more features and platforms might continue to grow." This seems to be very poor English, and frankly guesswork. Is this article the place for supposition?
Arusha Project
editI propose removing Arusha, or somehow noting the project is shut down. Slaurel (talk) 21:06, 7 August 2013 (UTC)
Edit to OPSI
editTheir website clearly states that they do not manage Linux machines. It runs on Linux to manage Windows hosts. Quoting : "opsi is an open source Client Management System for Windows clients and is based on Linux servers"
Also Recommend NOT having Rundeck's article redirect here
editRundeck is alive and well but the article about it redirects here, somewhat inappropriately since Rundeck isn't so much configuration management as it is task automation. You can visit their website here: http://rundeck.org/ — Preceding unsigned comment added by 129.119.81.135 (talk) 23:16, 12 March 2014 (UTC)
Rundeck's part runbook automation fits - in theory.
In practice, it is doubtful. Does anyone successfully use it for config management?
188.174.175.196 (talk) 00:38, 24 September 2014 (UTC)
Recommend Removing SmartFrog
editTheir website doesn't appear to have been updated since 2009. 5 years without a new release or even a new blog post signals that the project is pretty much dead. Since it claims to support Windows, I wonder how well it can support Win7 or 8 both of which have appeared in the last 5 years.
--129.119.81.135 (talk) 23:09, 12 March 2014 (UTC)RecentCoin
I just want to add to this that there was a release 3.18.016 on 2013-05-13 but this article isn't updated — Preceding unsigned comment added by 2A00:CC0:FFFE:42:EDBA:C8C7:BB25:B0FA (talk) 10:47, 14 April 2014 (UTC)
Recommend Removing Radmind
editThey haven't had a release since 2010 (per their website), so this project looks to be dead as well. --129.119.81.135 (talk) 23:37, 12 March 2014 (UTC)RecentCoin
Still pretty commonly used / standard tool. Stable for like a decade.
2001:A60:16B4:7001:5C0:D6E5:1CEE:197E (talk) 00:34, 24 September 2014 (UTC)
Adding an Agent Based property?
editConfiguration management software can be categorized by being agent based or not. Rex and Ansible (software) for example work without a special daemon, while Chef and Puppet appear to require this. The property could be called Agent, Daemon or Service. Agent is the term used in the Ansible (software) article. The Rex website also says "no agent required". --Athaba (talk) 09:22, 7 September 2014 (UTC)
- I added the property and a basic meaning, but I am sure there is someone with more experience, able to think of a better way to describe it. --Athaba (talk) 09:52, 7 September 2014 (UTC)
- I inverted the column, because requiring the installation of an agent is an undesirable property for this kind of software --79.6.178.49 (talk) 12:28, 30 December 2014 (UTC)
- Actually puppet works just fine without an agent: in fact that's how I've been running it for years. No puppet master, no daemon. Not sure where you got that idea that an agent is required. 114.112.193.102 (talk) 07:34, 29 October 2015 (UTC)
- 114.112.193.102, I've reverted your change to Puppet's "agent-less" state back to "no". You provided no source for this claim, and a casual reading of some config-management articles suggests that Puppet's use of agents sets it apart from some other products that specifically avoid agent use. If you have a reliably-published source that indicates that Puppet has an agent-less capability, please include it in your edit, or mention it here if you're not comfortable with citations and someone can add it. Thank you. ~ Jeff Q (talk) 15:55, 3 November 2015 (UTC)
- I've reverted your reversion by setting it's agent-less state back to "yes". You can read about it here https://docs.puppetlabs.com/guides/install_puppet/pre_install.html#standalone-puppet . I'm not sure about citations so if anyone can insert I appreciate. 114.112.193.102 (talk) 17:41, 13 November 2015 (UTC)
- You are incorrect. Puppet requires an agent. "agent-less" means nothing runs on the computer you are configuring. This is not the same as "Puppet stand alone" in which there is no puppet master. Not having a puppet master is not agent-less, it is agent-only. You could have the puppet agent on the system in a stand alone configuration, but not have it run on a schedule. This would be something like "agent on demand". Jgstew (talk) 19:48, 25 April 2016 (UTC)
Chef is not open source
editI cannot find the source code for "Chef" and since this comparison is based on open source software "Chef" is not supposed to be in this list or it should be renamed in "comparison of configuration management software" and a new column should be introduced like "open source" yes/no. — Preceding unsigned comment added by 128.131.167.7 (talk) 15:03, 10 October 2014 (UTC)
- See [1] for the Chef source. GeoGreg (talk) 21:48, 28 January 2015 (UTC)
Architecture-comparison missing
editDue to the raising importance of different processor-architectures, an architecture-comparison is missing completely. This page could be a good resource to find out which configuration management software is supporting the ARM architecture.
Should xCAT be part of this article?
editDoes the IBM-built open source package xCAT qualify as "configuration management" software? I think it does. However, I don't really have the expertise to make that call or describe it adequately. Anyone else feel like taking a stab? I think I'll mention this article over on Talk:xCAT as well. GeoGreg (talk) 20:49, 28 January 2015 (UTC)
Augeas
editWhat about Augeas? — Preceding unsigned comment added by 107.132.57.128 (talk) 00:24, 15 May 2015 (UTC)
Agent-less Chef
editChef is listed as a yes in the Agent-less column here. I haven't been able to find a way to run Chef without Chef client. Is this a mistake, or is it just an obscure or very new solution? Jxn (talk) 22:08, 25 October 2015 (UTC)
Confusing footnotes with references
editThis article needs to use {{efn}}
and ==Notes==
with {{notelist}}
, to separate the explanatory footnotes from source citations. This article actually has very few of the latter, mostly to self-published marketing materials, and would benefit greatly from citations of independent sources, e.g. reviews and comparisons published in the professional computer science and systems administration press. — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼ 05:55, 26 July 2016 (UTC)
etcd and Vagrant aren't configuration management software
editetcd is effectively a distributed database/key value store. It can and largely is used to store configuration, but every database out there would do that. Vagrant is a tool to set up virtual environments. Again it isn't there for configuration management. It does have a Vagrantfile, which kind of is a configuration file, but this itself allows to interface configuration management software (or plain shell). So it really shouldn't be in here. I don't know how NixOS is meant, but it appears to be a Linux Distribution that might contain packages for configuration management. A Linux distribution doesn't sound like configuration management either. In away, it's on the opposite side as you want to most likely manage its configuration. I will therefor remove all three of these.--Athaba (talk) 16:31, 4 August 2016 (UTC)
Docker
editDoesn't Docker belong on this list? Is has the same function/purpose as Puppet/Chef etc., so is it not considered configuration management software? --64.211.224.254 (talk) 01:37, 7 June 2017 (UTC)
External links modified
editHello fellow Wikipedians,
I have just modified 2 external links on Comparison of open-source configuration management software. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
- Added archive https://archive.is/20120716131832/http://trac.t7a.org/isconf/ticket/39 to http://trac.t7a.org/isconf/ticket/39
- Added archive https://web.archive.org/web/20100318061902/http://wiki.smartfrog.org/wiki/display/sf/Download to http://wiki.smartfrog.org/wiki/display/sf/Download
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
Cheers.—InternetArchiveBot (Report bug) 17:26, 11 August 2017 (UTC)
Please include Terraform in these lists!
editHi Wikipedians
Terraform has a page on Wikipedia Terraform_(software) which has a link to this page. So having Terraform included here would be very useful!
I'm don't have skills in figuring out the fields that Terraform would occupy in these tables, so ask if some kind person please update the lists to include this software.
I am not an employee or investor of Terraform, just a user of web services, and appreciate your efforts for maintaining Wikipedia!!
Rarscal (talk) 03:13, 28 December 2019 (UTC)
- Seconded! Nangaf (talk) 21:31, 27 May 2022 (UTC)
- Thirded! Mazzystr (talk) 19:43, 22 June 2022 (UTC)
Since Terraform has adopted a Business Source License, what should be included in this page (which is about "Open Source" software) is probably OpenTofu, the open-source fork of the Terraform configuration language.
Nix/NixOS/NixOps
editI wonder if NixOS would fit into this comparison?
It is not a configuration management software per se, as much as a linux distribution, but it does have at its core a system configuration file that would generate all the other config files, similarly to the other tools mentioned here. There is also the NixOps tool which handles the DevOps part of configuration management and home-manager which manages configuration for users, all parts of the Nix ecosystem.
- I've added Guix as it's well known enough (it has its own article, it's packaged in multiple distros, etc), but I'm not familiar enough with Nix related tools. For instance I don't know what is the exact boundary between Nix, NixOS and NixOps. So I didn't add NixOps along the way. NixOps seems to be a separate tool. NixOps probably has more features for configuration management than Guix (Guix supports only 2 targets: a machine already running Guix, reachable through SSH, and DigitalOcean while NixOps seems to support way more), so if NixOps is notable enough it could probably be added as well. GNUtoo(my point of views(for npov)) | talk 13:33, 6 September 2024 (UTC)
Criteria for "configuration management" software?
editHi,
So far I've added Consfigurator and Guix which are both packaged in Debian and derivatives. But there are a lot more well known configuration management software. I'm thinking about things like etckeeper which isn't like any of the tools mentionned. There are also dotfiles managers (that manages configuration files in the home directory). FAI is also a tool commonly used in configuration management as it can also reconfigure the running system.
However in all these cases the tools help users tracking the configuration inside git repositories and at least for etckeeper and dotfiles managers, they run on the current system and they don't have any way to remotely configure a host: the user is expected to ssh into the remote host and run the tool there manually or to run the tool on their local machines.
Then there are also tools that are more generic. For instance would preseeding count as configuration management? I'm also not completely sure of the extent of what it can do. As I understand it's possible to use presseding on a running system to some extent by adding its configuration and then reinstalling packages. Then what about tools like GNU Stow? The later is a more generic tool, but it's really close to dotfiles managers.
GNUtoo(my point of views(for npov)) | talk 13:19, 6 September 2024 (UTC)