/fw-control-plane

envoy control plane using a simple file watching mechanism to populate the cache

Primary LanguageJava

File Watching control plane for Envoy

This is a simple control plane for envoy which pulls xDS data from files on the file system. It uses java-control-plane to maintain configuration snapshots and manage propagating configuration changes to listening envoys, and makes use of file watching to monitor the configuration files for updates.

java-controle-plane uses the idea of a node group: a group of envoys that map to the same configuration group will receive the same set of configurations and updated whenever the configuration for that group has changed.

This control plane employs the following scheme:

$CONFIG_ROOT/<group>/<resource_type>/xxx.json

where group is the string representing of a node group and resource_type is one of the xds resources (e.g. clusters, endpoints, routes, listeners, etc.).

This allows updating the xDS configuration for a single group simply by writing the update to one of the config files.