From 38d9271bdd5a2d4cbec186ec2e16fe7841fd936d Mon Sep 17 00:00:00 2001 From: "data-plane-api(Azure Pipelines)" Date: Thu, 24 Mar 2022 22:48:02 +0000 Subject: [PATCH] route.proto: add is_optional field to ClusterSpecifierPlugin (#20301) When deploying a new cluster specifier plugin, it is often necessary to add it to the configuration before all clients can be updated to support it, with routing rules configured to prevent clients without support from selecting any routes referencing the plugin. This field will allow those clients to suppress the default behavior of NACKing any resource containing the unknown plugin. Risk Level: None Testing: None Docs Changes: None Release Notes: None Platform Specific Features: None Signed-off-by: Doug Fawley Mirrored from https://github.com/envoyproxy/envoy @ 55539d34f6ad5771f17ba04a64e1c7d24aa3c055 --- envoy/config/route/v3/route.proto | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/envoy/config/route/v3/route.proto b/envoy/config/route/v3/route.proto index 0e19f61c..ae7ef03a 100644 --- a/envoy/config/route/v3/route.proto +++ b/envoy/config/route/v3/route.proto @@ -133,6 +133,13 @@ message RouteConfiguration { message ClusterSpecifierPlugin { // The name of the plugin and its opaque configuration. core.v3.TypedExtensionConfig extension = 1; + + // If is_optional is not set and the plugin defined by this message is not + // a supported type, the containing resource is NACKed. If is_optional is + // set, the resource would not be NACKed for this reason. In this case, + // routes referencing this plugin's name would not be treated as an illegal + // configuration, but would result in a failure if the route is selected. + bool is_optional = 2; } message Vhds {