package compositev3

import "github.com/envoyproxy/go-control-plane/envoy/extensions/clusters/composite/v3"

Index

Variables

var File_envoy_extensions_clusters_composite_v3_cluster_proto protoreflect.FileDescriptor

Types

type ClusterConfig

type ClusterConfig struct {

	// List of clusters to use for request routing. The first cluster is used for the
	// initial request (attempt 1), the second cluster for the first retry (attempt 2),
	// and so on. Must contain at least one cluster. When retry attempts exceed the number
	// of configured clusters, requests will fail with no host available.
	Clusters []*ClusterConfig_ClusterEntry `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the composite cluster. See the :ref:`architecture overview <arch_overview_composite_cluster>` for more information. This cluster type enables retry-aware cluster selection, allowing different retry attempts to automatically target different upstream clusters. Unlike the standard aggregate cluster which uses health-based selection, the composite cluster uses the retry attempt count to deterministically select which sub-cluster to route to.

When retry attempts exceed the number of configured clusters, requests will fail with no host available.

Example configuration:

.. code-block:: yaml

name: composite_cluster
connect_timeout: 0.25s
lb_policy: CLUSTER_PROVIDED
cluster_type:
  name: envoy.clusters.composite
  typed_config:
    "@type": type.googleapis.com/envoy.extensions.clusters.composite.v3.ClusterConfig
    clusters:
    - name: primary_cluster
    - name: secondary_cluster
    - name: fallback_cluster

[#extension: envoy.clusters.composite]

func (*ClusterConfig) Descriptor

func (*ClusterConfig) Descriptor() ([]byte, []int)

Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead.

func (*ClusterConfig) GetClusters

func (x *ClusterConfig) GetClusters() []*ClusterConfig_ClusterEntry

func (*ClusterConfig) ProtoMessage

func (*ClusterConfig) ProtoMessage()

func (*ClusterConfig) ProtoReflect

func (x *ClusterConfig) ProtoReflect() protoreflect.Message

func (*ClusterConfig) Reset

func (x *ClusterConfig) Reset()

func (*ClusterConfig) String

func (x *ClusterConfig) String() string

func (*ClusterConfig) Validate

func (m *ClusterConfig) Validate() error

Validate checks the field values on ClusterConfig with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*ClusterConfig) ValidateAll

func (m *ClusterConfig) ValidateAll() error

ValidateAll checks the field values on ClusterConfig with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in ClusterConfigMultiError, or nil if none found.

type ClusterConfigMultiError

type ClusterConfigMultiError []error

ClusterConfigMultiError is an error wrapping multiple validation errors returned by ClusterConfig.ValidateAll() if the designated constraints aren't met.

func (ClusterConfigMultiError) AllErrors

func (m ClusterConfigMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (ClusterConfigMultiError) Error

func (m ClusterConfigMultiError) Error() string

Error returns a concatenation of all the error messages it wraps.

type ClusterConfigValidationError

type ClusterConfigValidationError struct {
	// contains filtered or unexported fields
}

ClusterConfigValidationError is the validation error returned by ClusterConfig.Validate if the designated constraints aren't met.

func (ClusterConfigValidationError) Cause

Cause function returns cause value.

func (ClusterConfigValidationError) Error

Error satisfies the builtin error interface

func (ClusterConfigValidationError) ErrorName

func (e ClusterConfigValidationError) ErrorName() string

ErrorName returns error name.

func (ClusterConfigValidationError) Field

Field function returns field value.

func (ClusterConfigValidationError) Key

Key function returns key value.

func (ClusterConfigValidationError) Reason

Reason function returns reason value.

type ClusterConfig_ClusterEntry

type ClusterConfig_ClusterEntry struct {

	// Name of the cluster. This cluster must be defined elsewhere in the configuration.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Configuration for an individual cluster entry.

func (*ClusterConfig_ClusterEntry) Descriptor

func (*ClusterConfig_ClusterEntry) Descriptor() ([]byte, []int)

Deprecated: Use ClusterConfig_ClusterEntry.ProtoReflect.Descriptor instead.

func (*ClusterConfig_ClusterEntry) GetName

func (x *ClusterConfig_ClusterEntry) GetName() string

func (*ClusterConfig_ClusterEntry) ProtoMessage

func (*ClusterConfig_ClusterEntry) ProtoMessage()

func (*ClusterConfig_ClusterEntry) ProtoReflect

func (*ClusterConfig_ClusterEntry) Reset

func (x *ClusterConfig_ClusterEntry) Reset()

func (*ClusterConfig_ClusterEntry) String

func (x *ClusterConfig_ClusterEntry) String() string

func (*ClusterConfig_ClusterEntry) Validate

func (m *ClusterConfig_ClusterEntry) Validate() error

Validate checks the field values on ClusterConfig_ClusterEntry with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*ClusterConfig_ClusterEntry) ValidateAll

func (m *ClusterConfig_ClusterEntry) ValidateAll() error

ValidateAll checks the field values on ClusterConfig_ClusterEntry with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in ClusterConfig_ClusterEntryMultiError, or nil if none found.

type ClusterConfig_ClusterEntryMultiError

type ClusterConfig_ClusterEntryMultiError []error

ClusterConfig_ClusterEntryMultiError is an error wrapping multiple validation errors returned by ClusterConfig_ClusterEntry.ValidateAll() if the designated constraints aren't met.

func (ClusterConfig_ClusterEntryMultiError) AllErrors

AllErrors returns a list of validation violation errors.

func (ClusterConfig_ClusterEntryMultiError) Error

Error returns a concatenation of all the error messages it wraps.

type ClusterConfig_ClusterEntryValidationError

type ClusterConfig_ClusterEntryValidationError struct {
	// contains filtered or unexported fields
}

ClusterConfig_ClusterEntryValidationError is the validation error returned by ClusterConfig_ClusterEntry.Validate if the designated constraints aren't met.

func (ClusterConfig_ClusterEntryValidationError) Cause

Cause function returns cause value.

func (ClusterConfig_ClusterEntryValidationError) Error

Error satisfies the builtin error interface

func (ClusterConfig_ClusterEntryValidationError) ErrorName

ErrorName returns error name.

func (ClusterConfig_ClusterEntryValidationError) Field

Field function returns field value.

func (ClusterConfig_ClusterEntryValidationError) Key

Key function returns key value.

func (ClusterConfig_ClusterEntryValidationError) Reason

Reason function returns reason value.

Source Files

cluster.pb.go cluster.pb.validate.go

Version
v1.37.0 (latest)
Published
Jan 13, 2026
Platform
linux/amd64
Imports
19 packages
Last checked
1 hour ago

Tools for package owners.