forked from ungleich-public/cdist
intro => readme
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
ece5c80203
commit
db178edafc
2 changed files with 1 additions and 0 deletions
99
cdist.mdwn
Normal file
99
cdist.mdwn
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
cdist (=opposite to ccollect)
|
||||
aka puppet don right
|
||||
|
||||
- reuse of unix, no need for perl^Wruby
|
||||
- shell
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
what is puppet?
|
||||
|
||||
A configuration deployment assistant,
|
||||
a DSL that allows you define the objectives.
|
||||
A webserver with fileserver capabilities.
|
||||
A client based scheduled polling infrastructure.
|
||||
--------------------------------------------------------------------------------
|
||||
What do I need from puppet?
|
||||
|
||||
- handling of package managers
|
||||
- Modules: Nice to put stuff together
|
||||
- and reuse
|
||||
- [LIBRARY] All the helper types like
|
||||
- file
|
||||
- ssh_keys
|
||||
- package
|
||||
- service
|
||||
- user
|
||||
- [CONDITIONS] facter is cool
|
||||
- [PORTABILITY] clients for every unix
|
||||
- mostly ruby + facter in puppet
|
||||
- the DSL
|
||||
- with many bugs
|
||||
- templates
|
||||
- Client/Server approach is nice to have
|
||||
- Clients only get the part of the documentation, that's
|
||||
relevant to them
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
What do I miss from puppet?
|
||||
|
||||
- speed
|
||||
- elegance
|
||||
- clean design
|
||||
- documentation
|
||||
- the "no surprise" factor
|
||||
- easy to use "data memory" (i.e. external ressources)
|
||||
- easy integration into installation process
|
||||
- copy identity to master
|
||||
- multi master setups
|
||||
- development configurations / tests
|
||||
- editing of configuration files
|
||||
- similar to cfengine
|
||||
- replace bug squasher with bug avoidance
|
||||
- qmail did not need one either
|
||||
- push infrastructure
|
||||
--------------------------------------------------------------------------------
|
||||
Simple stuff done by Unix[notm]
|
||||
|
||||
- DSL: Shell!
|
||||
- gives if, else and EVEN elsif for free!
|
||||
- and case
|
||||
- and and and
|
||||
- and there's no os (solaris doesn't count) without a usable /bin/sh
|
||||
- cdist defines what you can use
|
||||
- you _can_ use os specific stuff
|
||||
- but it's ugly and you shoot into your own foot
|
||||
- "manifests" (use the same name here?) will be run/sourced
|
||||
- inheritance possible via sourcing
|
||||
- cdist-lib always preloaded
|
||||
- library == functions?
|
||||
- version control via git
|
||||
- file distribution via ssh
|
||||
- authentication via ssh
|
||||
- dumb clients, similar to manifest compile in puppet
|
||||
- clients just execute commands
|
||||
- dependencies via make?
|
||||
- how to ensure sigletons / conflicting definitions?
|
||||
file { "/a":
|
||||
ensure => present,
|
||||
file { "/a":
|
||||
ensure => absent,
|
||||
- matching on explored items, not only on host name?
|
||||
- match function in host? [optional]
|
||||
- file source:
|
||||
- relative to specification
|
||||
- or absolute
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Architecture
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Implementation
|
||||
|
||||
"cdist-server"
|
||||
-> called by cron?
|
||||
-> no need to reimplement scheduling
|
||||
"cdist-explore" (facter replacement)
|
||||
-> running on the client
|
||||
Loading…
Add table
Add a link
Reference in a new issue