Forge Home


Module for managing ThoughtWorks GoCD.


7,120 latest version

2.4 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.1.1 (latest)
  • 0.1.0
released Apr 5th 2016
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.7.0 < 5.0.0
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'swizzley88-gocd', '0.1.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add swizzley88-gocd
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install swizzley88-gocd --version 0.1.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



swizzley88/gocd — version 0.1.1 Apr 5th 2016

Puppet GoCD Module

Table of Contents

  1. Overview
  2. Description
  3. Configuration
  4. Librarian
  5. Development


This is a Puppet Module to deploy and manage the ThoughtWorks GoCD server and agent(s). This is a fork of jmkeyes/gocd module.

Fork changes include:

  • WORKING with version 15.x default version: latest
  • paramaterized with params.pp
  • calling module directly works
  • default's to server install if server not specified for agent
  • fixes git dependency
  • drops Debian/Ubuntu support
  • renames and moves user to /home/gocd from /var/go
  • New User type for creating users
  • Vagrantfile added to fast testing
  • Linted for style guide


For a server:

class { '::gocd': server => true, }

For agents you must specify the server to use like this:

class { '::gocd': server => '', }


This module installs the openjdk appropriate, but can be used in conjunction with oracle jdk using the puppetlabs-java module, but you will need to edit ::gocd::common::dependencies to do that. GoCD also uses a bunch of java deprecated ssl cyphers as of version Java 1.7p79 so the package nss requires an upgrade to the latest work-around this, which is handled in this module.

The server install is currently a bare minimum setup, it does not configure pipelines, environments, repositories, plugins or OAUTH, currently this must be done from the GUI or extend the module at will, see TODO.


To use this module with puppet librarian add the following to your Puppetfile

mod "gocd",
    :tarball => ""
mod "stdlib",
    :tarball => ""
mod "java",
    :tarball => ""
mod "java_ks",
    :tarball => ""
mod "firewall",
    :tarball => ""
mod "concat",
    :tarball => ""
mod "git",
    :tarball => ""
mod "epel",
    :tarball => ""


Send a pull request with a concise description or a valid test.

Current TODO List:

  • Add Plugins Type for managing plugins
  • Add LDAP conf to params
  • Add OAuth conf to params
  • Add git service account to params
  • Add baseline templates
  • Add pipelines to params
  • Add environments to params
  • Add proxy configuration to params
  • Add Jobs type for managing jobs
  • Add stage conf to params
  • Add backup conf to params
  • Add repo type for managing repos
  • Add option to restore from backup via xml
  • Add server conf to params