Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. https://www.consul.io
Go to file
John Cowen cf638ee551
ui: Always show main navigation Key/Value link (#10916)
* ui: Ignore response from API for KV permissions

Currently there is no way for us to use our HTTP authorization API
endpoint to tell us whether a user has access to any KVs (including the
case where a user may not have access to the root KV store, but do have
access to a sub item)

This is a little weird still as in the above case the user would click
on this link and still get a 403 for the root, and then have to manually
type in the URL for the KV they do have access to.

Despite this we think this change makes sense as at least something about KV is
visible in the main navigation.

Once we have the ability to know if any KVs are accessible, we can add
this guard back in.

We'd initially just removed the logic around the button, but then
noticed there may be further related KV issues due to the nested nature
of KVs so we finally decided on simply ignoring the responses from the
HTTP API, essentially reverting the KV area back to being a thin client.
This means when things are revisited in the backend we can undo this
easily change in one place.

* Move acceptance tests to use ACLs perms instead of KV ones
2021-09-22 18:23:59 +01:00
.changelog ui: Always show main navigation Key/Value link (#10916) 2021-09-22 18:23:59 +01:00
.circleci Rerun go-test and go-test-32bits tests up to 3 times before failing (#11059) 2021-09-20 16:04:59 -04:00
.github github: added CODEOWNERS to automatically request tech writer review (#10962) 2021-09-01 14:02:06 -04:00
acl acl: fix intention:*:write checks (#11061) 2021-09-16 11:08:45 -05:00
agent Merge pull request #11090 from hashicorp/clly/kv-usage-metrics 2021-09-22 11:26:56 -05:00
api add StatusError to api package (#11054) 2021-09-20 14:04:13 -07:00
bench Gets benchmarks running again and does a rough pass for 0.7.1. 2016-11-29 13:02:26 -08:00
build-support Add failures_before_warning to checks (#10969) 2021-09-14 12:47:52 -04:00
command Fixup api config and Envoy test 2021-09-15 17:25:21 -06:00
connect oss portion of ent #1069 (#10883) 2021-08-20 12:57:45 -04:00
contributing Move contributing to docs 2021-08-30 16:17:09 -04:00
demo demo: Added udp port forwarding 2018-05-30 13:56:56 +09:00
docs Move contributing to docs 2021-08-30 16:17:09 -04:00
grafana add readme outlining how to edit and publish 2021-01-12 14:47:11 -08:00
internal sso/oidc: add support for acr_values request parameter (#11026) 2021-09-17 09:10:05 -07:00
ipaddr Ensure Consul is IPv6 compliant (#5468) 2019-06-04 10:02:38 -04:00
lib consul: fix data race in leader CA tests 2021-07-14 18:58:15 -04:00
logging sync changes to oss files made in enterprise (#10670) 2021-07-22 13:58:08 -05:00
proto Add failures_before_warning to checks (#10969) 2021-09-14 12:47:52 -04:00
sdk Update error texts (#11022) 2021-09-14 11:08:06 -06:00
sentinel Allow users to configure either unstructured or JSON logging (#7130) 2020-01-28 17:50:41 -06:00
service_os Changes made : 2018-06-28 21:18:14 -04:00
snapshot testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
terraform terraform: remove modules in repo (#5085) 2019-04-04 16:31:43 -07:00
test Add Envoy integration test to show Header manip can interpolate Envoy variables 2021-09-10 21:09:24 +01:00
testrpc add testrpc.WaitForServiceIntentions to help unflake tests that manipulate intentions (#8867) 2020-10-07 14:20:25 -05:00
tlsutil tls: consider presented intermediates during server connection tls handshake. (#10964) 2021-09-09 21:48:54 +02:00
types Move RPC router from Client/Server and into BaseDeps (#8559) 2020-08-27 11:23:52 -04:00
ui ui: Always show main navigation Key/Value link (#10916) 2021-09-22 18:23:59 +01:00
version Putting source back into Dev Mode 2021-09-22 10:09:18 -05:00
website Merge pull request #11090 from hashicorp/clly/kv-usage-metrics 2021-09-22 11:26:56 -05:00
.dockerignore Update the scripting 2018-06-14 21:42:47 -04:00
.gitignore website: remove netlify artifacts and port missing redirects over to new format (#9601) 2021-01-21 10:16:17 -05:00
.golangci.yml xds: remove deprecated usages of xDS (#9602) 2021-02-22 15:00:15 -06:00
CHANGELOG.md Putting source back into Dev Mode 2021-09-22 10:09:18 -05:00
GNUmakefile Update CI config and Makefile for vendor removal 2021-07-21 18:39:07 -04:00
INTERNALS.md Move contributing to docs 2021-08-30 16:17:09 -04:00
LICENSE Initial commit 2013-11-04 14:15:27 -08:00
NOTICE.md add copyright notice file 2018-07-09 10:58:26 -07:00
README.md docs: Refer to macOS vs Mac OS X in the main README (#10639) 2021-07-20 19:00:47 +01:00
Vagrantfile Adds a basic Linux Vagrant setup, stolen from Nomad. 2017-10-06 08:10:12 -07:00
codecov.yml Update all the references in CI and makefile to the bindata file location 2020-10-01 16:19:10 +01:00
go.mod Bump `go-discover` to fix broken dep tree (#10898) 2021-09-16 15:31:22 -04:00
go.sum Bump `go-discover` to fix broken dep tree (#10898) 2021-09-16 15:31:22 -04:00
main.go cmd: introduce a shim to expose Stdout/Stderr writers 2021-06-02 16:51:34 -04:00
main_test.go Adding basic CLI infrastructure 2013-12-19 11:22:08 -08:00
package-lock.json Add Algolia indexing to CI 2020-06-29 12:14:43 -04:00

README.md

Consul CircleCI Discuss

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/Service Segmentation - Consul Connect 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 without being aware of Connect at all.

  • 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. 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://www.consul.io/docs

Contributing

Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance.