consul/api
Kyle Havlovitz 2eefe3ca5b
Add autopilot server health tracking
This adds two goroutines to perform autopilot tasks on the leader - one
to monitor the health of servers and another to periodically clean up
dead servers with a limit on removal count. Also adds a new http endpoint,
`/v1/operator/autopilot/health`, for querying this information through an
operator RPC endpoint.
2017-03-06 16:00:10 -08:00
..
README.md Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05:00
acl.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
acl_test.go api: run ACL tests by default 2015-06-13 23:51:30 +02:00
agent.go Add reload/leave http endpoints (#2516) 2016-11-30 13:29:42 -05:00
agent_test.go Lets the leave unit test proceed even after an EOF. 2017-01-26 22:22:18 -08:00
api.go Update unix dial functions to use DialContext with new go-cleanhttp 2017-02-10 21:11:21 -05:00
api_test.go Update unix dial functions to use DialContext with new go-cleanhttp 2017-02-10 21:11:21 -05:00
catalog.go Adds catalog support for node IDs. 2017-01-18 14:26:42 -08:00
catalog_test.go Add node metadata filtering to remaining health/catalog endpoints 2017-01-13 20:08:43 -05:00
coordinate.go Adds support for coordinates to client API. 2015-10-23 15:23:01 -07:00
coordinate_test.go Adds support for coordinates to client API. 2015-10-23 15:23:01 -07:00
event.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
event_test.go api: improve test reliability 2015-05-12 12:10:25 -07:00
health.go Return the correct type 2016-11-29 21:17:00 -05:00
health_test.go Add node metadata filtering to remaining health/catalog endpoints 2017-01-13 20:08:43 -05:00
kv.go fix KVOp types 2016-11-24 20:43:41 +01:00
kv_test.go Fix race condition in TestClient_WatchList and TestClient_WatchGet 2016-10-25 17:48:11 -07:00
lock.go Adds comment about SessionOpts. 2016-10-05 17:53:27 -07:00
lock_test.go More flaky unit test fixes (#2449) 2016-10-31 09:59:20 -07:00
operator.go Add autopilot server health tracking 2017-03-06 16:00:10 -08:00
operator_test.go Rename DeadServerCleanup and make wording adjustments 2017-02-28 14:45:21 -08:00
prepared_query.go Add tests for node meta in prepared queries and update docs 2017-01-23 19:17:30 -05:00
prepared_query_test.go Add tests for node meta in prepared queries and update docs 2017-01-23 19:17:30 -05:00
raw.go api: Refactoring into shared write logic 2015-02-18 15:15:02 -08:00
semaphore.go Factors server error checking into a new function. 2016-01-06 11:35:16 -08:00
semaphore_test.go Makes the timeout behavior more intuitive. 2016-01-06 09:40:20 -08:00
session.go Merge pull request #1041 from rboyer/api-fix-session-renew 2015-09-25 13:15:54 -07:00
session_test.go Correct the Session.Renew{,Periodic} to handle session expiration better 2015-09-14 08:52:32 -05:00
snapshot.go Adds support for snapshots and restores. (#2396) 2016-10-25 19:20:24 -07:00
snapshot_test.go Adds support for snapshots and restores. (#2396) 2016-10-25 19:20:24 -07:00
status.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
status_test.go api: run tests in parallel 2015-05-08 10:27:24 -07:00

README.md

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)