NOTE: go-git2consul is experimental and still under development, and therefore should not be used in production!
go-git2consul is a port of git2consul, which had great success and adoption. go-git2consul takes on the same basic principles as its predecessor, and attempts to improve upon some of its feature sets as well as add new ones. There are a few advantages to go-git2consul, including, but is not limited to, the use of the official Consul API and the removal of runtime dependencies such as node and git.
Configuration on go-git2consul is sourced locally instead of it being fetched from the KV. This provides better isolation in cases where multiple instances of git2consul are running in order to provide high-availability, and addresses the issues mentioned in Cimpress-MCP/git2consul#73.
git2consul will attempt to use sane defaults for configuration. However, since git2consul needs to know which repository to pull from, minimal configuration is necessary.
|Configuration||Required||Default Value||Available Values||Description|
||Local cache for git2consul to store its tracked repositories|
||Webhook listener address that that git2consul will be using|
||Webhook listener port that that git2consul will be using|
||Name of the repository. This will match the webhook path, if any are enabled|
||The URL of the repository|
||Tracking branches of the repository|
|repos:hooks:type||no||polling||polling, github, stash, bitbucket, gitlab||Type of hook to use to fetch changes on the repository|
||Interval, in seconds, to poll if polling is enabled|
||Consul address to connect to. It can be either the IP or FQDN with port included|
|consul:ssl||no||false||true, false||Whether to use HTTPS to communicate with Consul|
|consul:ssl_verify||no||false||true, false||Whether to verify certificates when connecting via SSL|
||Consul API Token|
Available command option flags
The path to the configuration file. This flag is required.
Runs git2consul once and exits. This essentially ignores webhook polling.
Displays the version of git2consul and exits. All other commands are ignored.
Webhooks will be served from a single port, and different repositories will be given different endpoints according to their name
Future feature additions
- File format backend
- Support for source_root and mountpoint
- Support for tags as branches
- Support for Consul HTTP Basic Auth
- Logger support for other handlers other than text
- Auth support for webhooks banckends
- Go 1.6
- libgit2 v0.24.0