Operations grimoire/Legacy archive/Puppet manual: Difference between revisions

From Nasqueron Agora
(Link through archive.org)
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
This document is historical. We adopted SaltStack to manage Nasqueron servers configuration as code.
This document is historical. We adopted SaltStack to manage Nasqueron servers configuration as code.
</div>
</div>


== Architecture ==
== Architecture ==
Line 31: Line 30:
* [https://web.archive.org/web/20121017094233/http://docs.puppetlabs.com/guides/installation.html Installation guide]
* [https://web.archive.org/web/20121017094233/http://docs.puppetlabs.com/guides/installation.html Installation guide]


[[Category:Server administration]]
[[Category:Puppet]]
[[Category:Operations grimoire|Puppet]]
[[Category:Legacy documentation|Puppet]]

Latest revision as of 21:57, 24 October 2024

This document is historical. We adopted SaltStack to manage Nasqueron servers configuration as code.

Architecture

  • A configuration files repository on Gerrit, managed like an open source project with a Git repository.
  • A server which send configuration files to clients. This is currently installed on Grip. It should be migrated to Ysul.
  • The others servers are puppetized and received their configuration like Warg.

The goal of the game is you wipe a server, you have it reinstalled automatically as it were with all services fully operational.

It means each time you deploy manually anything on the servers, you have then to create a Puppet manifest.

Prepare the server

On FreeBSD, you'll find 5 Puppet related ports:

  • /usr/ports/net-mgmt/nagios-check_puppet - a Nagios plugin to check if puppetd and puppetmasterd are alive and to check if state.yaml is up to date
  • /usr/ports/sysutils/puppet - Puppet 3.x (currently 3.0.1)
  • /usr/ports/sysutils/puppet-lint - Puppet Linter
  • /usr/ports/sysutils/puppet26 - Puppet 2.6.x (currently 2.6.17)
  • /usr/ports/sysutils/puppet27 - Puppet 2.7.x (currently 2.7.19)

We use sysutils/puppet and sysutils/puppet-lint.

Linting configuration files

  • puppet-lint <file>
  • Add require 'puppet-lint/tasks/puppet-lint' to Rakefile and run the command rake lint. Useful for Jenkins.

Useful links