diff --git a/agent/proxycfg/proxycfg.go b/agent/proxycfg/proxycfg.go index 7f091743a7..f73e6ac726 100644 --- a/agent/proxycfg/proxycfg.go +++ b/agent/proxycfg/proxycfg.go @@ -20,11 +20,11 @@ // | State | | State Sync | // +-------+ +-----+------+ // ▲ | -// | +---------------+ | 2. -// 4. | 4a. | Local | | -// | +-▶ | Config Source +-+ | -// | | +---------------+ | | -// | | ▼ ▼ +// +-------+ | +---------------+ | 2. +// | envoy | 4. | 4a. | Local | | +// +-------+ | +-▶ | Config Source +-+ | +// | stream | | +---------------+ | | +// ▼ | | ▼ ▼ // +--------+ 3. +-+-+-----------+ 6. +----------+ 2a. +----------+ // | xDS +---▶ | Catalog +-----▶ | proxycfg +----▶ | proxycfg | // | Server | ◀---+ Config Source +-----▶ | Manager +--+ | State | @@ -41,10 +41,10 @@ // they are sync'd to the proxycfg.Manager. // 2a. proxycfg.Manager creates a state object for the service and begins // pre-fetching data (go to 8). -// 3. Client begins a stream and the xDS server calls Watch on its ConfigSource - -// on a client agent this would be a local config source, on a server it would -// be a catalog config source. -// 4. The catalog config source will check if service is registered locally. +// 3. Client (i.e., envoy) begins a stream and the xDS server calls Watch on its +// ConfigSource - on a client agent this would be a local config source, on a +// server it would be a catalog config source. +// 4. On server, the catalog config source will check if service is registered locally. // 4a. If the service *is* registered locally it hands off the the local config // source, which calls Watch on the proxycfg manager (and serves the pre- // fetched data). diff --git a/docs/service-mesh/README.md b/docs/service-mesh/README.md index a24ea3d393..e7876f3e52 100644 --- a/docs/service-mesh/README.md +++ b/docs/service-mesh/README.md @@ -37,7 +37,7 @@ The core of the built-in proxy is implemented in the [connect/proxy](https://git The high-level flow of configuring Envoy is: 1. The initial "bootstrap" configuration is generated for an Envoy proxy by a consul-dataplane instance or a Consul client agent. 2. Envoy dials the xDS server, requesting configuration to act as a particular proxy or gateway instance. The xDS server will either be a Consul server or a Consul client agent. -3. Consul in initializes internal watches for the snapshot of data necessary to configure Envoy. This snapshot will contain data as collected from Consul's state. +3. Consul initializes internal watches for the snapshot of data necessary to configure Envoy. This snapshot will contain data as collected from Consul's state. 4. As these snapshots are generated and updated, Consul will generate and push Envoy configuration for the various xDS resource types if there were changes. ### Bootstrapping Envoy proxies