You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
consul/api
John Murret b4d509dc56
restore replace statements in api after api module was published.
3 months ago
..
watch [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
.copywrite.hcl [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
.golangci.yml ci: Use golangci-lint for linting 5 years ago
README.md Update the README for the Consul API (#15936) 2 years ago
acl.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
acl_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
agent.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
agent_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
api.go Manual backport of PR 21251 to 1.15.x (#21620) 3 months ago
api_test.go Backport of [NET-4968] Upgrade Go to 1.21 into release/1.15.x (#20180) 11 months ago
catalog.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
catalog_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
ce_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_discoverychain.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_discoverychain_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_exports.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_exports_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_gateways.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_gateways_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_inline_certificate.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_inline_certificate_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_intentions.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_intentions_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_mesh.go pull over Validate_Clusters to api package in 1.15.x (#21631) 3 months ago
config_entry_routes.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_status.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_status_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
config_entry_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
connect.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
connect_ca.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
connect_ca_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
connect_intention.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
connect_intention_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
coordinate.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
coordinate_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
debug.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
debug_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
discovery_chain.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
discovery_chain_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
event.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
event_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
go.mod restore replace statements in api after api module was published. 3 months ago
go.sum restore replace statements in api after api module was published. 3 months ago
health.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
health_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
kv.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
kv_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
lock.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
lock_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
mock_api_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
namespace.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
namespace_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_area.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_autopilot.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_autopilot_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_keyring.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_keyring_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_license.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_raft.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_raft_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_segment.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_usage.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
operator_usage_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
partition.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
peering.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
peering_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
prepared_query.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
prepared_query_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
raw.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
semaphore.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
semaphore_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
session.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
session_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
snapshot.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
snapshot_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
status.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
status_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
txn.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago
txn_test.go [DO NOT MERGE UNTIL EOY] EOY license fixes 1.15.x (#19787) 11 months ago

README.md

Consul API Client

This package provides the api package which provides programmatic access to the full Consul API.

The full documentation is available on Godoc.

Usage

Below is an example of using the Consul client. To run the example, you must first install Consul and Go.

To run the client API, create a new Go module.

go mod init consul-demo

Copy the example code into a file called main.go in the directory where the module is defined. As seen in the example, the Consul API is often imported with the alias capi.

package main

import (
	"fmt"

	capi "github.com/hashicorp/consul/api"
)

func main() {
	// Get a new client
	client, err := capi.NewClient(capi.DefaultConfig())
	if err != nil {
		panic(err)
	}

	// Get a handle to the KV API
	kv := client.KV()

	// PUT a new KV pair
	p := &capi.KVPair{Key: "REDIS_MAXCLIENTS", Value: []byte("1000")}
	_, err = kv.Put(p, nil)
	if err != nil {
		panic(err)
	}

	// Lookup the pair
	pair, _, err := kv.Get("REDIS_MAXCLIENTS", nil)
	if err != nil {
		panic(err)
	}
	fmt.Printf("KV: %v %s\n", pair.Key, pair.Value)
}

Install the Consul API dependency with go mod tidy.

In a separate terminal window, start a local Consul server.

consul agent -dev -node machine

Run the example.

go run .

You should get the following result printed to the terminal.

KV: REDIS_MAXCLIENTS 1000

After running the code, you can also view the values in the Consul UI on your local machine at http://localhost:8500/ui/dc1/kv