Puppet iconPuppet 2.7.6

Puppet is a system configuration tool.
Puppet lets you centrally manage every important aspect of your system using a cross-platform specification language that manages all the separate elements normally aggregated in different files, like users, cron jobs, and hosts, along with obviously discrete elements like packages, services, and files.

Puppet's simple declarative specification language provides powerful classing abilities for drawing out the similarities between hosts while allowing them to be as specific as necessary, and it handles dependency and prerequisite relationships between objects clearly and explicitly.

Puppet is a system configuration tool. Puppet project has a library for managing the system, a language for specifying the configuration you want, and a set of clients and servers for communicating the configuration and other information.

The library is entirely responsible for all action, and the language is entirely responsible for expressing configuration choices.

Everything is developed so that the language operations can take place centrally on a single server (or bank of servers), and all library operations will take place on each individual client. Thus, there is a clear demarcation between language operations and library operations, as this document will mention.

Setup

The vast majority of Puppet architectures will look like a star, with a central server running puppetmasterd, and each client node running puppetd, contacting that central server.

Your central manifest, which contains the configuration for all of your nodes, needs to be on the central server, most likely at /etc/puppet/manifests/site.pp.

Start the puppetmasterd daemon, and then tell your clients to contact that server by specifying -s < servername > as arguments to puppetd, replacing "< servername >" with the name of the server. Alternatively, puppetd defaults to looking for a server named "puppet", so you can just create a CNAME for your server, so that it answers to "puppet".

It is a good idea to run both the server and client in verbose mode, enabled with the -v flag, until you are sure everything is working. As each new client connects, you will need to run puppetca --list to list the certificates waiting to be signed, and then puppetca --sign < name >, replacing "< name >" with the name of the client whose certificate you want to sign. You can turn on autosigning by creating /etc/puppet/autosign.conf and put the hosts, domains, or IP addresses or ranges that you want to sign in there.

Installation:

Run 'ruby install.rb' or add the 'lib/' directory to your RUBYLIB path.

After that, you should be able to go into test/ and run ./test, or run 'bin/puppet' on whichever puppet config files you want.

last updated on:
November 1st, 2011, 15:49 GMT
price:
FREE!
developed by:
Luke Kanies
license type:
GPL (GNU General Public License) 
category:
ROOT \ System \ System Administration

FREE!

In a hurry? Add it to your Download Basket!

user rating 18

UNRATED
2.8/5
 

0/5

What's New in version 2.7.3
  • 7113448 (#4762) Ensure that clients on the moon can successfully connect.
  • c8835ad Add document outlining preferred contribution methods
  • ea0f2bf Revert "Merge branch 'vcsrepo'"
  • 94f0b93 (#8704) Give better errors for invalid fileserver.conf
read full changelog

Add your review!

SUBMIT