command module
Version: v0.6.5 Latest Latest

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

Go to latest
Published: Feb 25, 2017 License: Apache-2.0 Imports: 20 Imported by: 0



fsconsul writes data to the filesystem by reading it from Consul's K/V store.

fsconsul allows configuration data to be placed on disk without a consuming application needing to know about the existence of Consul. This makes it especially easy to configure applications throughout all your environments: development, testing, production, etc. On any change, fsconsul will run the provided command, so you can perform any additional actions (restarting your application, for example) necessary.

fsconsul is a port of envconsul which in turn was inspired by envdir in its simplicity, name, and function.

Download & Usage

To install fsconsul, clone this repo into your go workspace and do a go install.


fsconsul can be configured entirely by command-line switches, but for more complex cases, you may wish to provide the path to a config JSON file as the -configFile switch. The format of the JSON file is:

	"consul" : {
		"addr": ""
		"dc": "dc1",
		"token" : "my-reader-token"
	"mappings" : [{
		"onchange": "service restart app1",
		"prefix": "/myteam/dev/app1/config/",
		"path": "/etc/app1/",
		"keystore": "/var/lib/encryption_keys"
		"onchange": "service restart app2",
		"prefix": "/myteam/dev/app2/config/",
		"path": "/etc/app2/",
		"keystore": "/var/app2/encryption_keys"

Run fsconsul to see the usage help:

$ fsconsul
Usage: fsconsul [options] prefix path onchange

  Write files to the specified locations on the local system by reading K/Vs
  from Consul's K/V store with the given prefixes and executing a program on
  any change.  Prefixes and paths must be pipe-delimited if provided as
  command-line switches.


  -addr="": consul HTTP API address with port
  -configFile="": json file containing all configuration (if this is provided, all other config is ignored)
  -dc="": consul datacenter, uses local if blank
  -keystore="": directory of keys used for decryption
  -once=false: run once and exit
  -token="": token to use for ACL access


Builds are automatically run by Travis on any push or pull request.

Travis Status


Tagged builds are automatically published to bintray for OS X, Linux, and Windows.



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