the base set of output objects translated by Gloo Mesh. these may have been operated upon by a previous Extension server if multiple servers have been configured.
ExtensionPatchResponse
the set of patches the server wishes to apply to the Gloo Mesh Networking outputs. Any objects provided here will be inserted into the final Gloo Mesh snapshot. If an object already exists in the snapshot, it will be overridden by the version provided here. If multiple extensions servers are configured, this response may be operated upon by Extension patches provided by subsequent servers.
the set of modified/added output objects desired by the Extension server.
GeneratedObject
a generated object can be of any output type supported by Gloo Mesh. the content of the type field should be used to determine the type of the output object. TODO(ilackarms): consider parameterizing Gloo Mesh to allow excluding GeneratedObjects from patch requests in the case where an implementer only performs additions (no updates required).
TODO(ilackarms): add more types here. note that we may need to support non-proto resourecs here in the future, in which case we will probably use a proto Struct to represent the object.
ObjectMeta is a simplified clone of the kubernetes ObjectMeta used to represent object metadata for K8s objects passed as messages in the NetworkingExtensions API.
Field
Type
Label
Description
name
string
the kubernetes name of the object
namespace
string
the kubernetes namespace of the object
clusterName
string
the kubernetes clusterName of the object (used internally by Gloo Mesh)
NetworkingExtensions provides customizeable patches to Gloo Mesh-generated configuration. Gloo Mesh uses a NetworkingExtensions client to request optional patches from a pluggable NetworkingExtensions server. The server can return a set of patches which Gloo Mesh will apply before writing configuration to the cluster.
GetExtensionPatches fetches a set of patches to the output configuration from the Extensions server. The current discovery snapshot and translated outputs are provided in the ExtensionPatchRequest
WatchPushNotifications initiates a streaming connection which allows the NetworkingExtensions server to push notifications to Gloo Mesh telling it to resync its configuration. This allows a NetworkingExtensions server to trigger Gloo Mesh to resync its state for events triggered by objects not watched by Gloo Mesh.