Ansible-based etcd cluster manager and deployment tool
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ansible @ f974ff6
bin
doc
playbooks
.gitmodules
COPYING
LICENSE
README.md
ansible.cfg
bootstrap-parent-git.sh
hosts-sample

README.md

etcd-conductor

Ansible-based etcd manager. Offers convenient and no-hassle install, bootstrap, management and health check operations.

What is etcd-conductor?

etcd-conductor is Ansible-based etcd cluster manager and deployment tool. It can install etcd on your designated hosts, bootstrap your new cluster, start, stop and restart it, rolling-restart it, reconfigure it, check its health and get its leader, add and remove nodes to/from it, and so forth.

What it is not?

Currently etcd-conductor is not concerned with data that is stored in your etcd cluster - at all! This might change in the future, but one should not expect that eagerly.

Quickstart: 1 minute to operational etcd cluster

# Create a new git repository.
git init my-etcd-cluster
cd       my-etcd-cluster


# Add etcd-conductor as git submodule to it.
# WARNING: It is important that you do not change the submodule path!
git submodule add https://github.com/a2o/etcd-conductor.git etcd-conductor


# Let etcd-conductor bootstrap your git repository contents.
./etcd-conductor/bootstrap-parent-git.sh


# Populate your inventory now.
edit ./hosts


# If you do not have etcd already installed on your nodes,
# etcd-conductor can do it for you.
# Destination: /usr/local/etcd*
./bin/install


# Finish: bootstrap your cluster.
./bin/cluster-bootstrap

Supported Linux distributions

etcd-conductor is created as distribution-agnostic as possible. Currently the following distributions are supported: Ubuntu, Slackware, RedHat/CentOS. If you need support for some other Linux distribution, please create it and submit a pull request.

Parts that need polishing:

  • install procedure (currently supports Ubuntu only)
  • active cluster management (restart commands might be missing)

Contributing

Contributions to etcd-conductor in form of pull requests on GitHub are welcome. Please use concise branch naming for your pull requests. Same branching and contributing rules apply as described here:

License

etcd-conductor is released under GNU General Public License version 2.

Credits

etcd-conductor development is currently located at the following URI:

http://github.com/a2o/etcd-conductor/

etcd-conductor was created and is maintained by:

Bostjan Skufca <bostjan@a2o.si>

List of contributors is available at the following locations:

  • in the git history;
  • in the ChangeLog file;
  • in the list of pull requests on GitHub.