Patroni
Libraries and tools
A listing of etcd tools and client libraries
Note that third-party libraries and tools (not hosted on https://github.com/etcd-io) mentioned below are not tested or maintained by the etcd team. Before using them, users are recommended to read and investigate them.
Tools
-
etcdctl - A command line client for etcd
-
etcd-dump - Command line utility for dumping/restoring etcd.
-
etcd-fs - FUSE filesystem for etcd
-
etcddir - Realtime sync etcd and local directory. Work with windows and linux.
-
etcd-browser - A web-based key/value editor for etcd using AngularJS
-
etcd-lock - Master election & distributed r/w lock implementation using etcd - Supports v2
-
etcd-console - A web-base key/value editor for etcd using PHP
-
etcd-viewer - An etcd key-value store editor/viewer written in Java
-
etcdtool - Export/Import/Edit etcd directory as JSON/YAML/TOML and Validate directory using JSON schema
-
etcdloadtest - A command line load test client for etcd version 3.0 and above.
-
lucas - A web-based key-value viewer for kubernetes etcd3.0+ cluster.
-
etcd-manager - A modern, efficient, multi-platform and free etcd 3.x GUI & client tool. Available for Windows, Linux and Mac.
-
etcd-backup-restore - Utility to periodically and incrementally backup and restore the etcd.
-
etcd-druid - A Kubernetes operator to deploy etcd clusters and manage day-2 operations.
-
etcdadm - A command-line tool for operating an etcd cluster.
-
etcd-defrag - An easier to use and smarter etcd defragmentation tool.
-
etcdhelper - An intellij platform plugin for etcd.
Libraries
The sections below list etcd client libraries by language.
Go
-
etcd/client/v3 - the officially maintained Go client for v3
-
etcd/client/v2 - the officially maintained Go client for v2
-
go-etcd - the deprecated official client. May be useful for older (<2.0.0) versions of etcd.
-
encWrapper - encWrapper is an encryption wrapper for the etcd client Keys API/KV.
Java
-
coreos/jetcd - Supports v3
-
boonproject/etcd - Supports v2, Async/Sync and waits
-
diwakergupta/jetcd - Supports v2
-
jurmous/etcd4j - Supports v2, Async/Sync, waits and SSL
-
AdoHe/etcd4j - Supports v2 (enhance for real production cluster)
-
cdancy/etcd-rest - Uses jclouds to provide a complete implementation of v2 API.
Scala
-
maciej/etcd-client - Supports v2. Akka HTTP-based fully async client
-
eiipii/etcdhttpclient - Supports v2. Async HTTP client based on Netty and Scala Futures.
-
mingchuno/etcd4s - Supports v3 using gRPC with optional Akka Stream support.
Perl
-
hexfusion/perl-net-etcd - Supports v3 grpc gateway HTTP API
-
robn/p5-etcd - Supports v2
Python
-
kragniz/python-etcd3 - Client for v3
-
jplana/python-etcd - Supports v2
-
russellhaering/txetcd - a Twisted Python library
-
cholcombe973/autodock - A docker deployment automation tool
-
lisael/aioetcd - (Python 3.4+) Asyncio coroutines client (Supports v2)
-
txaio-etcd - Asynchronous etcd v3-only client library for Twisted (today) and asyncio (future)
-
aioetcd3 - (Python 3.6+) etcd v3 API for asyncio
-
Revolution1/etcd3-py - (python2.7 and python3.5+) Python client for etcd v3, using gRPC-JSON-Gateway
Node
-
mixer/etcd3 - Supports v3
-
stianeikeland/node-etcd - Supports v2 (w Coffeescript)
-
lavagetto/nodejs-etcd - Supports v2
-
deedubs/node-etcd-config - Supports v2
Ruby
-
ranjib/etcd-ruby - Supports v2
-
davissp14/etcdv3-ruby - Supports v3
C
-
apache/celix/etcdlib - Supports v2
-
jdarcy/etcd-api - Supports v2
-
shafreeck/cetcd - Supports v2
C++
-
edwardcapriolo/etcdcpp - Supports v2
-
suryanathan/etcdcpp - Supports v2 (with waits)
-
nokia/etcd-cpp-api - Supports v2
-
nokia/etcd-cpp-apiv3 - Supports v3
Clojure
-
dwwoelfel/cetcd - Supports v2
-
rthomas/clj-etcd - Supports v2
Erlang
-
marshall-lee/etcd.erl - Supports v2
-
zhongwencool/eetcd - Supports v3+ (GRPC only)
Elixir
-
team-telnyx/etcdex - Supports v3+ (GRPC only)
.NET
-
wangjia184/etcdnet - Supports v2
-
shubhamranjan/dotnet-etcd - Supports v3+ (GRPC only)
PHP
-
ouqiang/etcd-php - Client for v3 gRPC gateway
Tcl
-
efrecon/etcd-tcl - Supports v2, except wait.
Rust
-
jimmycuadra/rust-etcd - Supports v2
Gradle
-
gradle-etcd-rest-plugin - Supports v2
Lua
-
api7/lua-resty-etcd - Supports v2 and v3 (grpc gateway HTTP API)
Projects using etcd
-
etcd Raft users - projects using etcd’s raft library implementation.
-
apache/celix - an implementation of the OSGi specification adapted to C and C++
-
binocarlos/yoda - etcd + ZeroMQ
-
blox/blox - a collection of open source projects for container management and orchestration with AWS ECS
-
calavera/active-proxy - HTTP Proxy configured with etcd
-
chain/chain - software designed to operate and connect to highly scalable permissioned blockchain networks
-
derekchiang/etcdplus - A set of distributed synchronization primitives built upon etcd
-
go-discover - service discovery in Go
-
gleicon/goreman - Branch of the Go Foreman clone with etcd support
-
garethr/hiera-etcd - Puppet hiera backend using etcd
-
mattn/etcd-vim - SET and GET keys from inside vim
-
mattn/etcdenv - “env” shebang with etcd integration
-
kelseyhightower/confd - Manage local app config files using templates and data from etcd
-
configdb - A REST relational abstraction on top of arbitrary database backends, aimed at storing configs and inventories.
-
kubernetes/kubernetes - Container cluster manager introduced by Google.
-
mailgun/vulcand - HTTP proxy that uses etcd as a configuration backend.
-
duedil-ltd/discodns - Simple DNS nameserver using etcd as a database for names and records.
-
skynetservices/skydns - RFC compliant DNS server
-
xordataexchange/crypt - Securely store values in etcd using GPG encryption
-
spf13/viper - Go configuration library, reads values from ENV, pflags, files, and etcd with optional encryption
-
lytics/metafora - Go distributed task library
-
ryandoyle/nss-etcd - A GNU libc NSS module for resolving names from etcd.
-
Gru - Orchestration made easy with Go
-
Vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
-
lclarkmichalek/etcdhcp - DHCP server that uses etcd for persistence and coordination.
-
openstack/networking-vpp - A networking driver that programs the FD.io VPP dataplane to provide OpenStack cloud virtual networking
-
OpenStack - OpenStack services can rely on etcd as a base service.
-
CoreDNS - CoreDNS is a DNS server that chains plugins, part of CNCF and Kubernetes
-
Uber M3 - M3: Uber’s Open Source, Large-scale Metrics Platform for Prometheus
-
Rook - Storage Orchestration for Kubernetes
-
Patroni - A template for PostgreSQL High Availability with ZooKeeper, etcd, or Consul
-
Trillian - Trillian implements a Merkle tree whose contents are served from a data storage layer, to allow scalability to extremely large trees.
-
Apache APISIX - Apache APISIX is a dynamic, real-time, high-performance API gateway.
-
purpleidea/mgmt - Next generation distributed, event-driven, parallel config management!
-
Portworx/kvdb - The internal kvdb for storing Portworx cluster configuration.
-
Apache Pulsar - Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud.
Last modified November 3, 2023: docs: additional updates (a462771)