Skip to content

sue445/itamae-plugin-recipe-consul

Repository files navigation

Itamae::Plugin::Recipe::Consul

Itamae plugin to install Consul with init scripts

Gem Version Build Status

Supported

  • Debian 10+ (systemd)

Installation

Add this line to your application's Gemfile:

gem 'itamae-plugin-recipe-consul'

And then execute:

$ bundle

Or install it yourself as:

$ gem install itamae-plugin-recipe-consul

Usage

Recipe

Install Consul executable file and init scritps (systemd or init.d)

# recipe.rb
include_recipe "consul"

Or include_recipe just what you need manually:

include_recipe "consul::setup"
include_recipe "consul::install"
include_recipe "consul::service"

Node

# node.yml
consul:
  # install consul version (required)
  version: "0.6.4"

  # download zip platform (default: "linux_amd64")
  platform: "linux_amd64"

  # path to downloaded zip file (default: "/usr/local/src")
  src_dir: "/usr/local/src"

  # path to consul executable file (default: "/usr/local/src")
  bin_dir: "/usr/local/bin"

  # consul agent -data-dir option (default: "/tmp/consul")
  data_dir: "/tmp/consul"

  # consul agent other options (default: none)
  options: "-server -bootstrap-expect 1"

  gomaxprocs: 2

  # consul service actions when after install (default: enable, start)
  service_actions:
    - enable
    - start
    # - disable
    # - stop

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Testing

requirements Docker

e.g) test on CentOS 7.0

docker run --privileged -d --name container-with-service centos:7 /sbin/init
bundle exec itamae docker --node-yaml=recipes/node.yml recipes/install.rb --container=container-with-service --tag itamae-plugin:latest
DOCKER_CONTAINER=container-with-service bundle exec rspec

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/sue445/itamae-plugin-recipe-consul.

License

The gem is available as open source under the terms of the MIT License.

Special thanks

systemd unit file and init.d script

http://qiita.com/yunano/items/7ef5fa5670721de55627