Project: Gloo (Orchestration & Management / API Gateway)
File: failover.proto.sk.md

title: "failover.proto" weight: 5 <!-- Code generated by solo-kit. DO NOT EDIT. --> FailoverSpec is the core portion of the API for enabling failover between Gloo Upstreams in gloo-fed. This API is heavily inspired by the Failover API present in the Gloo Upstream which can be found in `api/gloo/v1/upstream`. The source Upstream below is the initial primary target of traffic. The type of endpoints vary by the type of Upstream specified. Each target specified is then configured as a failover endpoint in the case that the prmiary Upstream becomes unhealthy. The priority of the failover endpoints is inferred from the order in which the Upstreams are specified. source = [0], targets = [1-n]. Example: primary: cluster: primary name: primary namespace: primary failover_groups: priority_group: cluster: A upstreams: name: one namespace: one cluster: B upstreams: name: two namespace: two priority_group: cluster: C upstreams: name: one namespace: one cluster: D upstreams: name: two namespace: two ```yaml "primary": .core.skv2.solo.io.ClusterObjectRef "failoverGroups": []fed.solo.io.FailoverSchemeSpec.FailoverEndpoints ``` | Field | Type | Description | | -- | - | -- | | `primary` | | The upstream which will be configured for failover. | | `failoverGroups` | | | ```yaml "priorityGroup": []fed.solo.io.FailoverSchemeSpec.FailoverEndpoints.LocalityLbTargets ``` | Field | Type | Description | | -- | - | -- | | `priorityGroup` | | | ```yaml "cluster": string "upstreams": []core.skv2.solo.io.ObjectRef "localityWeight": .google.protobuf.UInt32Value ``` | Field | Type | Description | | -- | - | -- | | `cluster` | `string` | (REQUIRED) Cluster on which the endpoints for this Group can be found. | | `upstreams` | | A list of Upstream targets, each of these targets must exist on the cluster specified in this message. | | `localityWeight` | | (optional) locality load balancing weight assigned to the specified

Locality load balancing will add a special load balancing weight among all targets within a given priority, who are located in the zame zone. See envoy Locality Weighted Load Balancing for more information: https://www.envoyproxy.io/docs/envoy/v1.14.1/intro/archoverview/upstream/loadbalancing/locality_weight#arch-overview-load-balancing-locality-weighted-lb. | ```yaml "state": .fed.solo.io.FailoverSchemeStatus.State "message": string "observedGeneration": int "processingTime": .google.protobuf.Timestamp "namespacedStatuses": map<string, .fed.solo.io.FailoverSchemeStatus.Status> ``` | Field | Type | Description | | -- | - | -- | | `state` | | The current state of the resource. Deprecated: use namespacedStatuses instead. | | `message` | `string` | A human readable message about the current state of the object. Deprecated: use namespacedStatuses instead. | | `observedGeneration` | `int` | The most recently observed generation of the resource. This value corresponds to the `metadata.generation` of a kubernetes resource. Deprecated: use namespacedStatuses instead. | | `processingTime` | | The time at which this status was recorded. Deprecated: use namespacedStatuses instead. | | `namespacedStatuses` | `map<string, .fed.solo.io.FailoverSchemeStatus.Status>` | Map of gloo fed controller namespace to FailoverScheme status. | ```yaml "state": .fed.solo.io.FailoverSchemeStatus.State "message": string "observedGeneration": int "processingTime": .google.protobuf.Timestamp ``` | Field | Type | Description | | -- | - | -- | | `state` | | The current state of the resource. | | `message` | `string` | A human readable message about the current state of the object. | | `observedGeneration` | `int` | The most recently observed generation of the resource. This value corresponds to the `metadata.generation` of a kubernetes resource. | | `processingTime` | | The time at which this status was recorded. | The State of a reconciled object | Name | Description | | -- | -- | | `PENDING` | Waiting to be processed. | | `PROCESSING` | Currently processing. | | `INVALID` | Invalid parameters supplied, will not continue. | | `FAILED` | Failed during processing. | | `ACCEPTED` | Finished processing successfully. | <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5130874.js"></script> <!-- End of HubSpot Embed Code -->