Puppet manifests for managing the Jenkins project infrastructure
Go to file
R. Tyler Croy e0aa5729a4 Add HERO MODE to the Blimpfile for spinning up a number of machines to test manifests on.
Also an effective way to spend money on AWS.
2013-06-30 21:25:03 -07: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 Move all our local modules into a local-modules/ tree so librarian-puppet can own modules/ 2013-06-30 19:44:43 -07:00
manifests First pass of some puppet-lint cleanup 2013-06-30 19:04:05 -07: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 Add librarian-puppet for managing dependencies 2013-06-30 19:04:26 -07:00
Puppetfile Change the dependency on the puppet module to hit Puppet Forge 2013-06-30 20:10:17 -07:00
Puppetfile.lock Change the dependency on the puppet module to hit Puppet Forge 2013-06-30 20:10:17 -07: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 Use host only network so that Confluence doesn't redirect to wrong URLs 2012-06-16 07:27:27 -07:00
cucumber.yml Add a good wip profile and default options for cucumber 2012-09-03 00:26:15 -07:00
run.sh Rework the run script to ensure librarian-puppet is installed 2013-06-30 19:44:43 -07: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.