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

Scala

Perl

Python

Node

C

C++

Clojure

Erlang

Elixir

.NET

PHP

Tcl

Rust

Gradle

Lua

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)