.. _envoy_v3_api_file_contrib/envoy/extensions/router/cluster_specifier/golang/v3alpha/golang.proto: Golang (proto) ============== .. _extension_envoy.router.cluster_specifier_plugin.golang: This extension has the qualified name ``envoy.router.cluster_specifier_plugin.golang`` .. note:: This extension is only available in :ref:`contrib ` images. .. note:: This extension is functional but has not had substantial production burn time, use only with this caveat. This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted. .. tip:: This extension extends and can be used with the following extension category: - :ref:`envoy.router.cluster_specifier_plugin ` .. warning:: This API feature is currently work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the :ref:`threat model `, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points. For an overview of the Golang cluster specifier please see the :ref:`configuration reference documentation `. .. _envoy_v3_api_msg_extensions.router.cluster_specifier.golang.v3alpha.Config: extensions.router.cluster_specifier.golang.v3alpha.Config --------------------------------------------------------- :repo:`[extensions.router.cluster_specifier.golang.v3alpha.Config proto] ` .. _extension_category_envoy.router.cluster_specifier_plugin: .. tip:: This extension category has the following known extensions: - :ref:`envoy.router.cluster_specifier_plugin.lua ` The following extensions are available in :ref:`contrib ` images only: - :ref:`envoy.router.cluster_specifier_plugin.golang ` .. code-block:: json :force: { "library_id": ..., "library_path": ..., "default_cluster": ..., "config": {...} } .. _envoy_v3_api_field_extensions.router.cluster_specifier.golang.v3alpha.Config.library_id: library_id (`string `_, *REQUIRED*) Globally unique ID for a dynamic library file. .. _envoy_v3_api_field_extensions.router.cluster_specifier.golang.v3alpha.Config.library_path: library_path (`string `_, *REQUIRED*) Path to a dynamic library implementing the :repo:`ClusterSpecifier API ` interface. .. _envoy_v3_api_field_extensions.router.cluster_specifier.golang.v3alpha.Config.default_cluster: default_cluster (`string `_, *REQUIRED*) Default cluster. It will be used when the specifier interface return empty string or panic. .. _envoy_v3_api_field_extensions.router.cluster_specifier.golang.v3alpha.Config.config: config (`Any `_) Configuration for the Go cluster specifier plugin. .. note:: This configuration is only parsed in the go cluster specifier, and is therefore not validated by Envoy. See the :repo:`StreamFilter API ` for more information about how the plugin's configuration data can be accessed.