Consul::Client
A consul client that gracefully supports offline reads/writes for dev
Installation
Add this line to your application's Gemfile:
gem 'consul-client', :git => 'ssh://[email protected]/goldstar/consul-client.git'
And then execute:
$ bundle
Usage
Basic Usage
The main methods to use are Consul::Client.read
and Consul::Client.write
, these will perform all kv queries within the namespace defined by Consul::Client.config.namespace
>> Consul::Client.config.namespace = "/bags"
>> mydata = {foo:1, bar:[1,2,:three], baz:false, bat:{one:1, two:2, three:3}}
=> {:foo=>1, :bar=>[1, 2, :three], :baz=>false, :bat=>{:one=>1, :two=>2, :three=>3}}
>> consul::Client.write('/some/key', mydata)
=> #<Consul::Response:0x007fec1c893180
>> Consul::Client.read('/some/key')
=> {:foo=>1, :bar=>[1, 2, :three], :baz=>false, :bat=>{:one=>1, :two=>2, :three=>3}}
curl "http://consul:8500/v1/kv/bags/some/key?raw"
---
:foo: 1
:bar:
- 1
- 2
- :three
:baz: false
:bat:
:one: 1
:two: 2
:three: 3
Tweakables
>> Consul::Client.config.host = "consul_server" # default: "consul"
>> Consul::Client.config.port = 12345 # default: 8500
>> Consul::Client.config.namespace = "/foo" # default: "/bags"
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. 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.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/goldstar/consul-client.
License
The gem is available as open source under the terms of the MIT License.