cookbook 'baragon', '= 2.0.0'
baragon (10) Versions 2.0.0 Follow1
Installs/Configures baragon
cookbook 'baragon', '= 2.0.0', :supermarket
knife supermarket install baragon
knife supermarket download baragon
baragon-cookbook
Installs Baragon (service or agent) on a node. Baragon is the loadbalancer management service for HubSpot's Singularity cluster management system.
Supported Platforms
Tested on an extensive range of platforms including Ubuntu 14.04 and nothing else.
Requirements
Zookeeper
Baragon depends on ZooKeeper to store internal state, and perform coordination between multiple BaragonService
instances if high availability is desired. Using an existing Zookeeper cluster is totally fine if you happen to have one. Separate Baragon installations can also share the same Zookeeper cluster, provided they use different zkNamespace
values.
Nginx
Baragon writes nginx-style config files by default. In theory other load balancers could be used, but the tool is designed around the style of config files used by nginx.
The main requirement is that each application and upstream has its own file containing all necessary configuration directives (as opposed to, say, haproxy, where all configuration is parsed in order from top to bottom from a single, monolithic file).
Attributes
<table>
<tr>
<th>Key</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr>
<tr>
<td><tt>[:baragon][:group_name]</tt></td>
<td>String</td>
<td>Load Balancer Group Name</td>
<td><tt>default</tt></td>
</tr>
<tr>
<td><tt>[:baragon][:proxy_conf_dir]</tt></td>
<td>String</td>
<td>Directory where the proxy config files are placed</td>
<td><tt>/tmp</tt></td>
</tr>
<tr>
<td><tt>[:baragon][:upstream_conf_dir]</tt></td>
<td>String</td>
<td>Directory where the upstream config files are placed</td>
<td>Value of <tt>node[:baragon][:proxy_conf_dir]</tt></td>
</tr>
<tr>
<td><tt>[:baragon][:server_port]</tt></td>
<td>Integer</td>
<td>Baragon service listener port</td>
<td><tt>8080</tt></td>
</tr>
</table>
Usage
baragon::server
Include baragon::server
in your node's run_list
:
{ "run_list": [ "recipe[baragon::server]" ] }
…or in a wrapper cookbook:
include_recipe 'baragon::server'
baragon::agent
Include baragon::agent
in your node's run_list
:
{ "run_list": [ "recipe[baragon::agent]" ] }
…or in a wrapper cookbook:
include_recipe 'baragon::agent'
License and Authors
Author:: EverTrue, Inc. (devops@evertrue.com)
Dependent cookbooks
java >= 0.0.0 |
git >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Baragon cookbook CHANGELOG
v2.0.0 (2015-04-15)
- Convert configuration of Baragon agents to a LWRP
- Breaking: Agent services are named
baragon-agent-<loadBalancerGroup>
- Breaking: Proxy and Upstream conf files live in
<rootPath>/<loadBalancerGroup>/upstream|proxy/
- Breaking: Config files are now named
/etc/baragon/agent-<loadBalancerGroup>.yml
- Breaking: Agent services are named
- Remove excessive whitespace in proxy and upstream templates
- Replace the agent recipe with a single declaration of the default agent LWRP
v1.0.1 (2015-01-21)
- Clean up Berksfile
- Use proper release of
zookeeper
cookbook instead of GitHub release/tag
- Use proper release of
- Add
supports
statement to metadata for Supermarket
v1.0.0 (2015-01-18)
- Initial release of baragon
Foodcritic Metric
2.0.0 failed this metric
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:25
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:26
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:77
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:78
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:2
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:4
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:5
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/service.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/service.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:2
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:6
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:17
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:29
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:30
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:31
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:32
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:34
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:35
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:36
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:39
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:41
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:49
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:52
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:53
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:7
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:14
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:26
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:27
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:10
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:11
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:15
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:18
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:15
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:16
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:17
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:18
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:25
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/templates/default/baragon-agent.init.erb:10
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/templates/default/baragon-server.init.erb:10
FC003: Check whether you are running with chef server before using server-specific features: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:12
FC017: LWRP does not notify when updated: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:1
FC017: LWRP does not notify when updated: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:83
FC019: Access node attributes in a consistent manner: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:4
FC031: Cookbook without metadata file: /tmp/cook/ef401576ce8480346f539669/baragon/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/ef401576ce8480346f539669/baragon/metadata.rb:1
2.0.0 failed this metric
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:25
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:26
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:77
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/agent.rb:78
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:2
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:4
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/default.rb:5
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/service.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/attributes/service.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:2
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:6
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:17
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:29
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:30
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:31
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:32
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:34
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:35
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:36
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:39
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:41
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:49
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:52
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:53
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:7
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:14
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:26
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/build.rb:27
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:10
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:11
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:15
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:18
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:15
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:16
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:17
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:18
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/server.rb:25
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/templates/default/baragon-agent.init.erb:10
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/ef401576ce8480346f539669/baragon/templates/default/baragon-server.init.erb:10
FC003: Check whether you are running with chef server before using server-specific features: /tmp/cook/ef401576ce8480346f539669/baragon/recipes/common.rb:12
FC017: LWRP does not notify when updated: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:1
FC017: LWRP does not notify when updated: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:83
FC019: Access node attributes in a consistent manner: /tmp/cook/ef401576ce8480346f539669/baragon/providers/agent.rb:4
FC031: Cookbook without metadata file: /tmp/cook/ef401576ce8480346f539669/baragon/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/ef401576ce8480346f539669/baragon/metadata.rb:1