Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
 
 
 
 
 
 
Go to file
John Cowen b16a6fa033
ui: Adds Partitions to the HTTP layer (#10447)
This PR mainly adds partition to our HTTP adapter. Additionally and perhaps most importantly, we've also taken the opportunity to move our 'conditional namespaces' deeper into the app.

The reason for doing this was, we like that namespaces should be thought of as required instead of conditional, 'special' things and would like the same thinking to be applied to partitions.

Now, instead of using code throughout the app throughout the adapters to add/remove namespaces or partitions depending on whether they are enabled or not. As a UI engineer you just pretend that namespaces and partitions are always enabled, and we remove them for you deeper in the app, out of the way of you forgetting to treat these properties as a special case.

Notes:

Added a PartitionAbility while we were there (not used as yet)
Started to remove the CONSTANT variables we had just for property names. I prefer that our adapters are as readable and straightforwards as possible, it just looks like HTTP.
We'll probably remove our formatDatacenter method we use also at some point, it was mainly too make it look the same as our previous formatNspace, but now we don't have that, it instead now looks different!
We enable parsing of partition in the UIs URL, but this is feature flagged so still does nothing just yet.
All of the test changes were related to the fact that we were treating client.url as a function rather than a method, and now that we reference this in client.url (etc) it needs binding to client.
2021-09-15 18:09:55 +01:00
.changelog Add failures_before_warning to checks (#10969) 2021-09-14 12:47:52 -04:00
.circleci connect: update envoy supported versions to latest patch release 2021-08-31 10:39:18 -06:00
.github github: added CODEOWNERS to automatically request tech writer review (#10962) 2021-09-01 14:02:06 -04:00
acl acl: rename merge context update() -> fill() 2021-09-14 15:20:56 -07:00
agent use const instead of literals for `tableIndex` (#11039) 2021-09-15 10:24:04 -04:00
api Add failures_before_warning to checks (#10969) 2021-09-14 12:47:52 -04:00
bench
build-support Add failures_before_warning to checks (#10969) 2021-09-14 12:47:52 -04:00
command connect: update envoy supported versions to latest patch release 2021-08-31 10:39:18 -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
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 state: add a regression test for state store schema 2021-01-15 18:49:55 -05:00
ipaddr
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
service_os
snapshot testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
terraform
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: Adds Partitions to the HTTP layer (#10447) 2021-09-15 18:09:55 +01:00
version Fix strings.Replace->strings.ReplaceAll 2021-05-27 16:57:10 -07:00
website docs: Remove step for deleting webhook-cert-manager secret on Consul K8s uninstall (#11035) 2021-09-15 08:11:22 -07:00
.dockerignore
.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 Add changelog known issues for latest patch releases (#10992) 2021-09-07 09:14:06 -04: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
NOTICE.md
README.md docs: Refer to macOS vs Mac OS X in the main README (#10639) 2021-07-20 19:00:47 +01:00
Vagrantfile
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 Update yamux 2021-08-25 19:46:12 -06:00
go.sum Update yamux 2021-08-25 19:46:12 -06:00
main.go cmd: introduce a shim to expose Stdout/Stderr writers 2021-06-02 16:51:34 -04:00
main_test.go
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.