cookbook 'consul-ng', '= 0.1.2'
consul-ng (5) Versions 0.1.2 Follow1
Installs/Configures Hashicorp Consul
cookbook 'consul-ng', '= 0.1.2', :supermarket
knife supermarket install consul-ng
knife supermarket download consul-ng
consul-ng Cookbook
This is a Chef cookbook to manage Consul.
For Production environment, always prefer the most recent release.
Most Recent Release
cookbook 'consul-ng', '~> 0.1.2'
From Git
cookbook 'consul', github: 'vkhatri/chef-consul-ng'
Repository
https://github.com/vkhatri/chef-consul-ng
Supported OS
This cookbook was tested on Amazon & Ubuntu & Centos7 Linux & Windows2012R2 and expected to work on other RHEL platforms.
Recipes
consul::default
- default recipe (use it for run_list)consul::user
- setup consul user/group
- consul::install
- install consul
consul::install_windows
- install consul on windowsconsul::config
- configure consul
Advanced Attributes
default['consul']['version']
(default:0.6.4
): consul versiondefault['consul']['packages']
(default:['unzip']
): package dependenciesdefault['consul']['notify_restart']
(default:true
): whether to restart consul service on configuration file changedefault['consul']['disable_service']
(default:false
): whether to disable and stop consul servicedefault['consul']['package_url']
(default:auto
): download consul package file from hashicorp package repositorydefault['consul']['webui_package_url']
(default:auto
): download consul webui package file from hashicorp package repositorydefault['consul']['setup_user']
(default:true
): setup consul user / groupdefault['consul']['enable_webui']
(default:true
): enable consul webuidefault['consul']['enable_webui']
(default:true
): enable consul webuidefault['consul']['diplomat_gem_version']
(default:nil
): diplomat chef gem versiondefault['consul']['install_diplomat_gem']
(default:true
): install diplomat chef gemdefault['consul']['configure']
(default:true
): configure consuldefault['consul']['install']
(default:true
): install consul
Core Attributes
default['consul']['packages']
(default:['unzip']
): package dependenciesdefault['consul']['conf_dir']
(default:/etc/consul
): consul configuration directorydefault['consul']['conf_file']
(default:/etc/consul/000-consul.json
): consul configuration filedefault['consul']['parent_dir']
(default:/usr/local/consul
): consul parent directorydefault['consul']['pid_dir']
(default:/var/run/consul
): consul service pid directorydefault['consul']['log_dir']
(default:/var/log/consul
): consul log directorydefault['consul']['mode']
(default:0754
): default directory/file resources modedefault['consul']['umask']
(default:0023
): execute resource attributedefault['consul']['user']
(default:consul
): user namedefault['consul']['group']
(default:consul
): group namedefault['consul']['version_purge']
(default:false
): purge older versions undernode['consul']['parent_dir']
Configuration File 001-consul.json Attributes
default['consul']['config']['datacenter']
(default:nil
): consul configuration attribute, need to set this attributedefault['consul']['config']['encrypt']
(default:nil
): consul configuration attribute, need to set this attributedefault['consul']['config']['start_join']
(default:[]
): consul configuration attribute, set this attribute with consul servers ip addressdefault['consul']['config']['bootstrap']
(default:false
): consul configuration attributedefault['consul']['config']['server']
(default:false
): consul configuration attributedefault['consul']['config']['log_level']
(default:INFO
): consul configuration attributedefault['consul']['config']['bind_addr']
(default:node['ipaddress']
): consul configuration attributedefault['consul']['config']['client_addr']
(default:node['ipaddress']
): consul configuration attributedefault['consul']['config']['ports']['server']
(default:8300
): consul portdefault['consul']['config']['ports']['serf_lan']
(default:8301
): consul portdefault['consul']['config']['ports']['serf_wan']
(default:8302
): consul portdefault['consul']['config']['ports']['rpc']
(default:8400
): consul portdefault['consul']['config']['ports']['dns']
(default:8600
): consul portdefault['consul']['config']['ports']['http']
(default:8500
): consul port
For more attribute info, visit below links:
http://www.consul.io/docs/agent/options.html
Contributing
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests (
rake & rake knife
), ensuring they all pass - Write new resource/attribute description to
README.md
- Write description about changes to PR
- Submit a Pull Request using Github
Copyright & License
Authors:: Virender Khatri and Contributors
<pre>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
</pre>
Dependent cookbooks
nssm ~> 1.2.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
consul-ng CHANGELOG
This file is used to list changes made in each version of the consul-ng cookbook.
0.1.2
Rene Mul - Fix lint
Rene Mul - Added support for systemd
Nathan Sullivan - fix to allow init script to be installed successfully in kitchen-docker
Nathan Sullivan - bump versions supported to include 0.6.4
Nathan Sullivan - fixed rubocop, spec tests
Virender Khatri - make install and config recipe optional
0.1.1
- Rene Mul - Added Windows installation support
0.1.0
- Virender Khatri - Initial release of consul-ng
Check the Markdown Syntax Guide for help with Markdown.
The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.
Foodcritic Metric
0.1.2 passed this metric
0.1.2 passed this metric