consul/api
sarahalsmiller 262f435800
NET-6821 Disable Terminating Gateway Auto Host Header Rewrite (#20802)
* disable terminating gateway auto host rewrite

* add changelog

* clean up unneeded additional snapshot fields

* add new field to docs

* squash

* fix test
2024-03-12 15:37:20 -05:00
..
watch
.copywrite.hcl [DO NOT MERGE UNTIL EOY] update year in LICENSE and copywrite files (#19780) 2024-01-02 08:41:12 -08:00
.golangci.yml
LICENSE
README.md
acl.go [NET-6251] Nomad client templated policy (#19827) 2023-12-06 10:32:12 -05:00
acl_test.go
agent.go
agent_test.go [CC-7044] Start HCP manager as part of link creation (#20312) 2024-01-29 16:31:44 -06:00
api.go add raw delete api method (#20737) 2024-03-05 08:52:55 -06:00
api_test.go [NET-4968] Upgrade Go to 1.21 (#20062) 2024-01-12 09:57:38 -05:00
catalog.go
catalog_test.go
ce_test.go
config_entry.go Add clarification for route match behavior (#19363) 2023-10-25 20:01:46 +00:00
config_entry_discoverychain.go Case sensitive route match (#19647) 2024-01-22 09:23:24 -06:00
config_entry_discoverychain_test.go Case sensitive route match (#19647) 2024-01-22 09:23:24 -06:00
config_entry_exports.go NET-5824 Exported services api (#20015) 2024-01-23 10:06:59 +05:30
config_entry_exports_test.go
config_entry_gateways.go NET-6821 Disable Terminating Gateway Auto Host Header Rewrite (#20802) 2024-03-12 15:37:20 -05:00
config_entry_gateways_test.go
config_entry_inline_certificate.go
config_entry_inline_certificate_test.go
config_entry_intentions.go
config_entry_intentions_test.go
config_entry_jwt_provider.go
config_entry_jwt_provider_test.go
config_entry_mesh.go
config_entry_rate_limit_ip.go fix: allow snake case keys for ip based rate limit config entry (#19277) 2023-10-19 10:54:00 -04:00
config_entry_routes.go NET-6294 - v1 Agentless proxycfg datasource errors after v2 changes (#19365) 2023-10-27 14:06:38 -06:00
config_entry_routes_test.go Relplat 897 copywrite bot workarounds (#19200) 2023-10-16 08:53:31 -07:00
config_entry_sameness_group.go
config_entry_status.go
config_entry_status_test.go Relplat 897 copywrite bot workarounds (#19200) 2023-10-16 08:53:31 -07:00
config_entry_test.go
connect.go
connect_ca.go
connect_ca_test.go
connect_intention.go
connect_intention_test.go
coordinate.go
coordinate_test.go
debug.go
debug_test.go
discovery_chain.go
discovery_chain_test.go
event.go
event_test.go
exported_services.go NET-5824 Exported services api (#20015) 2024-01-23 10:06:59 +05:30
go.mod security: upgrade google.golang.org/protobuf to 1.33.0 (#20801) 2024-03-06 23:04:42 +00:00
go.sum security: upgrade google.golang.org/protobuf to 1.33.0 (#20801) 2024-03-06 23:04:42 +00:00
health.go
health_test.go
internal.go Relplat 897 copywrite bot workarounds (#19200) 2023-10-16 08:53:31 -07:00
internal_test.go Relplat 897 copywrite bot workarounds (#19200) 2023-10-16 08:53:31 -07:00
kv.go
kv_test.go
lock.go
lock_test.go Retry lint fixes (#19151) 2023-12-06 12:11:32 -05:00
mock_api_test.go
namespace.go
namespace_test.go
operator.go
operator_area.go
operator_audit.go Relplat 897 copywrite bot workarounds (#19200) 2023-10-16 08:53:31 -07:00
operator_autopilot.go
operator_autopilot_test.go
operator_keyring.go
operator_keyring_test.go
operator_license.go
operator_raft.go
operator_raft_test.go
operator_segment.go
operator_usage.go
operator_usage_test.go
partition.go Update API and API Docs regarding disabling gossip for a partition. (#20669) 2024-02-26 12:14:39 -05:00
peering.go
peering_test.go
prepared_query.go
prepared_query_test.go
raw.go add raw delete api method (#20737) 2024-03-05 08:52:55 -06:00
raw_test.go add raw delete api method (#20737) 2024-03-05 08:52:55 -06:00
semaphore.go
semaphore_test.go
session.go
session_test.go
snapshot.go
snapshot_test.go
status.go
status_test.go
txn.go
txn_test.go

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