Installs/Configures Atlassian Bamboo
- Add
recipe[bamboo]
to your node's run list.
- Add
recipe[bamboo::agent]
to your node's run list.
- recipe "bamboo::default", "Installs the bamboo server with optional backup in place and logging to graylog."
- recipe "bamboo::server", "Only installs the bamboo server."
- recipe "bamboo::database", "Only installs the bamboo database."
- recipe "bamboo::agent", "Installs a bamboo agent."
- CentOS 6.x
- Mac OS X 10.10
- Ubuntu >= 14.04
- MySQL
- Postgres
Required Opscode Cookbooks
Third-Party Cookbooks
- mysql_connector (if using MySQL database)
- backup (if using backup)
These attributes are under the node['bamboo']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
url | Url for your bamboo installation | String | http://localhost |
home_dir | Bamboo install directory | String | /opt/bamboo |
data_dir | Bamboo data directory | String | /var/bamboo |
user | user to run Bamboo | String | bamboo |
group | group for user bamboo | String | bamboo |
user_home | home dir for user bamboo | String | /home/bamboo |
version | Bamboo version to install | String | 5.3 |
download_url | URL for Bamboo install | String | auto-detected (see attributes/default.rb) |
checksum | SHA256 checksum for Bamboo install | String | auto-detected (see attributes/default.rb) |
These attributes are under the node['bamboo']['agent']
namespace. Agents attributes can be different than the server attributes.
Attribute | Description | Type | Default |
---|---|---|---|
home_dir | Bamboo install directory | String | /opt/bamboo |
data_dir | Bamboo data directory | String | /var/bamboo |
user | user to run Bamboo | String | bamboo |
group | group for user bamboo | String | bamboo |
user_home | home dir for user bamboo | String | /home/bamboo |
ping_timeout | timeout until wrapper restarts unresponsive JVM | Integer | 30 |
disable_agent_auto_capability_detection | sets the flag on the agent | String | true |
additional_path | will be added to the $PATH of the agent process | String |
These attributes are under the node['bamboo']['agent']['monit']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
template_cookbook | cookbook loc of monitrc template | String | bamboo |
template_source | template file name for monitrc | String | procfile.monitrc.erb |
These attributes are under the node['bamboo']['agent']['wrapper']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
java_additionals | additional java args | Array |
Apache2 is used default as reverse proxy
These attributes are under the node['bamboo']['apache']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
access_log | acces log location | String | '' |
error_log | error log location | String | '' |
port | port | Integer | 80 |
template_cookbook | from which cookbook to take the template | String | bamboo |
virtual_host_name | vhost | String | '' |
virtual_host_alias | vhost alias | String | '' |
error_docs | custom error docs | String | '' |
These attributes are under the node['bamboo']['apache']['ssl']
namespace.
access_log | ssl access log | String | ''
error_log | ssl access log | String | ''
chain_file | chain file | String | ''
port | port | Integer | 443
certificate_file | cert file to use | String | localhost.crt for rhel, ssl-cert-snakeoil.pem for ubuntu
key_file | key file to use | String | localhost.key for rhel, ssl-cert-snakeoil.key for ubuntu
These attributes are under the node['bamboo']['database']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
type | Bamboo database type | String | mysql (no other database supported atm) |
host | FQDN or "127.0.0.1" (localhost automatically installs ['database']['type'] server) |
String | localhost |
name | Bamboo database name | String | Bamboo |
password | Bamboo database user password | String | changeit |
port | Bamboo database port | Fixnum | 3306 for MySQL, 5432 for PostgreSQL |
type | Bamboo database type eg postgresql or mysql | String | postgresql |
user | Bamboo database user | String | Bamboo |
These attributes are under the node['bamboo']['jvm']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
minimum_memory | JVM minimum memory | String | 512m |
maximum_memory | JVM maximum memory | String | 2G |
support_args | additional JAVA_OPTS recommended by Atlassian support for Bamboo JVM during startup | String | "" |
These attributes are under the node['bamboo']['crowd']
namespace.
For initial setup first run without crowd enabled, run the setup process and activate crowd via the webui
Attribute | Description | Type | Default |
---|---|---|---|
enabled | enables crowd sso | Boolean | false |
Attribute | Description | Type | Default |
---|---|---|---|
error_docs | Provide custom error docs | Array | e503 - empty |
These attributes are under the node['bamboo']['backup']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
enabled | Enable backup to s3 True/False yes/no | String | false |
ceph | Enable if you use ceph True/False yes/no | String | false |
s3_host | your bucket in S3 | String | s3.amazonaws.com |
s3_scheme | your bucket in S3 | String | http |
s3_port | your bucket in S3 | String | 80 |
s3_access_key_id | Your acces key for S3 | String | changeit |
s3_secret_access_key | Your secret key for S3 | String | changeit |
s3_bucket | your bucket in S3 | String | bamboo |
Here's how you can quickly get testing or developing against the cookbook thanks to Test-Kitchen and Berkshelf.
git clone git://github.com/ramonskie/bamboo.git
cd bamboo
see [TESTING.md](TESTING.md)
The running Bamboo server is accessible from the host machine:
You can then SSH into the running VM using the vagrant ssh
command.
The VM can easily be stopped and deleted with the vagrant destroy
command. Please see the official Vagrant documentation for a more in depth explanation of available commands.
Please see documentation in: TESTING.md
Please use standard Github issues/pull requests and if possible, in combination with testing on the Vagrant boxes.
Please see license information in: LICENSE
- ramonskie ([email protected])
- soudmaijer ([email protected])
- mvdkleijn ([email protected])