Puppet
Speaker | unknown |
---|---|
Time | 2008-02-01 14:30 |
Conference | LCA2008 |
Every server requires slightly different commands to do the same things.
apt-get install openssh-server
vim /etc/ssh/sshd_config
/etc/init.d/ssh restart
Most of what we manage fits the same model.
High level description, works regardless of Unix distribution.
sysadmin code is usually OS specific, and not portable.
better tools are about better quality of changes
Puppet:
- Resource types: packages, user, service.
- Providers (portability layer).
- 23 package types supported
- Users in netinfo, useradd, pw.
- Debian, Ubuntu, Red Hat, Solaris, OS X, Gentoo SuSE, FreeBSD, NetBSD, etc.
don’t think of things procedurally
portability layer is like an Operating System API
cfengine
protocol:
- ssh and a for loop is not a solution
- single application, based on a revision control system
- every 30 minutes every client polls from server
open developent community
if product sucks, I don’t eat
resources are abstractions
catalog - collection of resources
What resource classes is a given host a member of? OS resource class? Location resource class? etc.
resources: package, file, service resource instances: ssh, sshd_config, sshd
templates, behaves differently depending on platform.
XMLRPC over https
Moving to REST over https
Puppet has its own CA