Git2Etcd

Mirror the contents of a git repository into your etcd key-value store.


autorenew

Keep in sync

Always keep your Git repository in sync with your etcd key-value store with auto-sync and push Webhooks.

search

Never miss a change

Whether someone creates, edits or deletes a key of your KV store, you will always be able to know who and what with your Git history.

fingerprint

Git based permissions

If you don't want to deal with ACL on your etcd side, simply keep your permissions on your Git repository and only allow people to create Pull Requests that only you can merge.



Installation



Docker
docker pull blippar/git2etcd


Manually
go get github.com/blippar/git2etcd

Configuration



Key Description Default
host.listen Host to listen to ""
host.port Port to listen to "4242"
host.hook Name of the Webhook endpoint "hook"
repo.url URL of the repo to sync "https://github.com/blippar/git2etcd.git"
repo.branch Branch of the repo to sync "master"
repo.path Path where to clone the repo "/data"
repo.synccycle Number of seconds between 2 automatic syncs (if 0, never syncs) 3600
etcd.hosts List of etcd hosts ["http://127.0.0.1:2379"]
auth.type Type of authentication for Git "n/a"
auth.ssh.key Path to the SSH private key (if ssh auth type) "n/a"
auth.ssh.public Path to the SSH public key (if ssh auth type) "n/a"
auth.http.username Username (if HTTP auth type) "n/a"
auth.http.password Password (if HTTP auth type) "n/a"

Contribute