git2etcd

command module
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2018 License: Apache-2.0 Imports: 20 Imported by: 0

README

git2etcd

Go Report Card GoDoc GitHub release LICENSE

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

Installing

Docker
docker pull blippar/git2etcd
Manually
go get github.com/blippar/git2etcd

Configuring

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
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": "git@github.com:blippar/git2etcd.git",
    "branch": "master",
    "path": "/opt/git2etcd/repo"
  },
  "etcd": {
    "hosts": [
      "http://127.0.0.1:2379"
    ]
  },
  "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.

Contributing

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

Authors

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL