Перейти к содержанию

Библиотеки и инструменты

Перечень инструментов и клиентских библиотек 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

Scala

  • maciej/etcd-client — поддерживает v2. Полностью асинхронный клиент на основе Akka HTTP
  • eiipii/etcdhttpclient — поддерживает v2. Асинхронный клиент HTTP на основе Netty и Scala Futures.
  • mingchuno/etcd4s — поддерживает v3 через gRPC с необязательной поддержкой Akka Stream.

Perl

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

Ruby

C

C++

Clojure

Erlang

Elixir

.NET

PHP

Haskell

R

Nim

Tcl

Rust

Gradle

Lua

Инструменты развёртывания

Интеграции 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 — распределённая платформа обмена сообщениями и потоковой обработки с открытым исходным кодом, созданная для облака.