consul

command module
v1.16.109 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2023 License: MPL-2.0 Imports: 9 Imported by: 0

README

Consul logo Consul

Consul hernad's fork

build on nix

nix-shell -p go -p zip -p tree -p nodejs_16
# https://github.com/NixOS/nixpkgs/issues/145634
curl -o- -L https://yarnpkg.com/install.sh | bash
# set PATH
make ui-regen

Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

Consul provides several key features:

  • Multi-Datacenter - Consul is built to be datacenter aware, and can support any number of regions without complex configuration.

  • Service Mesh - Consul Service Mesh enables secure service-to-service communication with automatic TLS encryption and identity-based authorization. Applications can use sidecar proxies in a service mesh configuration to establish TLS connections for inbound and outbound connections with Transparent Proxy.

  • Service Discovery - Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. External services such as SaaS providers can be registered as well.

  • Health Checking - Health Checking enables Consul to quickly alert operators about any issues in a cluster. The integration with service discovery prevents routing traffic to unhealthy hosts and enables service level circuit breakers.

  • Key/Value Storage - A flexible key/value store enables storing dynamic configuration, feature flagging, coordination, leader election and more. The simple HTTP API makes it easy to use anywhere.

Consul runs on Linux, macOS, FreeBSD, Solaris, and Windows and includes an optional browser based UI. A commercial version called Consul Enterprise is also available.

Please note: We take Consul's security and our users' trust very seriously. If you believe you have found a security issue in Consul, please responsibly disclose by contacting us at security@hashicorp.com.

Quick Start

A few quick start guides are available on the Consul website:

Documentation

Full, comprehensive documentation is available on the Consul website: https://consul.io/docs

Contributing

Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance. For contributions specifically to the browser based UI, please refer to the UI's README.md for guidance.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
acl
ae
Package ae provides tools to synchronize state between local and remote consul servers.
Package ae provides tools to synchronize state between local and remote consul servers.
cache
Package cache provides caching features for data from a Consul server.
Package cache provides caching features for data from a Consul server.
consul
The snapshot endpoint is a special non-RPC endpoint that supports streaming for taking and restoring snapshots for disaster recovery.
The snapshot endpoint is a special non-RPC endpoint that supports streaming for taking and restoring snapshots for disaster recovery.
consul/rate
Package rate implements server-side RPC rate limiting.
Package rate implements server-side RPC rate limiting.
consul/stream
Package stream provides a publish/subscribe system for events produced by changes to the state store.
Package stream provides a publish/subscribe system for events produced by changes to the state store.
dns
grpc-external/limiter
package limiter provides primatives for limiting the number of concurrent operations in-flight.
package limiter provides primatives for limiting the number of concurrent operations in-flight.
grpc-internal/balancer
package balancer implements a custom gRPC load balancer.
package balancer implements a custom gRPC load balancer.
grpc-middleware
generated by protoc-gen-consul-rate-limit; DO NOT EDIT.
generated by protoc-gen-consul-rate-limit; DO NOT EDIT.
hcp
hcp/bootstrap
Package bootstrap handles bootstrapping an agent's config from HCP.
Package bootstrap handles bootstrapping an agent's config from HCP.
hcp/telemetry
Package telemetry implements functionality to collect, aggregate, convert and export telemetry data in OpenTelemetry Protocol (OTLP) format.
Package telemetry implements functionality to collect, aggregate, convert and export telemetry data in OpenTelemetry Protocol (OTLP) format.
proxycfg
Package proxycfg contains components for sourcing the data required to configure Connect proxies.
Package proxycfg contains components for sourcing the data required to configure Connect proxies.
proxycfg-sources/local
Package local integrates the proxycfg Manager with the agent's local state.
Package local integrates the proxycfg Manager with the agent's local state.
router
Package servers provides a Manager interface for Manager managed metadata.Server objects.
Package servers provides a Manager interface for Manager managed metadata.Server objects.
xds
Package xds provides an implementation of a gRPC service that exports Envoy's xDS API for config discovery.
Package xds provides an implementation of a gRPC service that exports Envoy's xDS API for config discovery.
api module
acl
cli
kv
rtt
tls
certgen
certgen: a tool for generating test certificates on disk for use as test-fixtures and for end-to-end testing and local development.
certgen: a tool for generating test certificates on disk for use as test-fixtures and for end-to-end testing and local development.
internal
controller
Package controller provides an API for implementing control loops on top of Consul resources.
Package controller provides an API for implementing control loops on top of Consul resources.
go-sso/oidcauth
package oidcauth bundles up an opinionated approach to authentication using both the OIDC authorization code workflow and simple JWT decoding (via static keys, JWKS, and OIDC discovery).
package oidcauth bundles up an opinionated approach to authentication using both the OIDC authorization code workflow and simple JWT decoding (via static keys, JWKS, and OIDC discovery).
go-sso/oidcauth/oidcauthtest
package oidcauthtest exposes tools to assist in writing unit tests of OIDC and JWT authentication workflows.
package oidcauthtest exposes tools to assist in writing unit tests of OIDC and JWT authentication workflows.
radix
This packages contents were originally copied from github.com/armon/go-radix.
This packages contents were originally copied from github.com/armon/go-radix.
resource/demo
Package demo includes fake resource types for working on Consul's generic state storage without having to refer to specific features.
Package demo includes fake resource types for working on Consul's generic state storage without having to refer to specific features.
lib
decode
Package decode provides tools for customizing the decoding of configuration, into structures using mapstructure.
Package decode provides tools for customizing the decoding of configuration, into structures using mapstructure.
mutex
Package mutex implements the sync.Locker interface using x/sync/semaphore.
Package mutex implements the sync.Locker interface using x/sync/semaphore.
semaphore
Package semaphore implements a simple semaphore that is based on golang.org/x/sync/semaphore but doesn't support weights.
Package semaphore implements a simple semaphore that is based on golang.org/x/sync/semaphore but doesn't support weights.
ttlcache
Package ttlcache provides an ExpiryHeap that can be used by a cache to track the expiration time of its entries.
Package ttlcache provides an ExpiryHeap that can be used by a cache to track the expiration time of its entries.
proto
proto-public module
sdk module
The archive utilities manage the internal format of a snapshot, which is a tar file with the following contents:
The archive utilities manage the internal format of a snapshot, which is a tar file with the following contents:
tools
troubleshoot module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL