# Code generated by skv2. DO NOT EDIT. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: f6ef9604870ad04b crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: activehealthcheckpolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: ActiveHealthCheckPolicy listKind: ActiveHealthCheckPolicyList plural: activehealthcheckpolicies shortNames: - ahcp singular: activehealthcheckpolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: Specifications for the policy. properties: applyToDestinations: description: |- Destinations to actively health check. If empty, no healthchecks are performed. items: description: |- DestinationSelector is a selector for matching routable destinations for routes. DestinationSelectors can select a variety of object types. The behavior of the route action will vary depending on the type of destination selected. Defaults to the kubernetes `v1/Service`. Currently supported destination types: - v1 Service - networking.gloo.solo.io/v2 VirtualDestination (route traffic to a group of backing destinations) - networking.gloo.solo.io/v2 ExternalService (route traffic to a static set of service endpoints external to the mesh) properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: array config: description: Details of the healthcheck policy to apply to the selected destinations. properties: healthCheck: description: |- Configuration for the Envoy healthcheck. For more info, see the [Envoy healthcheck config reference](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/endpoint/v3/endpoint_components.proto#config-endpoint-v3-endpoint-healthcheckconfig). type: object x-kubernetes-preserve-unknown-fields: true virtualGateways: description: A list of references to virtual gateways that perform the healthchecks. items: description: |- reference to a Kubernetes API object. Kube API objects are referenced explicitly by the namespace and cluster containing them. properties: cluster: description: the cluster of the object. If omitted, Gloo Mesh will use the same cluster as the parent object containing this reference. type: string name: description: the name of the object type: string namespace: description: the namespace of the object. If omitted, Gloo Mesh will use the same namespace as the parent object containing this reference. type: string type: object type: array type: object type: object status: description: The status of the policy after it is applied to your Gloo environment. properties: common: description: The state and workspace conditions of the applied policy. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedDestinationPorts: description: The number of destination ports selected by the policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: a1e76e7def5fd9d9 crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: adaptiverequestconcurrencypolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: AdaptiveRequestConcurrencyPolicy listKind: AdaptiveRequestConcurrencyPolicyList plural: adaptiverequestconcurrencypolicies shortNames: - arcp singular: adaptiverequestconcurrencypolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: Specifications for the policy. properties: applyToDestinations: description: |- Destinations to apply the concurrency limit to. If empty, the policy applies to all destinations in the workspace. items: description: |- DestinationSelector is a selector for matching routable destinations for routes. DestinationSelectors can select a variety of object types. The behavior of the route action will vary depending on the type of destination selected. Defaults to the kubernetes `v1/Service`. Currently supported destination types: - v1 Service - networking.gloo.solo.io/v2 VirtualDestination (route traffic to a group of backing destinations) - networking.gloo.solo.io/v2 ExternalService (route traffic to a static set of service endpoints external to the mesh) properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: array config: description: Details of the policy to apply to the selected destinations. properties: concurrencyLimitExceededStatus: description: |- Return a custom HTTP response status code to the downstream client when the concurrency limit is exceeded. If this field is empty, omitted, or set to a non-error response of < 400, the response code defaults to 503 (Service Unavailable). maximum: 4294967295 minimum: 0 type: integer concurrencyUpdateIntervalMillis: description: |- The period of time during which request latency samples are taken to recalculate the concurrency limit. This field is required. maximum: 4294967295 minimum: 0 type: integer maxConcurrencyLimit: description: |- The allowed upper-bound on the calculated concurrency limit. For example, you can cap the concurrency limit to a maximum of 800 connections, in the case that the calculated concurrency limit exceeds this value. If unset, defaults to 1000. maximum: 4294967295 minimum: 0 nullable: true type: integer minRttCalcParams: description: |- Configure how the gradient controller calculates the minimum round-trip time (minRTT) for the destination. For more information about the minRTT formula and the following fields, see the [Envoy adaptive concurrency docs](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/adaptive_concurrency_filter). This field is required. properties: bufferPercentile: description: |- Add a buffer to the measured minRTT to stabilize natural variability in latency. This is represented as a percentage of the measured value, and can be adjusted to allow more or less tolerance to the sampled latency values. If unset, defaults to 25%. nullable: true type: number intervalMillis: description: |- The amount of time between each minRTT remeasurement. This field is required. maximum: 4294967295 minimum: 0 type: integer jitterPercentile: description: |- Add a random delay to the start of each minRTT measurement, represented as a percentage of the interval between each remeasurement (`intervalMillis`). For example, if the interval is 1000ms and the jitter is 15%, the next minRTT measurement begins in the range of 1000ms - 1150ms, because a delay between 0ms - 150ms is added to the 1000ms interval. If unset, defaults to 15%. nullable: true type: number minConcurrency: description: |- Temporarily set the concurrency limit until the latest minRTT measurement is complete. If unset, defaults to 3. maximum: 4294967295 minimum: 0 nullable: true type: integer requestCount: description: |- The number of requests to sample during the `concurrencyUpdateIntervalMillis` timeframe. If unset, defaults to 50. maximum: 4294967295 minimum: 0 nullable: true type: integer type: object sampleAggregatePercentile: description: |- The percent of sampled requests to use when summarizing aggregated samples in the minRTT calculation. If unset, defaults to 50%. nullable: true type: number type: object type: object status: description: The status of the policy after it is applied to your Gloo environment. properties: common: description: The state and workspace conditions of the applied resource. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedDestinations: description: The number of destinations selected by this policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: 86ea44a89b2713bb crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: connectionpolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: ConnectionPolicy listKind: ConnectionPolicyList plural: connectionpolicies shortNames: - cp singular: connectionpolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: ConnectionPolicy provides settings to apply low-level settings on selected TCP connections. properties: applyToDestinations: description: |- select the destinations where the policy will be applied. If empty, this will apply to all destinations in the workspace. items: description: |- DestinationSelector is a selector for matching routable destinations for routes. DestinationSelectors can select a variety of object types. The behavior of the route action will vary depending on the type of destination selected. Defaults to the kubernetes `v1/Service`. Currently supported destination types: - v1 Service - networking.gloo.solo.io/v2 VirtualDestination (route traffic to a group of backing destinations) - networking.gloo.solo.io/v2 ExternalService (route traffic to a static set of service endpoints external to the mesh) properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: array config: description: The details of the low-level network connection settings to apply to the destinations. properties: http: description: The low-level HTTP connection settings to apply to the destination selected. properties: idleTimeout: description: |- The idle timeout for upstream connection pool connections. The idle timeout is defined as the period in which there are no active requests. If omitted, the default is 1 hour. When the idle timeout is reached, the connection will be closed. If the connection is an HTTP/2 connection a drain sequence will occur prior to closing the connection. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. Applies to both HTTP1.1 and HTTP2 connections. For more information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). type: string maxPendingRequests: description: |- Maximum number of requests that will be queued while waiting for a ready connection pool connection. Default 1024. If the limit is reached, the request will fail and a 503 error will be returned. Applicable to both HTTP/1.1 and HTTP2. format: int32 type: integer maxRequests: description: Maximum number of active requests to a destination. Default 1024. Applicable to both HTTP/1.1 and HTTP2. format: int32 type: integer maxRequestsPerConnection: description: Maximum number of requests per connection to a backend. Setting this parameter to 1 disables keep alive. Default 0, meaning "unlimited", up to 2^29. format: int32 type: integer maxRetries: description: Maximum number of retries that can be outstanding to all hosts in a cluster at a given time. Defaults to 2^32-1. format: int32 type: integer type: object tcp: description: The low-level TCP connection settings to apply to the destinations selected. properties: connectTimeout: description: |- Sets the TCP connection timeout. It must be greater than or equal to 1ms. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). type: string maxConnectionDuration: description: |- Sets the maximum duration of a connection to the destination host, measured from when the connection was established. If not set, there is no max duration. It must be greater than or equal to 1ms. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). type: string maxConnections: description: Sets the maximum allowed connections to the destination host. If not set, up to 2^32-1 connections are allowed. format: int32 type: integer tcpKeepalive: description: |- Sets the TCP keep-alive settings to apply to selected destinations. If the EnableDefaultTcpKeepalive feature gate is enabled, TCP keep-alive is configured on all VirtualDestinations by default, with the probes field set to 9 and the time and interval fields set to 180s, and setting these values will override the defaults for selected VirtualDestinations. properties: interval: description: |- The time duration between keep-alive probes. Defaults to the OS-level configuration. For Linux, the default is 75s, unless overridden.
**Configuration constraints**: type: string probes: description: |- Maximum number of TCP keepalive probes to send before determining that connection is dead. Defaults to the OS-level configuration. For Linux, the default is 9, unless overridden. maximum: 4294967295 minimum: 0 type: integer time: description: |- The time duration a connection needs to be idle before keep-alive probes start being sent. Defaults to the OS-level configuration. For Linux, the default is 7200s (2 hours), unless overridden.
**Configuration constraints**: type: string type: object type: object type: object type: object status: description: The status of the policy after it is applied to your Gloo environment. properties: common: description: The state and workspace conditions of the applied resource. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedDestinationPorts: description: The number of destination ports selected by this policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: 9ab413f60760347f crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: failoverpolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: FailoverPolicy listKind: FailoverPolicyList plural: failoverpolicies shortNames: - fp singular: failoverpolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: Specifications for the policy. properties: applyToDestinations: description: |- Select the destinations to apply the policy to by using labels. If empty, the policy applies to all destinations in the workspace. items: description: |- DestinationSelector is a selector for matching routable destinations for routes. DestinationSelectors can select a variety of object types. The behavior of the route action will vary depending on the type of destination selected. Defaults to the kubernetes `v1/Service`. Currently supported destination types: - v1 Service - networking.gloo.solo.io/v2 VirtualDestination (route traffic to a group of backing destinations) - networking.gloo.solo.io/v2 ExternalService (route traffic to a static set of service endpoints external to the mesh) properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: array config: description: The details of the failover policy to apply to the selected virtual destinations. oneOf: - not: anyOf: - required: - priorityLabels - required: - priorityLabels properties: localityMappings: description: |- Map the localities to fail over traffic from one region, zone, or subzone to another in case of failure. The locality is determined by the Kubernetes labels on the node where the destination's app runs. For more information, see the [Istio docs](https://istio.io/latest/docs/tasks/traffic-management/locality-load-balancing/). You can exclude this setting to enable the locality load balancer settings without mappings. Only priority labels or locality mappings can be specified, not both. items: properties: from: description: |- The locality of the destination where Gloo Mesh originally tried to fulfill the request. properties: region: description: The locality's region. type: string subZone: description: (Optional) The locality's sub-zone. type: string zone: description: (Optional) The locality's zone. type: string type: object to: description: |- The localities of the destination where Gloo Mesh can reroute requests. You must specify the region, and optionally the zone and subzone. If you have multiple `to` destinations, you can optionally set a weight. items: description: |- A geographic location defined by a region, zone, and sub-zone along with the weight for the destination. properties: region: description: The locality's region. type: string subZone: description: (Optional) The locality's sub-zone. type: string weight: description: |- (Optional) Weight for destination locality. All weights must add up to 100. If not provided, weight is determined based on other destination locality weights. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#u-int32-value). maximum: 4294967295 minimum: 0 nullable: true type: integer zone: description: (Optional) The locality's zone. type: string type: object type: array type: object type: array priorityLabels: description: |- Prioritize destinations to fail over traffic to by configuring priority labels. In general, destinations that match the most labels have higher priority during failover. For more information, see the [Istio docs](https://istio.io/latest/docs/reference/config/networking/destination-rule/#:~:text=No-,failoverPriority,-string%5B%5D). When using priority labels, you must specify either an ordered list of label keys or an ordered list of label key-value pairs. For example, you can specify `["region"]` or `["region=us-east-1", "availabilityzone=1a", "datacenter=4"]`. You cannot have an ordered list that includes both label keys and label key-value pairs. Only priority labels or locality mappings can be specified, not both. If you specify both, Gloo Mesh will give precedence to the locality mappings. You can use locality labels in your list of priority labels, such as the Kubernetes `topology.kubernetes.io/region` node label. properties: labels: items: type: string type: array type: object type: object type: object status: description: The status of the policy after it is applied to your Gloo environment. properties: common: description: The state and workspace conditions of the applied resource. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedDestinationPorts: description: The number of destination ports selected by the policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: e14e07e55faa3ce9 crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: faultinjectionpolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: FaultInjectionPolicy listKind: FaultInjectionPolicyList plural: faultinjectionpolicies shortNames: - fip singular: faultinjectionpolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: Specifications for the policy. properties: applyToRoutes: description: |- Routes to apply the policy to. If empty, the policy applies to all routes in the workspace.
**Configuration constraints**: Only one fault injection policy can apply to a route. Subsequent policies (sorted by creation time) are ignored and put into a FAILED state. items: description: |- RouteSelector is a Selector specifically built for individual Routes inside of RouteTables. This selector can be used to select individual routes or entire route tables using the same label selector. oneOf: - not: anyOf: - required: - route - required: - withDestinations - required: - route - required: - withDestinations properties: route: description: |- select routes based on their labels. these labels can be used to match route tables or individual routes within route tables. properties: cluster: description: Only select routes attached to route tables matching the cluster. type: string labels: additionalProperties: type: string description: Select routes including all specified labels on the route or route table. type: object namespace: description: Only select routes attached to route tables matching the namespace. type: string workspace: description: Only select routes attached to route tables matching the workspace. type: string type: object withDestinations: description: |- select routes with `forwardTo` actions based on their destinations. this can be used to apply policy to routes regardless of their labels properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: object type: array config: description: |- The details of the fault injection policy to apply to the selected routes.
**Implementation notes**: Delays and aborts are independent of one another. When both are set, both happen, with the delay happening first.
**Configuration constraints**: A fault injection rule must specify a delay, an abort, or both. properties: abort: description: Abort HTTP request attempts, and return an error code to the traffic source. properties: httpStatus: description: |- Required: The HTTP status code to use to abort the request.
**Configuration constraints**: The status code must be in the range 200 - 599, inclusive. format: int32 type: integer percentage: description: |- Percentage of requests to be aborted. If omitted, all requests are aborted.
**Configuration constraints**: nullable: true type: number required: - httpStatus type: object delay: description: |- Delay requests before forwarding them to the upstream service, which emulates various failures such as network issues or overloaded upstream services. properties: fixedDelay: description: |- Required: Add a delay of a fixed duration before sending the request.
**Configuration constraints**: type: string percentage: description: |- Delay only a certain percentage of requests. If omitted, all requests are delayed.
**Configuration constraints**: nullable: true type: number required: - fixedDelay type: object type: object type: object status: description: The status of the policy after it is applied to your Gloo environment. properties: common: description: The common status of the object properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedRoutes: description: The number of routes selected by the policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: c3def4e82f61a0d8 crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: graphqlpersistedquerycachepolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: GraphQLPersistedQueryCachePolicy listKind: GraphQLPersistedQueryCachePolicyList plural: graphqlpersistedquerycachepolicies shortNames: - gqlpq - gqlpqc singular: graphqlpersistedquerycachepolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: |- To improve network performance for large query strings, the GraphQL filter supports automatic persisted queries. A persisted query is a query string that's cached on the server side, along with it's hash. The client can then send the hash instead of the full query string, thus reducing request sizes (responses are unaffected). Persisted queries are especially effective when clients send queries as GET requests. This enables clients to take advantage of the browser cache and integrate with a CDN. If empty, persisted query cache is not used. properties: applyToRoutes: description: |- Select the graphql routes where the policy will be applied. If empty, will apply to no graphql routes. selection via Destination selectors will not work for this policy, and only route selectors will work. If more than one GraphQLPersistedQueryCachePolicy applies to a GraphQLRoute, the oldest one will be applied. items: description: |- RouteSelector is a Selector specifically built for individual Routes inside of RouteTables. This selector can be used to select individual routes or entire route tables using the same label selector. oneOf: - not: anyOf: - required: - route - required: - withDestinations - required: - route - required: - withDestinations properties: route: description: |- select routes based on their labels. these labels can be used to match route tables or individual routes within route tables. properties: cluster: description: Only select routes attached to route tables matching the cluster. type: string labels: additionalProperties: type: string description: Select routes including all specified labels on the route or route table. type: object namespace: description: Only select routes attached to route tables matching the namespace. type: string workspace: description: Only select routes attached to route tables matching the workspace. type: string type: object withDestinations: description: |- select routes with `forwardTo` actions based on their destinations. this can be used to apply policy to routes regardless of their labels properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: object type: array config: description: Persisted query cache configuration. properties: cacheSize: description: The number of queries to store in the persisted query cache, defaults to 1000. maximum: 4294967295 minimum: 0 type: integer type: object type: object status: properties: common: description: The state and workspace conditions of the applied resource. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedRoutes: description: The number of routes selected by the policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: e924c7877a7d7708 crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: listenerconnectionpolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: ListenerConnectionPolicy listKind: ListenerConnectionPolicyList plural: listenerconnectionpolicies shortNames: - lcp singular: listenerconnectionpolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: |- ListenerConnectionPolicy is used to set configuration for gateway listeners. ``` apiVersion: resilience.policy.gloo.solo.io/v2 kind: ListenerConnectionPolicy metadata: name: my-policy namespace: bookinfo spec: config: perConnectionBufferLimitBytes: 16384 applyToListeners: - virtualGateway: name: virtual-gateway namespace: bookinfo cluster: my-cluster port: number: 443 ``` properties: applyToListeners: description: The VirtualGateway(s) and Port(s) to which this policy applies. items: description: ListenerSelector is a selector for a listener on a VirtualGateway. properties: port: description: The port to select on the selected listener. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object virtualGateway: description: The virtual gateway on which to select a listener. properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: array config: properties: perConnectionBufferLimitBytes: description: |- Required: Soft limit on size of the listener’s new connection read and write buffers. Default value set by Envoy is 1MiB. maximum: 4294967295 minimum: 0 nullable: true type: integer tcpKeepalive: description: Sets the TCP keep-alive settings to apply to selected listeners. properties: interval: description: |- The time duration between keep-alive probes. Defaults to the OS-level configuration. For Linux, the default is 75s, unless overridden.
**Configuration constraints**: type: string probes: description: |- Maximum number of TCP keepalive probes to send before determining that connection is dead. Defaults to the OS-level configuration. For Linux, the default is 9, unless overridden. maximum: 4294967295 minimum: 0 type: integer time: description: |- The time duration a connection needs to be idle before keep-alive probes start being sent. Defaults to the OS-level configuration. For Linux, the default is 7200s (2 hours), unless overridden.
**Configuration constraints**: type: string type: object type: object type: object status: description: The status of the policy after it is applied to your Gloo environment. properties: common: description: The state and workspace conditions of the applied resource. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedListeners: description: The number of virtual gateway listeners selected by the policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: 91e10c92bf0c71e7 crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: outlierdetectionpolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: OutlierDetectionPolicy listKind: OutlierDetectionPolicyList plural: outlierdetectionpolicies shortNames: - odp singular: outlierdetectionpolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: Specifications for the policy. properties: applyToDestinations: description: |- Destinations to apply the policy to.
**Implementation notes**: **Configuration constraints**: `applyToDestinations.kind` must equal either `VIRTUAL_DESTINATION` or `EXTERNAL_SERVICE`. items: description: |- DestinationSelector is a selector for matching routable destinations for routes. DestinationSelectors can select a variety of object types. The behavior of the route action will vary depending on the type of destination selected. Defaults to the kubernetes `v1/Service`. Currently supported destination types: - v1 Service - networking.gloo.solo.io/v2 VirtualDestination (route traffic to a group of backing destinations) - networking.gloo.solo.io/v2 ExternalService (route traffic to a static set of service endpoints external to the mesh) properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: array config: description: The details of the OutlierDetectionPolicy to apply to the selected destinations. properties: baseEjectionTime: description: |- The minimum time duration for ejection, or the time when a destination is considered unhealthy and not used for load balancing. Defaults to 30s.
**Configuration constraints**: type: string consecutiveErrors: description: |- The number of 5xx errors that can be returned before a destination is removed from the healthy connection pool. The default is 5.
**Configuration constraints**: maximum: 4294967295 minimum: 0 nullable: true type: integer consecutiveGatewayErrors: description: |- The number of gateway errors before a host is ejected from the connection pool.
**Implementation notes**: **Configuration constraints**: maximum: 4294967295 minimum: 0 nullable: true type: integer interval: description: |- The amount of time between analyzing destinations for ejection. Defaults to 10s.
**Configuration constraints**: type: string maxEjectionPercent: description: |- The maximum percentage of destinations that can be removed from the healthy connection pool at a time. For example, if you have 10 total destinations that the policy selects, and you set this value to 50 percent, 5 destinations can be removed at once. At least 1 destination can always be removed, regardless of the value that you set. The default value is `100`.
**Configuration constraints**: The value must be in the range 0 - 100, inclusive. If set to 0, the default Istio value, 10%, is used. maximum: 4294967295 minimum: 0 type: integer type: object type: object status: description: The status of the policy after it is applied to your Gloo environment. properties: common: description: The state and workspace conditions of the applied resource. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedDestinationPorts: description: The number of destination ports selected by the policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: ebefa1c6add18176 crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: retrytimeoutpolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: RetryTimeoutPolicy listKind: RetryTimeoutPolicyList plural: retrytimeoutpolicies shortNames: - rtp singular: retrytimeoutpolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: Specifications for the policy. properties: applyToRoutes: description: |- Routes to apply the policy to.
**Implementation notes**: items: description: |- RouteSelector is a Selector specifically built for individual Routes inside of RouteTables. This selector can be used to select individual routes or entire route tables using the same label selector. oneOf: - not: anyOf: - required: - route - required: - withDestinations - required: - route - required: - withDestinations properties: route: description: |- select routes based on their labels. these labels can be used to match route tables or individual routes within route tables. properties: cluster: description: Only select routes attached to route tables matching the cluster. type: string labels: additionalProperties: type: string description: Select routes including all specified labels on the route or route table. type: object namespace: description: Only select routes attached to route tables matching the namespace. type: string workspace: description: Only select routes attached to route tables matching the workspace. type: string type: object withDestinations: description: |- select routes with `forwardTo` actions based on their destinations. this can be used to apply policy to routes regardless of their labels properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: object type: array config: description: |- The details of the retry/timeout policy to apply to the selected routes.
**Configuration constraints**: type: string retryOn: description: |- The conditions under which a retry takes place. For more information, see the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on) and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) in the Envoy docs.
**Configuration constraints**: type: string retryRemoteLocalities: description: |- Flag to specify whether the retries should retry to other localities. Defaults to false. For more information, see the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) in the Envoy docs.
**Configuration constraints**: If `attempts` is 0, this field must not be set. nullable: true type: boolean type: object type: object required: - config type: object status: description: The status of the policy after it is applied to your Gloo environment. properties: common: description: The state and workspace conditions of the applied resource. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numSelectedRoutes: description: The number of routes selected by the policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: 5193003fcc4ab7e5 crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: trimproxyconfigpolicies.resilience.policy.gloo.solo.io spec: group: resilience.policy.gloo.solo.io names: categories: - solo-io kind: TrimProxyConfigPolicy listKind: TrimProxyConfigPolicyList plural: trimproxyconfigpolicies shortNames: - tpcp singular: trimproxyconfigpolicy scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.common.State.approval name: Status type: string name: v2 schema: openAPIV3Schema: properties: spec: description: |- Use the TrimConfigProxyPolicy to select workloads and their corresponding allowed destinations. Then, the Istio sidecar of the workloads keeps only the configuration of those allowed destinations instead of all the destinations in the Istio service mesh. Otherwise, the extra config can lead to memory pressure issues. properties: applyToWorkloads: description: |- Select the workloads for the policy to trim the Istio sidecar config. If omitted, all workloads are selected. {{< reuse "conrefs/snippets/policies/trim-proxy-workloads-limit.md" >}} items: description: |- WorkloadSelector is a Selector specifically built for selecting individual workloads. Workloads must have injected sidecar proxies or be standalone gateway proxies to be selected by Gloo Mesh policies. This selector can be used to select Kubernetes workloads (KUBE) or sidecar-injected external endpoints (VM). properties: kind: description: The kind of workload being selected. Defaults to Kube. enum: - KUBE - VM type: string port: description: |- The port to select on the selected workloads. Only applies to policies which select specific workload ports, such as the WasmDeploymentPolicy. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: Selector used to match Workload objects by their metadata. properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: array config: description: Trim Proxy Config properties: includedDestinations: description: |- Select which destinations to include in the trimmed sidecar proxy configuration of the workloads that this policy applies to. You can select destinations by Kubernetes label. Destinations can be a Kubernetes service, VirtualDestination, or ExternalService. To select all destinations, specify {}. If omitted or if the selection does not match any destination, no destinations are selected and the sidecar proxy configurations of the workloads are not trimmed. The destinations must be within the same workspace as the policy, or imported to the workspace. items: description: |- DestinationSelector is a selector for matching routable destinations for routes. DestinationSelectors can select a variety of object types. The behavior of the route action will vary depending on the type of destination selected. Defaults to the kubernetes `v1/Service`. Currently supported destination types: - v1 Service - networking.gloo.solo.io/v2 VirtualDestination (route traffic to a group of backing destinations) - networking.gloo.solo.io/v2 ExternalService (route traffic to a static set of service endpoints external to the mesh) properties: kind: description: The kind of destination being selected. defaults to Kubernetes Service. enum: - SERVICE - VIRTUAL_DESTINATION - EXTERNAL_SERVICE type: string port: description: |- The port on the Destination which receives traffic. All ports on the Destination will be selected if left empty. oneOf: - not: anyOf: - required: - number - required: - name - required: - number - required: - name properties: name: description: the name of the port on the destination objects being targeted. type: string number: description: the number of the port on the destination objects being targeted. maximum: 65535 minimum: 1 type: integer type: object selector: description: The selector used to match destination objects by their metadata properties: cluster: description: |- Only select objects in the matching cluster. If omitted, Gloo selects matching objects across all clusters available in the parent object's workspace. type: string labels: additionalProperties: type: string description: labels matching those of the object type: object name: description: |- Only select objects with the matching name. If omitted, Gloo selects matching objects with any name available in the parent object's workspace. type: string namespace: description: |- Only select objects in the matching namespace. If omitted, Gloo selects matching objects across all namespaces available in the parent object's workspace. type: string workspace: description: |- Only select objects in the given workspace. If omitted, Gloo selects matching objects across all workspaces available in the parent object's workspace. type: string type: object type: object type: array type: object type: object status: properties: common: description: The state and workspace conditions of the applied resource. properties: State: properties: approval: description: |- Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. enum: - PENDING - ACCEPTED - INVALID - WARNING - FAILED - UNLICENSED type: string message: description: Additional information about the current state of the resource. type: string observedGeneration: description: |- The most recent generation observed in the object's metadata. If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most recent version of this object. format: int64 type: integer type: object workspaceConditions: additionalProperties: maximum: 4294967295 minimum: 0 type: integer description: |- A map of ApprovalState to the number of workspaces in this condition, e.g., "Accepted" -> 2 "Pending" -> 1 type: object type: object numIncludedHosts: description: The number of hosts of destinations included by the policy. maximum: 4294967295 minimum: 0 type: integer numSelectedWorkloads: description: The number of workloads selected by the policy. maximum: 4294967295 minimum: 0 type: integer type: object type: object served: true storage: true subresources: status: {} ---