bamboo

Downloads and installs Bamboo 5.x with a Postgres backend

Timothy Mukaibo

mukaibot

52,413 downloads

51,447 latest version

1.4 quality score

Version information

  • 1.7.0 (latest)
  • 1.6.1
  • 1.6.0
  • 1.5.0
  • 1.1.0
  • 1.0.0
released Nov 12th 2014
This version is compatible with:
  • Puppet Enterprise >=3.2.0 <=3.7.0
  • Puppet >=3.0.0 <4.0.0
  • RedHat, Centos, Ubuntu

Start using this module

Documentation

mukaibot/bamboo — version 1.7.0 Nov 12th 2014

#Bamboo Build Status

####Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with Bamboo
  4. Usage - How to use the module
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

##Overview

Installs Bamboo on a server, with a local Postgres instance. By default, you get Bamboo 5.7.0, Postgres 9.3 and Java 1.7.

##Module Description

This module will install Bamboo 5.7 on your server. It also installs Postgres 9.3, and creates a database and user for you. Currently, it does not configure Bamboo to point to the database - you will need to do that yourself.

##Setup

###What Bamboo affects

  • Java JDK
  • Postgresql

###Setup Requirements

Mandatory requirements: nanliu/staging puppetlabs/stdlib

Optional requirements: puppetlabs/postgresql puppetlabs/java

Note that the default configuration of the module makes used of all these requirements.

Do not define your bamboo user separately, use this module to do it.

##Usage

class { '::bamboo':
  username        => 'bamboo',
  pass_hash       => '$6$XZ3WAndARKKP9d$gv8gsLeoaaKuWD5pPF86V3Y8lb6OdhmEntFrpZeCf2NYX4pnRs5PrRdjcVOGVzeqrHLaZoUVKXNUEpjIr8rcP/',
  bamboo_version  => '5.7.0',
  bamboo_home     => '/home/bamboo/data',
  bamboo_data     => '/var/bamboo/data',
  java_manage     => true,
  db_manage       => true,
  db_name         => 'bamboo_db',
  db_pass         => 'awesomepass',
}

##Reference

Classes

####Public Classes

  • bamboo: Main class, includes all other classes.

####Private Classes

  • bamboo::database: Selects the database to install.
  • bamboo::database::postgresql: Manage the PG database for bamboo.
  • bamboo::install: Download and install Bamboo.
  • bamboo::java: Install and configure java.
  • bamboo::params: Default values for parameters.
  • bamboo::service: Manage the bamboo service.
  • bamboo::user: Creates the user and required directories.

####Parameters

The following parameters are valid for bamboo:

####username

The username for the bamboo user. Default is bamboo

####pass_hash

Password hash for the bamboo user. Use the mkpassword -m sha-512 command to set this. eg $6$XZ3WAndARKKP9d$gv8gsLeoaaKuWD5pPF86V3Y8lb6OdhmEntFrpZeCf2NYX4pnRs5PrRdjcVOGVzeqrHLaZoUVKXNUEpjIr8rcP/

####bamboo_version

Version of Bamboo to install. Default is 5.7.0

####bamboo_home

Path to the directory bamboo should use for installing the software. Default is /opt/atlassian/bamboo

####bamboo_data

Path to the directory bamboo will store it's data in. Default is /var/atlassian/application-data/bamboo

####bamboo_url

The url to the bamboo download.

####db_manage

Specify whether or not puppet should manage a database. Default is true.

####db_type

The type of database to install. Currently only postgres is supported, but there are plans to add mysql.

####db_name

The name of the database for bamboo to use.

####db_user

The database user for bamboo.

####db_pass

The database password for bamboo.

####java_manage

Specify whether or not puppet should manage java (jdk/jre).

####java_distribution

Specify to use the jdk, or jre.

####java_version

The version of java to install. Default will use the system default.

####java_pacakge

Then name of the java package to install.

####service_manage

Specify whether or not puppet will manage the bamboo service.

####service_ensure

Specify whether the service should be running or stopped.

####service_enable

Specify whether the service should start at boot time.

####`service_name

The name of the bamboo service.

##Limitations

This module can only install a Postgresql backend. The groundwork is there if you want a MySQL backend though - reach out and let us know!

Todo list:

  • Add a ton more spec tests
  • Add acceptance tests
  • Add mysql support
  • Add variable validation
  • Add class documentation
  • Add example wrapper class in the documentation
  • Add code to install Bamboo addons.

##Testing

bundle rake install
bundle rake spec
  or
bundle rake spec_standalone

##Development

Pull requests are welcome. Please use a feature branch.