Библиотеки и инструменты
Перечень инструментов и клиентских библиотек etcd
Обратите внимание: перечисленные ниже сторонние библиотеки и инструменты (размещённые не на https://github.com/etcd-io ) не тестируются и не сопровождаются командой etcd. Перед использованием рекомендуется прочитать и изучить их документацию и исходный код.
Инструменты
- etcdctl — клиент командной строки для etcd
- etcd-dump — утилита командной строки для выгрузки и восстановления etcd.
- etcd-fs — файловая система FUSE для etcd
- etcddir — синхронизация etcd с локальным каталогом в реальном времени. Работает в Windows и Linux.
- etcd-browser — веб-редактор ключей и значений etcd на AngularJS
- etcd-lock — реализация выборов главного узла и распределённой блокировки чтения/записи на основе etcd; поддерживает v2
- etcd-console — веб-редактор ключей и значений etcd на PHP
- etcd-viewer — редактор и средство просмотра хранилища ключей и значений etcd, написанное на Java
- etcdtool — экспорт, импорт и редактирование каталога etcd в JSON/YAML/TOML, а также проверка каталога по схеме JSON
- etcdloadtest — клиент командной строки для нагрузочного тестирования etcd версии 3.0 и выше.
- etcd-tui — современный терминальный пользовательский интерфейс (TUI) для работы с базой данных etcd. Позволяет переходить по ключам, просматривать значения, фильтровать данные и управлять кластером etcd непосредственно из терминала.
- etcdfinder — сверхбыстрый современный веб-интерфейс etcd с мгновенным поиском. Поддерживает etcd v2 и v3.
- lucas — веб-средство просмотра ключей и значений для кластера kubernetes etcd3.0+.
- etcd-manager — современный, эффективный, многоплатформенный и бесплатный графический интерфейс и клиентский инструмент etcd 3.x. Доступен для Windows, Linux и Mac.
- etcd-backup-restore — утилита для периодического инкрементного резервного копирования и восстановления etcd.
- etcd-druid — оператор Kubernetes для развёртывания кластеров etcd и управления эксплуатационными операциями 2-го дня.
- etcdadm — инструмент командной строки для эксплуатации кластера etcd.
- etcd-defrag — более удобный и интеллектуальный инструмент дефрагментации etcd.
- etcdhelper — плагин платформы intellij для etcd.
Библиотеки
В следующих разделах клиентские библиотеки etcd перечислены по языкам.
Go
- etcd/client/v3 — официально сопровождаемый клиент Go для v3
- go-etcd — устаревший официальный клиент. Может пригодиться для старых версий etcd (<2.0.0).
- encWrapper — оболочка шифрования для API Keys/KV клиента etcd.
Java
- coreos/jetcd — поддерживает v3
- justinsb/jetcd
- cdancy/etcd-rest — использует jclouds для полной реализации API v2.
- IBM/etcd-java
Scala
- maciej/etcd-client — поддерживает v2. Полностью асинхронный клиент на основе Akka HTTP
- eiipii/etcdhttpclient — поддерживает v2. Асинхронный клиент HTTP на основе Netty и Scala Futures.
- mingchuno/etcd4s — поддерживает v3 через gRPC с необязательной поддержкой Akka Stream.
Perl
- hexfusion/perl-net-etcd — поддерживает HTTP API шлюза grpc v3
- robn/p5-etcd — поддерживает v2
Python
- kragniz/python-etcd3 — клиент для v3
- jplana/python-etcd — поддерживает v2
- russellhaering/txetcd — библиотека Twisted для Python
- cholcombe973/autodock — инструмент автоматизации развёртывания Docker
- lisael/aioetcd — клиент на корутинах Asyncio (Python 3.4+), поддерживает v2
- txaio-etcd — асинхронная клиентская библиотека только для etcd v3: для Twisted сейчас и asyncio в будущем
- dims/etcd3-gateway — библиотека API etcd v3, использующая HTTP-шлюз grpc
- aioetcd3 — API etcd v3 для asyncio (Python 3.6+)
- Revolution1/etcd3-py — клиент Python для etcd v3 (python2.7 и python3.5+), использующий gRPC-JSON-Gateway
Node
- mixer/etcd3 — поддерживает v3
- stianeikeland/node-etcd — поддерживает v2 (с Coffeescript)
- lavagetto/nodejs-etcd — поддерживает v2
- deedubs/node-etcd-config — поддерживает v2
Ruby
- iconara/etcd-rb
- jpfuentes2/etcd-ruby
- ranjib/etcd-ruby — поддерживает v2
- davissp14/etcdv3-ruby — поддерживает v3
C
- apache/celix/etcdlib — поддерживает v2
- jdarcy/etcd-api — поддерживает v2
- shafreeck/cetcd — поддерживает v2
C++
- edwardcapriolo/etcdcpp — поддерживает v2
- suryanathan/etcdcpp — поддерживает v2 (с ожиданиями)
- nokia/etcd-cpp-api — поддерживает v2
- etcd-cpp-apiv3/etcd-cpp-apiv3 — поддерживает v3
Clojure
- aterreno/etcd-clojure
- dwwoelfel/cetcd — поддерживает v2
- rthomas/clj-etcd — поддерживает v2
Erlang
- marshall-lee/etcd.erl — поддерживает v2
- zhongwencool/eetcd — поддерживает v3+ (только GRPC)
Elixir
- team-telnyx/etcdex — поддерживает v3+ (только GRPC)
.NET
- wangjia184/etcdnet — поддерживает v2
- drusellers/etcetera
- shubhamranjan/dotnet-etcd — поддерживает v3+ (только GRPC)
- SimplifyNet/Etcd.Microsoft.Extensions.Configuration
PHP
- linkorb/etcd-php
- activecollab/etcd
- ouqiang/etcd-php — клиент для шлюза gRPC v3
Haskell
R
Nim
Tcl
- efrecon/etcd-tcl — поддерживает v2, кроме ожидания.
Rust
- jimmycuadra/rust-etcd — поддерживает v2
Gradle
- gradle-etcd-rest-plugin — поддерживает v2
Lua
- api7/lua-resty-etcd — поддерживает v2 и v3 (HTTP API шлюза grpc)
Инструменты развёртывания
Интеграции Chef
Рецепты Chef
Выпуски BOSH
Проекты, использующие etcd
- Пользователи Raft etcd — проекты, использующие реализацию библиотеки raft от etcd.
- Apache APISIX — шлюз API, использующий etcd как хранилище конфигурации.
- apache/celix — адаптированная для C и C++ реализация спецификации OSGi
- binocarlos/yoda — etcd + ZeroMQ
- blox/blox — набор проектов с открытым исходным кодом для управления контейнерами и оркестрации с AWS ECS
- calavera/active-proxy — HTTP-прокси, настраиваемый с помощью etcd
- chain/chain — программное обеспечение для работы и соединения высокомасштабируемых блокчейн-сетей с контролем доступа
- derekchiang/etcdplus — набор примитивов распределённой синхронизации на основе etcd
- go-discover — обнаружение служб на Go
- gleicon/goreman — ветвь клона Foreman на Go с поддержкой etcd
- garethr/hiera-etcd — бэкенд Puppet hiera на основе etcd
- mattn/etcd-vim — операции SET и GET с ключами из vim
- mattn/etcdenv — шебанг “env” с интеграцией etcd
- kelseyhightower/confd — управление локальными файлами конфигурации приложений с помощью шаблонов и данных etcd
- configdb — реляционная абстракция REST над произвольными бэкендами баз данных для хранения конфигураций и инвентарных данных.
- kubernetes/kubernetes — диспетчер контейнерных кластеров, созданный Google.
- mailgun/vulcand — HTTP-прокси, использующий etcd как бэкенд конфигурации.
- duedil-ltd/discodns — простой DNS-сервер имён, использующий etcd как базу данных имён и записей.
- skynetservices/skydns — DNS-сервер, соответствующий RFC
- xordataexchange/crypt — безопасное хранение значений в etcd с шифрованием GPG
- spf13/viper — библиотека конфигурации Go, читающая значения из ENV, pflags, файлов и etcd с необязательным шифрованием
- lytics/metafora — библиотека распределённых задач на Go
- ryandoyle/nss-etcd — модуль GNU libc NSS для разрешения имён из etcd.
- Gru — упрощённая оркестрация на Go
- Vitess — система кластеризации баз данных для горизонтального масштабирования MySQL.
- lclarkmichalek/etcdhcp — сервер DHCP, использующий etcd для постоянного хранения и координации.
- openstack/networking-vpp — сетевой драйвер, программирующий плоскость данных FD.io VPP для создания облачной виртуальной сети OpenStack
- OpenStack — службы OpenStack могут использовать etcd как базовую службу.
- CoreDNS — DNS-сервер CoreDNS, объединяющий плагины в цепочку и входящий в CNCF и Kubernetes
- Uber M3 — M3: крупномасштабная платформа метрик Uber с открытым исходным кодом для Prometheus
- Rook — оркестрация хранилища для Kubernetes
- Patroni — шаблон высокой доступности PostgreSQL с ZooKeeper, etcd или Consul
- Trillian — реализация дерева Меркла, содержимое которого обслуживается из уровня хранения данных, что позволяет масштабироваться до чрезвычайно больших деревьев.
- purpleidea/mgmt — новое поколение распределённого, событийного и параллельного управления конфигурацией!
- Portworx/kvdb — внутреннее хранилище kvdb для конфигурации кластера Portworx.
- Apache Pulsar — распределённая платформа обмена сообщениями и потоковой обработки с открытым исходным кодом, созданная для облака.