This is a weird one because `make bootstrap` does a `go get vault` so CI
never fails due to missing Vault dependencies. However developer
machines will have whatever version of vault they grabbed last time they
bootstrapped a new dev environment.
This can lead to surprising build issues and different devs testing
slightly different code.
So let's vendor all test deps to try to keep the Nomad repo
self-contained.
This PR does the following:
* Adds a mechanism to emit events in the TaskRunner
* Vendors a new version of Consul-Template that allows extraction of
missing dependencies
* Adds logic to our consul_template.go to determine missing events and
emit them in a batched fashion.
* Refactors the consul_template code to split the run method and take in
a config struct rather than many parameters.
Fixes https://github.com/hashicorp/nomad/issues/2578
The sample request incorrectly used `https://nomad.rocks/v1/job/my-job/deployments` which listed all deployments for the specified job. The sample request has therefore been updated to use the correct endpoint which returns only the jobs most recent deployment.
If Config.Vault.Token is defined, /v1/agent/self will return the string
`<redacted>`. If the token is not set, This endpoint will continue to
return the empty string.
Fixes an issue in which the allocation health watcher was checking for
allocations health based on un-interpolated services and checks. Change
the interface for retrieving check information from Consul to retrieving
all registered services and checks by allocation. In the future this
will allow us to output nicer messages.
Fixes https://github.com/hashicorp/nomad/issues/2969
In a content reorganization, the allocations endpoint documentation was removed. This just brings it back in and updates the output to match v0.6.0 output