cdist update
This commit is contained in:
parent
7b7dbae545
commit
148ad7bc0e
3 changed files with 76 additions and 0 deletions
|
@ -11,6 +11,7 @@ cdist is an alternative to other configuration management systems like
|
||||||
[cfengine](http://www.cfengine.org/)
|
[cfengine](http://www.cfengine.org/)
|
||||||
and [puppet](http://www.puppetlabs.com/).
|
and [puppet](http://www.puppetlabs.com/).
|
||||||
|
|
||||||
|
* [[Why should I use cdist?|why]]
|
||||||
* [[Documentation|documentation]]
|
* [[Documentation|documentation]]
|
||||||
* [[Supported Operating Systems|os]]
|
* [[Supported Operating Systems|os]]
|
||||||
* [[Installation|install]]
|
* [[Installation|install]]
|
||||||
|
|
|
@ -31,6 +31,8 @@ To upgrade to the lastet version do
|
||||||
The old "yes/no" values need to be removed.
|
The old "yes/no" values need to be removed.
|
||||||
* Type **\_\_rvm_ruby**: Parameter --default is now boolean
|
* Type **\_\_rvm_ruby**: Parameter --default is now boolean
|
||||||
The old "yes/no" values need to be removed.
|
The old "yes/no" values need to be removed.
|
||||||
|
* Type **\_\_rvm_gemset**: Parameter --default is now boolean
|
||||||
|
The old "yes/no" values need to be removed.
|
||||||
* Type **\_\_addifnosuchline** and **\_\_removeline** have been replaced by **\_\_line**
|
* Type **\_\_addifnosuchline** and **\_\_removeline** have been replaced by **\_\_line**
|
||||||
* The **conf** directory is now located at **cdist/conf**.
|
* The **conf** directory is now located at **cdist/conf**.
|
||||||
You need to migrate your types, explorers and manifests
|
You need to migrate your types, explorers and manifests
|
||||||
|
@ -39,6 +41,8 @@ To upgrade to the lastet version do
|
||||||
Support for the variable **\_\_object_name** is already present in 2.0.
|
Support for the variable **\_\_object_name** is already present in 2.0.
|
||||||
* The types **\_\_autofs**, **\_\_autofs_map** and **\_\_autofs_reload** have been removed
|
* The types **\_\_autofs**, **\_\_autofs_map** and **\_\_autofs_reload** have been removed
|
||||||
(no maintainer, no users)
|
(no maintainer, no users)
|
||||||
|
* Type **\_\_user**: Parameter --groups removed (use the new \_\_user_groups type)
|
||||||
|
* require="" is deprecated: Use --after and --before as parameters instead
|
||||||
|
|
||||||
### Updating from 1.7 to 2.0
|
### Updating from 1.7 to 2.0
|
||||||
|
|
||||||
|
|
71
software/cdist/why.mdwn
Normal file
71
software/cdist/why.mdwn
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
[[!meta title="Why should I use cdist?"]]
|
||||||
|
|
||||||
|
[[!toc]]
|
||||||
|
|
||||||
|
There are several motivations to use cdist, these
|
||||||
|
are probably the most popular ones.
|
||||||
|
|
||||||
|
## Known language
|
||||||
|
|
||||||
|
Cdist is being configured in
|
||||||
|
[shell script](https://en.wikipedia.org/wiki/Shell_script).
|
||||||
|
Shell script is used by UNIX system engineers for decades.
|
||||||
|
So when cdist is introduced, your staff does not need to learn a new
|
||||||
|
[DSL](https://en.wikipedia.org/wiki/Domain-specific_language)
|
||||||
|
or programming language.
|
||||||
|
|
||||||
|
## Powerful language
|
||||||
|
|
||||||
|
Not only is shell scripting widely known by system engineers,
|
||||||
|
but it is also a very powerful language. Here are some features
|
||||||
|
which make daily work easy:
|
||||||
|
|
||||||
|
* Configuration can react dynamicly on explored values
|
||||||
|
* High level string manipulation (using sed, awk, grep)
|
||||||
|
* Conditional support (**if, case**)
|
||||||
|
* Loop support (**for, while**)
|
||||||
|
* Support for dependencies between cdist types
|
||||||
|
|
||||||
|
## More than shell scripting
|
||||||
|
|
||||||
|
If you compare regular shell scripting with cdist, there is one major
|
||||||
|
difference: When using cdist types,
|
||||||
|
the results are
|
||||||
|
[idempotent](https://en.wikipedia.org/wiki/Idempotence).
|
||||||
|
In practise that means it does not matter in which order you
|
||||||
|
call cdist types, the result is always the same.
|
||||||
|
|
||||||
|
## Zero dependency configuration management
|
||||||
|
|
||||||
|
Cdist requires very litte on a target system. Even better,
|
||||||
|
in almost all cases all dependencies are usually fulfilled.
|
||||||
|
Cdist does not require an agent or a high level programming
|
||||||
|
languages on the target host: it will run on any host that
|
||||||
|
has an **ssh server running** and a posix compatible shell
|
||||||
|
(**/bin/sh**).
|
||||||
|
|
||||||
|
## Push based distribution
|
||||||
|
|
||||||
|
Cdist uses the push based model for configuration. In this
|
||||||
|
scenario, one (or more) computers connect the target hosts
|
||||||
|
and apply the configuration. That way the source host has
|
||||||
|
very little requirements: Cdist can even run on a sysadmin
|
||||||
|
notebook that is loosely connected to the network and has
|
||||||
|
limited amount of resources.
|
||||||
|
|
||||||
|
Furthermore, from a security point of view, only one machine
|
||||||
|
needs access to the target hosts. No target hosts will ever
|
||||||
|
need to connect back to the source host, which contains the
|
||||||
|
full configuration.
|
||||||
|
|
||||||
|
## Highly scalable
|
||||||
|
|
||||||
|
If at some point you manage more hosts than can be handled from
|
||||||
|
a single source host, you can simply add more resources: Either
|
||||||
|
add more cores to one host or add hosts.
|
||||||
|
Cdist will utilise the given resources in parallel.
|
||||||
|
|
||||||
|
## Integration into inventory management
|
||||||
|
|
||||||
|
|
||||||
|
[[!tag cdist unix]]
|
Loading…
Add table
Reference in a new issue