Operations grimoire/Legacy archive/Puppet manual: Difference between revisions
From Nasqueron Agora
No edit summary |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<div style="background-color: #939599; border: solid 3px #F7E10E; color: white; font-size: large; padding: 2em;"> | |||
This document is historical. We adopted SaltStack to manage Nasqueron servers configuration as code. | |||
</div> | |||
== Architecture == | == Architecture == | ||
* A configuration files repository on [[Gerrit]], managed like an open source project with a Git repository. | * 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]]. | * 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 others servers are puppetized and received their configuration like [[Warg]]. | ||
Line 24: | Line 28: | ||
== Useful links == | == Useful links == | ||
* [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: | [[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.