Puppet manifests for managing the Jenkins project infrastructure
Go to file
Kohsuke Kawaguchi ae887c46c9 Serve PGP public key over HTTPS to establish the chain of trust. 2014-01-15 16:02:20 -08:00
confluence.deb Added a packaging for 3.x 2012-06-16 06:04:11 -07:00
features Whitelist the nagios server for denyhosts to prevent it from stupidly blocking Nagios SSH checks 2012-09-10 00:40:26 -07:00
local-modules Serve PGP public key over HTTPS to establish the chain of trust. 2014-01-15 16:02:20 -08:00
manifests deploying DKIM to eggplant 2013-11-17 08:59:34 -08:00
.blimpignore Whitelist the nagios server for denyhosts to prevent it from stupidly blocking Nagios SSH checks 2012-09-10 00:40:26 -07:00
.gitignore Add a basic Puppetfile containing the modules that were previously incorporated as submodules 2013-06-30 19:44:43 -07:00
.gitmodules Add the puppetlabs-apt module 2012-10-15 23:19:17 -07:00
Blimpfile Add HERO MODE to the Blimpfile for spinning up a number of machines to test manifests on. 2013-06-30 21:25:03 -07:00
Gemfile Remove Vagrant from the Gemfile, it's now distributed via system packages 2013-07-20 10:53:35 -07:00
Puppetfile Change the dependency on the puppet module to hit Puppet Forge 2013-06-30 20:10:17 -07:00
Puppetfile.lock added my new module 2013-11-17 08:33:03 -08:00
README.markdown Flesh out a basic readme 2011-07-17 18:01:48 -07:00
Rakefile Correct the Rakefile's lint target for the new local-modules tree 2013-06-30 20:10:38 -07:00
Vagrantfile need to load local modules as well. 2013-11-17 08:21:57 -08:00
cucumber.yml Add a good wip profile and default options for cucumber 2012-09-03 00:26:15 -07:00
run.sh don't let local modifications from blocking puppet apply. 2013-11-17 08:37:14 -08:00

README.markdown

Jenkins CI Puppet Repository

About

In order to more effectively manage the Jenkins project's infrastructure these manifests have been created. There a couple of reasons for this:

  • Reproducibility: In the unfortunate scenario where a meteor falls on a datacenter where Jenkins hardware exists, we want to be able to bring a new host on to fulfill those needs as soon as possible.
  • Distributable: With Puppet manifests stored in this repository, it is easier to accept infrastructure help from members of the Jenkins community, without necessarily giving root access out.
  • Accountability: By funneling as much infrastructure work through Puppet as possible, we can have ensure the project has a very clear audit trail for specific infrastructure changes.

Getting Started

We use Vagrant to develop and test these manifests and as such there is a Vagrantfile already in the root directory. If you don't already have Vagrant:

% sudo gem install vagrant

Once you have vagrant you should be able to execute the following command to bring up a test virtual machine and provision it:

% vagrant up

For development, you can just create your manifests and include them in manifests/vagrant.pp, once you're ready to re-run the puppet manifests you can run the following command (no need to rebuild the VM):

% vagrant provision

Getting Help

If you have any questions, stop by the #jenkins channel on the Freenode network and ask rtyler.

Failing that, the jenkinsci-users@ mailing list is a good place to ask for help.