6742340878
Creates a new controller to create ComputedImplicitDestinations resources by composing ComputedRoutes, Services, and ComputedTrafficPermissions to infer all ParentRef services that could possibly send some portion of traffic to a Service that has at least one accessible Workload Identity. A followup PR will rewire the sidecar controller to make use of this new resource. As this is a performance optimization, rather than a security feature the following aspects of traffic permissions have been ignored: - DENY rules - port rules (all ports are allowed) Also: - Add some v2 TestController machinery to help test complex dependency mappers. |
||
---|---|---|
.. | ||
acl | ||
cli | ||
client-agent | ||
cluster-federation | ||
cluster-membership | ||
config | ||
contributing | ||
debug | ||
http-api | ||
persistence | ||
rpc | ||
service-discovery | ||
service-mesh | ||
v2-architecture | ||
README.md | ||
consul-mermaid-theme.json | ||
faq.md | ||
overview.mmd | ||
overview.svg |
README.md
Consul Developer Documentation
See our contributing guide to get started.
This directory contains documentation intended for anyone interested in understanding, and contributing changes to, the Consul codebase.
Overview
This documentation is organized into the following categories. Each category is either a significant architectural layer, or major functional area of Consul. These documents assume a basic understanding of Consul's feature set, which can be found in the public user documentation.
Contents
- Command-Line Interface (CLI)
- HTTP API
- Agent Configuration
- RPC
- Cluster Persistence
- V2 Architecture
- Client Agent
- Service Discovery
- Service Mesh (Connect)
- Cluster Membership
- Key/Value Store
- ACL
- Multi-Cluster Federation
Also see the FAQ.
Other Docs
Important Directories
Most top level directories contain Go source code. The directories listed below contain other important source related to Consul.
- ui contains the source code for the Consul UI.
- website contains the source for consul.io. A pull requests can update the source code and Consul's documentation at the same time.
- .github contains the source for our CI and GitHub repository automation.
- .changelog contains markdown files that are used by hashicorp/go-changelog to produce the CHANGELOG.md.
- build-support contains bash functions and scripts used to automate. development tasks. Generally these scripts are called from the Makefile.
- grafana contains the source for a Grafana dashboard that can be used to monitor Consul.
Contributing to these docs
This section is meta documentation about contributing to these docs.
Diagrams
The diagrams in these documents are created using the mermaid-js live editor. The mermaid-js docs provide a complete reference for how to create and edit the diagrams. Use the consul-mermaid-theme.json (paste it into the Config tab in the editor) to maintain a consistent Consul style for the diagrams.