open-consul/api
Paul Banks 280382c25f
Add tests all the way up through the endpoints to ensure duplicate src/destination is supported and so ultimately deny/allow nesting works.
Also adds a sanity check test for `api.Agent().ConnectAuthorize()` and a fix for a trivial bug in it.
2018-06-14 09:41:57 -07:00
..
acl.go
acl_test.go
agent.go Add tests all the way up through the endpoints to ensure duplicate src/destination is supported and so ultimately deny/allow nesting works. 2018-06-14 09:41:57 -07:00
agent_test.go Add tests all the way up through the endpoints to ensure duplicate src/destination is supported and so ultimately deny/allow nesting works. 2018-06-14 09:41:57 -07:00
api.go
api_test.go
catalog.go Add Connect agent, catalog and health endpoints to api Client 2018-06-14 09:41:54 -07:00
catalog_test.go Add Connect agent, catalog and health endpoints to api Client 2018-06-14 09:41:54 -07:00
connect.go api: fix up some comments and rename IssuedCert to LeafCert 2018-06-14 09:41:56 -07:00
connect_ca.go api: fix up some comments and rename IssuedCert to LeafCert 2018-06-14 09:41:56 -07:00
connect_ca_test.go api: starting intention endpoints, reorganize files slightly 2018-06-14 09:41:55 -07:00
connect_intention.go api: IntentionMatch 2018-06-14 09:41:56 -07:00
connect_intention_test.go api: IntentionMatch 2018-06-14 09:41:56 -07:00
coordinate.go
coordinate_test.go
event.go
event_test.go
health.go Add Connect agent, catalog and health endpoints to api Client 2018-06-14 09:41:54 -07:00
health_test.go require -> assert until rebase 2018-06-14 09:41:54 -07:00
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
operator_segment.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)