crystal-etcd v1.2.2
crystal-etcd
etcd client for crystal lang implemented as a thin wrapper over etcd's gRPC-HTTP gateway.
The minimum supported etcd version is 3.4
.
Installation
- Add the dependency to your
shard.yml
:
dependencies:
etcd:
github: place-labs/crystal-etcd
- Run
shards install
Usage
require "etcd"
# Initialising a client from ETCD_HOST and ETCD_PORT
client = Etcd.from_env
# Add a key/value to etcd
client.kv.put("/service/hello", "world")
# Grab a key/value from etcd
client.range("/service/hello").kvs.try(&.first?) #=> #<Etcd::Model::KV @key="/service/hello" @value="world" @create_revision=nil @mod_revision=nil @version=nil @lease=nil>
TODO
- Auth.
- Multi-node.
Auth
- authenticate
- disable
- enable
- role/add
- role/delete
- role/get
- role/grant
- role/list
- role/revoke
- user/add
- user/changepw
- user/delete
- user/get
- user/grant
- user/list
- user/revoke
Cluster
- member/add
- member/list
- member/promote
- member/remove
- member/update
Kv
- put
- range
- deleterange
- compaction
- txn
Lease
- grant
- keepalive
- leases
- revoke
- timetolive
Maintenance
- alarm
- defragment
- hash
- snapshot
- status
- transfer-leadership
Watch
- watch
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
See Also
Contributors
- Caspian Baska - creator and maintainer
Repository
crystal-etcd
Owner
Statistic
- 7
- 3
- 1
- 3
- 3
- about 3 years ago
- September 17, 2019
License
MIT License
Links
Synced at
Sat, 21 Dec 2024 20:03:26 GMT
Languages