Public | Automated Build

Last pushed: 13 days ago
Short Description
Mirrors the contents of a git repository into etcd key-value store. Inspired from git2consul.
Full Description


Simple binary to sync a Git repository with an etcd config. Built and tested with Go 1.4+



docker pull blippar/git2etcd


go get


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 ""
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 [""]
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

JSON file

You can use a JSON config file that you would put either in current folder or in a folder you can precise with the -conf_dir flag.

  "host": {
    "listen": "",
    "port": "4242",
    "hook": "hook"
  "repo": {
    "url": "",
    "branch": "master",
    "path": "/opt/git2etcd/repo"
  "etcd": {
    "hosts": [
  "auth": {
    "type": "ssh",
    "ssh": {
      "key": "/home/user/.ssh/id_rsa"

I don't speak JSON !

Well, you can use TOML, YAML, HCL ...

Env vars

Who needs a file when you can use environment variables ? host.port can be G2E_HOST_POST and so on.


We'd love to get your feedback with issues or even pull requests.


Docker Pull Command
Source Repository