- 2022-07-28 Dashkevych Oleksii (@jesterovskiy) Add option to filter services
Pass a
:filter
hash as an option toDiplomat::Service.get
to filter https://www.consul.io/api-docs/catalog#filtering-1.
- Can now use filters on every heath method (#225) Thanks to @damfle
- Allow use of filters on Health.state (#224) Thanks to @damfle
- Stick to Faraday < 2.x (#223) issue reported by fquesnel
- Added ability to specify
index
as a query option for service health (#222) thanks to jebentier - Added ability to receive meta data back from service health queries
- Do not force users to use faraday 1.3+ to fix sous-chefs/consul#582
- [Breaking] Removed support for Ruby < 2.5: since 2.4 is EOL since almost 1y, remove it from supported version.
- Bump
required_ruby_version
from 2.0 to 2.5+ - Bump all gem dependencies
- Replace
codeclimate-test-reporter
gem withsimplecov
gem - Thanks to Sapr0 for the fix
- Switched to GitHub actions
- No functional changes
- Added ability to specify multiple tags when requesting checks for a service
- Generalized the Faraday params encoder to always use
FlatParamsEncoder
to match the expectations of the Consul API
- Fix faraday to version lower than 1.1.0 to keep ruby support for old versions of Consul #211
- Added ability to specify 'cached' as a query option
- Added support for node-meta param to specify node level tags when queying for service health. eg Diplomat::Health.service('apache', passing: true, node_meta: "rack:rack-2") see https://www.consul.io/docs/agent/options#node_meta for more info on setting tags
Avoid Hash#deep_merge monkeypatch (#209 thanks to @benbuckman)
New version with potentially breaking change as CONSUL_HTTP_ADDR
is now read
from environment to replace http://localhost:8500
when set. The variable
is ignored if target is explicitely set programatically.
- Use
CONSUL_HTTP_ADDR
if set in environment by default to fix #57 - Minor improvements in documentation
- Support for
Diplomat::Autopilot.get_configuration()
#207, thanks to @rhughes1 - Support for
Diplomat::Autopilot.get_health()
#207, thanks to @rhughes1
Update rake dependency to 12.3.3 to fix CVE-2020-8130
Properly declare Ruby 2.0 as minimum version in GEM spec
Fix #204: Avoid breaking Ruby versions lower than 2.3
While we do not build against pre 2.4, let's allow people still using it
by avoiding the &.
safe operator.
Support for Ruby 2.7.x
- Stop builds with Ruby 2.3.x (Ruby 2.3.x has no security fixes anymore)
- Build with Ruby 2.7.0
- Fix warnings with Ruby 2.7.0
- Bump rubocop to 0.80.0
- Fix all rubocop warnings
- Updated versions of Ruby in use on Travis
- Support for Faraday library 1.0.0+ (thanks to @bkonick in #203)
- add
Diplomat::Kv.get_all
#201 to have better semantics with unique/multiple key/values
Support Consul 1.4.x ACLs
-
add Diplomat::Policy
-
add Diplomat::Token
-
add PolicyAlreadyExists error class as ID cannot be specified when creating an ACL policy
-
add test for token creation with a specific AccessorID
Strip leading slashes from keys in API requests
When using an invalid token, properly return AclNotFound (Will work with Consul 1.4+)
Now diplomatic_bag installs cleanly from rubygems.org
Cleaner packaging of diplomatic_bag
Fixed dependencies of diplomatic_bag
.
Install properly binaries for diplomatic_bag
.
First release of diplomatic_bag
published on rubygems.org (fixed travis)
This release includes a new gem called diplomatic_bag
that provides some small
command line utilities to inspect Consul thanks to @tionebsalocin.
Other changes:
Diplomat::Service.get(service_name)
now supports lookup with more than 1 tag #191
Bugfix release 3. Ensure to keep existing JSON serialization from 2.0.x
Will fix WeAreFarmGeek#189
Bugfix relase: fix #188
Release 2.1.0 did break a few things. Ensure more compatibility with 2.0.x
Bugfix release.
- Fix for #186
This release cleanup a lot the existing APIs while preserving ascending compatibility. It will avoid relying on side effects to configure diplomat and allow to override most configuration options per API call as implemented in WeAreFarmGeek#179. It is now easy to use one instance of the lib and to perform several calls with different tokens and/or consistency options for instance.
Full changelog:
- Fix behavior of HTTP 302 on some 2.5 ruby releases (#181 fix #171)
- Set flags attribute on KVPair during lock acquisition and release (#180)
- Now allow to override most parameters per request (#179)
- use dedup for safer/simpler conversion of results to hash #176
- Fix incorrect verbs for checks Fix WeAreFarmGeek#173
- Use json_pure to avoid the need for installing a compiler. Fix WeAreFarmGeek#177
- Allow updating Output with TTL checks WeAreFarmGeek#178
- automatic GEM publication from Travis when a tag is pushed
- Depreciate old Ruby version 2.2.x
- Bump bundler to version 2.0.x
- 2018-09-06 Allow to register/deregister entities using tokens
- 2017-11-09 Josep M. Blanquer (@blanquer) Fix service deregister to use the proper verb (
PUT
instead ofGET
). Consul 1.x seems to have started enforcing it.
- 2017-08-23 Trevor Wood trevor.g.wood@gmail.com Revert the change to single values
- Single values now consistently return an Openstruct instead of just the value
- The Faraday adapter is now set after the request (See faraday#685 for more information)
- 2017-08-01 Trevor Wood trevor.g.wood@gmail.com Fix Resolve inconsistent recursive return for Diplomat::KV.get when single value
- 2017-07-28 Eugen Mayer eugen.mayer@kontextwork.de Do not set the adapter on faraday prior the request (#149)
- 2017-07-21 Ben Wu wucheokman@gmail.com fix single key/value in Diplomat::Kv.get with convert_to_hash option ON (#147)
- 2017-04-26 Trevor Wood trevor.g.wood@gmail.com Add service maintenance API call
- 2017-01-23 Trevor Wood trevor.g.wood@gmail.com Add key/value store transaction API endpoint
- 2017-02-15 Paul Thomas paul+github@paulthomas.eu Allow events to target another datacenter
- 2017-01-23 Adam Wentz adam@adamwentz.com Defend against newlines added to responses in dev mode where pretty-printing is enabled by default.
- 2017-04-07 Zane Williamson sepulworld@gmail.com Add cluster status API endpoint
- 2017-01-22 Trevor Wood trevor.g.wood@gmail.com RuboCop fixes and add RuboCop checks
- 2017-01-17 Trevor Wood trevor.g.wood@gmail.com Add cross DC sessions and locking
- 2017-01-11 Dylan Vassallo dylanvassallo@gmail.com Include Consul errors in Diplomat::UnknownStatus messages
- 2017-01-04 Trevor Wood trevor.g.wood@gmail.com Add Diplomat::Query API endpoint
- 2016-12-15 Trevor Wood trevor.g.wood@gmail.com Diplomat::Health returns hashes instead of OpenStructs
- 2016-08-09 Stefan Merettig stefan-merettig@nuriaproject.org Add .respond_to? and .respond_to_missing? to Diplomat::RestClient
- 2016-09-21 Dana Pieluszczak dana@greenhouse.io Add recurse option to Kv#delete
- 2016-10-24 Ryan Duffield rduffield@pagerduty.com Add tag option to Health#service
- 2016-11-05 Trevor Wood trevor.g.wood@gmail.com Diplomat::Node.get returns a hash instead of an OpenStruct
- 2016-08-02 John Hamelink john@johnhamelink.com Improve ACL and Event endpoints by uniformly raising an error for statuscodes which aren't 200.
- 2016-08-02 Sandstrom alexander@skovik.com Add documentation for listing all keys
- 2016-08-02 Alexander Vagin laplugin73@gmail.com Add state option to Health service
- 2016-08-02 John Hamelink john@johnhamelink.com Removed Ruby 1.x support. Added check to raise error for ruby versions <
- 2016-07-27 Kendrick Martin kmartinix@gmail.com Added the ability to return k/v data as ruby hash
- 2016-05-24 Jiri Fajfr jiri.fajfr@ncr.com Added Support for ACL in Node, Service and Event
- 2016-05-24 Aaron Brown aaronbbrown@github.com Added Diplomat::Maintenance class with #enable and #enabled? methods.
- 2016-05-03 Joshua Delsman jdelsman@usertesting.com Added ability to register/deregister nodes
- 2016-04-27 Ryan Schlesinger ryan@outstand.com Added external service registration
- 2016-04-27 Improvements to ACL info method when the ACL doesn't exist
- 2016-04-13 Grégoire Seux g.seux@criteo.com Refactor HTTP deserialization to allow for raw responses to deserialize properly.
- 2016-04-13 Add the ACL token, if configured, to
lock
calls
- 2016-04-13 John Hamelink john@johnhamelink.com Fix license in Gemspec
- 2016-04-07 michlyon michlyon@twitch.tv Add ability to get all nodes across a datacenter
- 2016-03-26 Tony Nyurkin tnyurkin@libertyglobal.com Add tests for healthchecking the datacenter
- 2016-01-27 Sam Marx smarx@spredfast.com Add a datacenter option to the healthchecker
- 2015-12-01 Morgan Larosa chaos95@gmail.com Add support for datacenter argument in Service#get_all
- 2015-11-19 Michael Miko michael.setiawan@rakuten.com Add options to get ModifyIndex value
- 2015-11-12 Grégoire Seux g.seux@criteo.com Add specs for ACL management, improve ACL management code
- 2015-07-25 r.hanna r.hanna@criteo.com Add ACL support