Version information
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
Add this module to your Puppetfile:
mod 'mukaibot-bamboo', '1.7.0'
Learn more about managing modules with a PuppetfileDocumentation
####Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with Bamboo
- Usage - How to use the module
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- 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.
2014-10-01 16:33:01 +1000 Timothy Mukaibo
- Upgrade bamboo to 5.6.2
2014-09-01 22:34:04 -0700 Adam Crews
* Upgrade bamboo to 5.6.1 (HEAD, bamboo_upgrade)
2014-08-29 17:07:59 -0700 Adam Crews
* Fix lint errors so travis is happy (origin/travis, travis)
2014-08-29 16:56:50 -0700 Adam Crews
* Updates to travis config, added sane exclude matrix
2014-08-29 16:44:44 -0700 Adam Crews
* Fix PG user bug (origin/bug_fixes, bug_fixes)
2014-08-29 16:37:23 -0700 Adam Crews
* Fix permissions on the tar deploy
2014-08-28 11:05:54 +1000 Timothy Mukaibo
* Add build status to readme (origin/production, origin/HEAD, production)
2014-08-28 10:40:04 +1000 Timothy Mukaibo
* Add travis support
2014-08-27 16:53:09 -0700 Adam Crews
* Add variable validations and spec tests to support
2014-07-28 07:39:13 -0700 Adam Crews
* Updated .fixtures to use forge modules.
2014-07-31 16:27:49 +1000 Timothy Mukaibo
* Update version for release
2014-07-26 10:39:38 -0700 Adam Crews
* Added some spec tests
2014-07-25 23:29:49 -0700 Adam Crews
* Updated readme
2014-07-24 11:17:06 -0700 Adam Crews
* Refactor module to make it more extendable
2014-07-23 08:57:01 +1000 Timothy Mukaibo
* Source default variables if they exist
2014-07-23 07:14:57 +1000 Timothy Mukaibo
* Improve status()
2014-07-22 08:07:16 +1000 Timothy Mukaibo
* Replace Modulefile with metadat.json
2014-07-22 07:58:09 +1000 Timothy Mukaibo
* Fix Status()
2014-07-22 07:18:18 +1000 Timothy Mukaibo
* Improve console output
2014-07-22 07:14:05 +1000 Timothy Mukaibo
* Forgot to pass args
2014-07-21 13:39:58 +1000 Timothy Mukaibo
* Update init script for Debian
2014-07-21 08:52:36 +1000 Timothy Mukaibo
* Add a crappy init script for Debian
2014-07-18 09:15:46 +1000 Timothy Mukaibo
* Correct typo
2014-07-18 08:37:06 +1000 Timothy Mukaibo
* Add init script for Centos / RedHat
2014-07-14 08:02:55 +1000 Timothy Mukaibo
* Add contrib package to postgres server
2014-07-12 17:46:31 +1000 Timothy Mukaibo
* Add modulefile
2014-07-12 17:39:24 +1000 Timothy Mukaibo
* Update toc
2014-07-12 17:38:25 +1000 Timothy Mukaibo
* Add a name to the readme
2014-07-12 17:37:16 +1000 Timothy Mukaibo
* Hopefully make example clearer
2014-07-12 17:34:48 +1000 Timothy Mukaibo
* Add parameter documentation
2014-07-12 17:20:18 +1000 Timothy Mukaibo
* Add a readme
2014-07-12 10:07:52 +1000 Timothy Mukaibo
* Move variables to init
2014-07-09 19:58:09 +1000 Timothy Mukaibo
* Update path
2014-07-09 19:55:00 +1000 Timothy Mukaibo
* Trying to get rbenv into /home/bamboo
2014-07-09 18:52:01 +1000 Timothy Mukaibo
* Change installpath
2014-07-09 17:23:55 +1000 Timothy Mukaibo
* make rbenv global
2014-07-09 07:29:01 +1000 Timothy Mukaibo
* Add rbenv for bamboo plugin
2014-07-08 17:52:38 +1000 Timothy Mukaibo
* Update bamboo home setting
2014-07-08 17:22:04 +1000 Timothy Mukaibo
* Update requirement to be the extracted bamboo
2014-07-08 13:52:32 +1000 Timothy Mukaibo
* Extract as bamboo user
2014-07-08 13:44:23 +1000 Timothy Mukaibo
* Correct typo
2014-07-08 08:49:32 +1000 Timothy Mukaibo
* They are files, silly
2014-07-08 08:46:31 +1000 Timothy Mukaibo
* Correct typo
2014-07-08 08:41:19 +1000 Timothy Mukaibo
* Download and extract bamboo
2014-07-08 07:51:34 +1000 Timothy Mukaibo
* Split module out
2014-07-07 11:42:59 +1000 Timothy Mukaibo
* Remove variables
2014-07-07 11:07:07 +1000 Timothy Mukaibo
* Correct style
2014-07-07 08:50:12 +1000 Timothy Mukaibo
* Switch to v7
2014-07-07 08:37:16 +1000 Timothy Mukaibo
* Add postgres configuration
2014-07-07 08:06:56 +1000 Timothy Mukaibo
* Initial commit
Dependencies
- puppetlabs/postgresql (>=3.3.0 <4.0.0)
- puppetlabs/stdlib (>=4.1.0 <5.0.0)
- nanliu/staging (>=0.4.1 <1.0.0)
- puppetlabs/java (>=1.1.0 <2.0.0)