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


  • 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



  • 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