Giter VIP home page Giter VIP logo

puppet-bamboo_agent's Introduction

bamboo_agent

Build Status

A Puppet module for managing Bamboo agents.

It can:

  • Install multiple agents side-by-side on a node
  • Ensure agents are running / started up after a reboot
  • Set properties in an agent's wrapper.conf
  • Manage agent capabilities

Examples

Install a single Bamboo agent in /usr/local/bamboo.

class { 'bamboo_agent':
  server_url => 'http://your.bamboo.server:8085',
}

Install two Bamboo agents in /home/bamboo.

class { 'bamboo_agent':
  server_url  => 'http://your.bamboo.server:8085',
  agents      => [1,2],
  install_dir => '/home/bamboo',
}

Advanced Examples

Install two Bamboo agents. Give agent 1 extra heap space by setting the wrapper.java.maxmemory property in wrapper.conf.

class { 'bamboo_agent':
  server_url => 'http://your.bamboo.server:8085',
  agents     => {
    '1' => {
      'wrapper_conf_properties' => {
         'wrapper.java.maxmemory' => '4096',
      }
     },
    '2' => {},
  }
}

Install two Bamboo agents. Give the second agent some custom capabilities.

class { 'bamboo_agent':
  server_url => 'http://your.bamboo.server:8085',
  agents     => {
    '1' => {},
    '2' => {
      'manage_capabilities' => true,
      'capabilities'        => {
         'system.builder.command.Bash' => '/bin/bash',
         'hostname'                    => $::hostname,
         'os'                          => $::operatingsystem,
      }
    }
  }
}

Install six bamboo agents. Give them all the hostname and Bash capabilities from the previous example, as well as a custom capability called reserved. Make reserved default to false, but true for agent 2.

class { 'bamboo_agent':
  server_url           => 'http://your.bamboo.server:8085',
  agent_defaults       => {
    'manage_capabilities' => true,
  },
  default_capabilities => {
    'system.builder.command.Bash' => '/bin/bash',
    'hostname'                    => $::hostname,
    'reserved'                    => false,
  },
  agents => {
    '1' => {},
    '2' => {
      'capabilities' => { 'reserved' => true }
    },
    '3' => {},
    '4' => {},
    '5' => {},
    '6' => {},
  }
}

See init.pp and agent.pp for more details.

Notes

Capabilities are configured using the bamboo-capabilities.properties file

It is strongly recommended to use Hiera automatic parameter lookup to configure agents. Below is the final example from above, translated into Hiera configuration format:

---
bamboo_agent::server_url: http://your.bamboo.server:8085
bamboo_agent::agent_defaults:
  manage_capabilities: true
bamboo_agent::default_capabilities:
  "system.builder.command.Bash": /bin/bash
  hostname: "%{::hostname}"
  reserved: false
bamboo_agent::agents
  1:
  2:
    capabilities:
      reserved: true
  3:
  4:
  5:
  6:

puppet-bamboo_agent's People

Contributors

chqr avatar cliff-wakefield avatar kayakco avatar vibro avatar zeelot avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

puppet-bamboo_agent's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.