go/

directory
v0.0.0-...-32f485c Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: Apache-2.0

README

Config Manager: the Control Plane for ESPv2

The best way to configure Envoy inside ESPv2 is through Dynamic configuration.

This Config Manager is acting as the control plane for ESPv2, it utilizes the go-control-plane, with extra features specifically for APIs on Google Cloud Platform.

  • ESPv2 Startup Configuration: When starting Config Manager, it fetches the latest googleapis API service config from Google Service Management, translates it to envoy xDS configuration and caches inside go-control-plane, which feeds envoy with dynamic configurations.

  • Auto Service Configuration Update: When '--rollout_strategy' is set as 'managed', no need to set '--service_config_id'. Instead, Config Manager calls Google Service Management to get the latest rollout, and retrieves the version id with maximum traffic percentage in it. Then, Config Manager fetches the corresponding service config and dynamically configures envoy proxy.

    Besides, Config Manager checks with Google Service Management every 60 seconds, to see whether there is new rollout or not. If yes, it will fetches the new deployed service config and updates envoy configurations, automatically and silently. (Note: currently ESPv2 doesn't support Traffic Percentage Strategy)

Prerequisites

Config Manager uses the go.mod file to define all dependencies.

Running

Config Manager depends on other local and remote services in order to run. It is recommended you run Config Manager from our docker image or integration tests instead.

Directories

Path Synopsis
ads
clustergen
Package clustergen provides individual Cluster Generators to generate an xDS cluster config.
Package clustergen provides individual Cluster Generators to generate an xDS cluster config.
clustergen/clustergentest
Package clustergentest contains test helpers to test cluster generators.
Package clustergentest contains test helpers to test cluster generators.
clustergen/helpers
Package helpers contains utility structs that operate on cluster generators.
Package helpers contains utility structs that operate on cluster generators.
filtergen
Package filtergen provides individual Filter Generators to generate an xDS filter config.
Package filtergen provides individual Filter Generators to generate an xDS filter config.
filtergen/filtergentest
Package filtergentest contains test helpers to test filter generators.
Package filtergentest contains test helpers to test filter generators.
routegen
Package routegen provides individual Route Generators to generate RDS config.
Package routegen provides individual Route Generators to generate RDS config.
routegen/helpers
Package helpers provides building blocks for routegen configs.
Package helpers provides building blocks for routegen configs.
routegen/routegentest
Package routegentest contains test helpers to test route generators.
Package routegentest contains test helpers to test route generators.
Package gcsrunner contains helper functions to support the GCS Runner.
Package gcsrunner contains helper functions to support the GCS Runner.
main
The runner for gcsrunner fetches an Envoy Config from GCS and writes it to a local file.
The runner for gcsrunner fetches an Envoy Config from GCS and writes it to a local file.

Jump to

Keyboard shortcuts

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