Substitute your docker host where it says 192.168.59.103
.
Start a Consul server:
docker run -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 gliderlabs/consul-server -bootstrap -ui-dir /ui
Create a key:
Visit the Consul ui: 192.168.59.103:8500/ui/#/dc1/kv/ and create a key named settings/someSetting
with any value.
Now clone this repository and run the app:
git clone https://github.com/remmelt/dropwizard-consul-config-provider
cd dropwizard-consul-config-provider
mvn clean package
CONSUL_HOST="192.168.59.103" java -jar target/consul-config-provider.jar server src/main/resources/config.yml
The app should build and start up with a warning that I did not provide any health checks.
Let's see if it worked!
curl http://localhost:8080/
Or just open localhost:8080 in your browser.
someSetting: set from Consul's KV store
someOtherSetting: from config.yml
someSettingThatDoesNotExist: default_value_for_some_setting
Presto.