46915108e7
example: https://github.com/hashicorp/consul/blob/master/watch/plan.go#L26 conf := consulapi.DefaultConfig() conf.Address = address conf.Datacenter = p.Datacenter conf.Token = p.Token # <-- replace Token from DefaultConfig/CONSUL_HTTP_AUTH with "" client, err := consulapi.NewClient(conf) how to reproduce bug: 0. consul -> localhost:8500 with more than 0 service checks 1. deny all for anonymous token 2. create appropriate acl <token> for watch checks (agent:read + node:read,service:read) 3. bash: CONSUL_HTTP_AUTH=<token> consul watch -http-addr=localhost:8500 -type=checks # --> return [] consul watch -http-addr=localhost:8500 -type=checks -token=<token> # -> return { .... right json result .... } |
||
---|---|---|
.. | ||
acl.go | ||
acl_test.go | ||
agent.go | ||
agent_test.go | ||
api.go | ||
api_test.go | ||
catalog.go | ||
catalog_test.go | ||
coordinate.go | ||
coordinate_test.go | ||
event.go | ||
event_test.go | ||
health.go | ||
health_test.go | ||
kv.go | ||
kv_test.go | ||
lock.go | ||
lock_test.go | ||
operator.go | ||
operator_area.go | ||
operator_autopilot.go | ||
operator_autopilot_test.go | ||
operator_keyring.go | ||
operator_keyring_test.go | ||
operator_raft.go | ||
operator_raft_test.go | ||
prepared_query.go | ||
prepared_query_test.go | ||
raw.go | ||
README.md | ||
semaphore.go | ||
semaphore_test.go | ||
session.go | ||
session_test.go | ||
snapshot.go | ||
snapshot_test.go | ||
status.go | ||
status_test.go |
Consul API client
This package provides the api
package which attempts to
provide programmatic access to the full Consul API.
Currently, all of the Consul APIs included in version 0.6.0 are supported.
Documentation
The full documentation is available on Godoc
Usage
Below is an example of using the Consul client:
// Get a new client
client, err := api.NewClient(api.DefaultConfig())
if err != nil {
panic(err)
}
// Get a handle to the KV API
kv := client.KV()
// PUT a new KV pair
p := &api.KVPair{Key: "foo", Value: []byte("test")}
_, err = kv.Put(p, nil)
if err != nil {
panic(err)
}
// Lookup the pair
pair, _, err := kv.Get("foo", nil)
if err != nil {
panic(err)
}
fmt.Printf("KV: %v", pair)