912 lines
47 KiB
YAML
Generated
912 lines
47 KiB
YAML
Generated
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: (devel)
|
|
creationTimestamp: null
|
|
name: strategies.servicemesh.kubesphere.io
|
|
spec:
|
|
group: servicemesh.kubesphere.io
|
|
names:
|
|
kind: Strategy
|
|
listKind: StrategyList
|
|
plural: strategies
|
|
singular: strategy
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: type of strategy
|
|
jsonPath: .spec.type
|
|
name: Type
|
|
type: string
|
|
- description: destination hosts
|
|
jsonPath: .spec.template.spec.hosts
|
|
name: Hosts
|
|
type: string
|
|
- description: 'CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata'
|
|
jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Strategy is the Schema for the strategies API
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: StrategySpec defines the desired state of Strategy
|
|
properties:
|
|
governor:
|
|
description: Governor version, the version takes control of all incoming traffic label version value
|
|
type: string
|
|
principal:
|
|
description: Principal version, the one as reference version label version value
|
|
type: string
|
|
selector:
|
|
description: Label selector for virtual services.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
|
|
items:
|
|
description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies to.
|
|
type: string
|
|
operator:
|
|
description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
|
|
type: object
|
|
type: object
|
|
strategyPolicy:
|
|
description: strategy policy, how the strategy will be applied by the strategy controller
|
|
type: string
|
|
template:
|
|
description: Template describes the virtual service that will be created.
|
|
properties:
|
|
metadata:
|
|
description: Metadata of the virtual services created from this template
|
|
type: object
|
|
spec:
|
|
description: 'Configuration affecting label/content routing, sni routing,
|
|
etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html'
|
|
properties:
|
|
exportTo:
|
|
description: A list of namespaces to which this virtual service is
|
|
exported.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
gateways:
|
|
description: The names of gateways and sidecars that should apply
|
|
these routes.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
hosts:
|
|
description: The destination hosts to which traffic is being sent.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
http:
|
|
description: An ordered list of route rules for HTTP traffic.
|
|
items:
|
|
properties:
|
|
corsPolicy:
|
|
description: Cross-Origin Resource Sharing policy (CORS).
|
|
properties:
|
|
allowCredentials:
|
|
nullable: true
|
|
type: boolean
|
|
allowHeaders:
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
allowMethods:
|
|
description: List of HTTP methods allowed to access the
|
|
resource.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
allowOrigin:
|
|
description: The list of origins that are allowed to perform
|
|
CORS requests.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
allowOrigins:
|
|
description: String patterns that match allowed origins.
|
|
items:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
properties:
|
|
exact:
|
|
format: string
|
|
type: string
|
|
prefix:
|
|
format: string
|
|
type: string
|
|
regex:
|
|
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
|
|
format: string
|
|
type: string
|
|
type: object
|
|
type: array
|
|
exposeHeaders:
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
maxAge:
|
|
type: string
|
|
type: object
|
|
delegate:
|
|
properties:
|
|
name:
|
|
description: Name specifies the name of the delegate VirtualService.
|
|
format: string
|
|
type: string
|
|
namespace:
|
|
description: Namespace specifies the namespace where the
|
|
delegate VirtualService resides.
|
|
format: string
|
|
type: string
|
|
type: object
|
|
fault:
|
|
description: Fault injection policy to apply on HTTP traffic
|
|
at the client side.
|
|
properties:
|
|
abort:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- httpStatus
|
|
- required:
|
|
- grpcStatus
|
|
- required:
|
|
- http2Error
|
|
- required:
|
|
- httpStatus
|
|
- required:
|
|
- grpcStatus
|
|
- required:
|
|
- http2Error
|
|
properties:
|
|
grpcStatus:
|
|
format: string
|
|
type: string
|
|
http2Error:
|
|
format: string
|
|
type: string
|
|
httpStatus:
|
|
description: HTTP status code to use to abort the Http
|
|
request.
|
|
format: int32
|
|
type: integer
|
|
percentage:
|
|
description: Percentage of requests to be aborted with
|
|
the error code provided.
|
|
properties:
|
|
value:
|
|
format: double
|
|
type: number
|
|
type: object
|
|
type: object
|
|
delay:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- fixedDelay
|
|
- required:
|
|
- exponentialDelay
|
|
- required:
|
|
- fixedDelay
|
|
- required:
|
|
- exponentialDelay
|
|
properties:
|
|
exponentialDelay:
|
|
type: string
|
|
fixedDelay:
|
|
description: Add a fixed delay before forwarding the
|
|
request.
|
|
type: string
|
|
percent:
|
|
description: Percentage of requests on which the delay
|
|
will be injected (0-100).
|
|
format: int32
|
|
type: integer
|
|
percentage:
|
|
description: Percentage of requests on which the delay
|
|
will be injected.
|
|
properties:
|
|
value:
|
|
format: double
|
|
type: number
|
|
type: object
|
|
type: object
|
|
type: object
|
|
headers:
|
|
properties:
|
|
request:
|
|
properties:
|
|
add:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
remove:
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
set:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
type: object
|
|
response:
|
|
properties:
|
|
add:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
remove:
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
set:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
match:
|
|
items:
|
|
properties:
|
|
authority:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
properties:
|
|
exact:
|
|
format: string
|
|
type: string
|
|
prefix:
|
|
format: string
|
|
type: string
|
|
regex:
|
|
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
|
|
format: string
|
|
type: string
|
|
type: object
|
|
gateways:
|
|
description: Names of gateways where the rule should be
|
|
applied.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
headers:
|
|
additionalProperties:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
properties:
|
|
exact:
|
|
format: string
|
|
type: string
|
|
prefix:
|
|
format: string
|
|
type: string
|
|
regex:
|
|
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
|
|
format: string
|
|
type: string
|
|
type: object
|
|
type: object
|
|
ignoreUriCase:
|
|
description: Flag to specify whether the URI matching
|
|
should be case-insensitive.
|
|
type: boolean
|
|
method:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
properties:
|
|
exact:
|
|
format: string
|
|
type: string
|
|
prefix:
|
|
format: string
|
|
type: string
|
|
regex:
|
|
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
|
|
format: string
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: The name assigned to a match.
|
|
format: string
|
|
type: string
|
|
port:
|
|
description: Specifies the ports on the host that is being
|
|
addressed.
|
|
type: integer
|
|
queryParams:
|
|
additionalProperties:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
properties:
|
|
exact:
|
|
format: string
|
|
type: string
|
|
prefix:
|
|
format: string
|
|
type: string
|
|
regex:
|
|
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
|
|
format: string
|
|
type: string
|
|
type: object
|
|
description: Query parameters for matching.
|
|
type: object
|
|
scheme:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
properties:
|
|
exact:
|
|
format: string
|
|
type: string
|
|
prefix:
|
|
format: string
|
|
type: string
|
|
regex:
|
|
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
|
|
format: string
|
|
type: string
|
|
type: object
|
|
sourceLabels:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
sourceNamespace:
|
|
description: Source namespace constraining the applicability
|
|
of a rule to workloads in that namespace.
|
|
format: string
|
|
type: string
|
|
uri:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
properties:
|
|
exact:
|
|
format: string
|
|
type: string
|
|
prefix:
|
|
format: string
|
|
type: string
|
|
regex:
|
|
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
|
|
format: string
|
|
type: string
|
|
type: object
|
|
withoutHeaders:
|
|
additionalProperties:
|
|
oneOf:
|
|
- not:
|
|
anyOf:
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
- required:
|
|
- exact
|
|
- required:
|
|
- prefix
|
|
- required:
|
|
- regex
|
|
properties:
|
|
exact:
|
|
format: string
|
|
type: string
|
|
prefix:
|
|
format: string
|
|
type: string
|
|
regex:
|
|
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
|
|
format: string
|
|
type: string
|
|
type: object
|
|
description: withoutHeader has the same syntax with the
|
|
header, but has opposite meaning.
|
|
type: object
|
|
type: object
|
|
type: array
|
|
mirror:
|
|
properties:
|
|
host:
|
|
description: The name of a service from the service registry.
|
|
format: string
|
|
type: string
|
|
port:
|
|
description: Specifies the port on the host that is being
|
|
addressed.
|
|
properties:
|
|
number:
|
|
type: integer
|
|
type: object
|
|
subset:
|
|
description: The name of a subset within the service.
|
|
format: string
|
|
type: string
|
|
type: object
|
|
mirror_percent:
|
|
description: Percentage of the traffic to be mirrored by the
|
|
`mirror` field.
|
|
nullable: true
|
|
type: integer
|
|
mirrorPercent:
|
|
description: Percentage of the traffic to be mirrored by the
|
|
`mirror` field.
|
|
nullable: true
|
|
type: integer
|
|
mirrorPercentage:
|
|
description: Percentage of the traffic to be mirrored by the
|
|
`mirror` field.
|
|
properties:
|
|
value:
|
|
format: double
|
|
type: number
|
|
type: object
|
|
name:
|
|
description: The name assigned to the route for debugging purposes.
|
|
format: string
|
|
type: string
|
|
redirect:
|
|
description: A HTTP rule can either redirect or forward (default)
|
|
traffic.
|
|
properties:
|
|
authority:
|
|
format: string
|
|
type: string
|
|
redirectCode:
|
|
type: integer
|
|
uri:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
retries:
|
|
description: Retry policy for HTTP requests.
|
|
properties:
|
|
attempts:
|
|
description: Number of retries to be allowed for a given
|
|
request.
|
|
format: int32
|
|
type: integer
|
|
perTryTimeout:
|
|
description: Timeout per attempt for a given request, including
|
|
the initial call and any retries.
|
|
type: string
|
|
retryOn:
|
|
description: Specifies the conditions under which retry
|
|
takes place.
|
|
format: string
|
|
type: string
|
|
retryRemoteLocalities:
|
|
description: Flag to specify whether the retries should
|
|
retry to other localities.
|
|
nullable: true
|
|
type: boolean
|
|
type: object
|
|
rewrite:
|
|
description: Rewrite HTTP URIs and Authority headers.
|
|
properties:
|
|
authority:
|
|
description: rewrite the Authority/Host header with this
|
|
value.
|
|
format: string
|
|
type: string
|
|
uri:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
route:
|
|
description: A HTTP rule can either redirect or forward (default)
|
|
traffic.
|
|
items:
|
|
properties:
|
|
destination:
|
|
properties:
|
|
host:
|
|
description: The name of a service from the service
|
|
registry.
|
|
format: string
|
|
type: string
|
|
port:
|
|
description: Specifies the port on the host that is
|
|
being addressed.
|
|
properties:
|
|
number:
|
|
type: integer
|
|
type: object
|
|
subset:
|
|
description: The name of a subset within the service.
|
|
format: string
|
|
type: string
|
|
type: object
|
|
headers:
|
|
properties:
|
|
request:
|
|
properties:
|
|
add:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
remove:
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
set:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
type: object
|
|
response:
|
|
properties:
|
|
add:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
remove:
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
set:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
timeout:
|
|
description: Timeout for HTTP requests, default is disabled.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
tcp:
|
|
description: An ordered list of route rules for opaque TCP traffic.
|
|
items:
|
|
properties:
|
|
match:
|
|
items:
|
|
properties:
|
|
destinationSubnets:
|
|
description: IPv4 or IPv6 ip addresses of destination
|
|
with optional subnet.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
gateways:
|
|
description: Names of gateways where the rule should be
|
|
applied.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
port:
|
|
description: Specifies the port on the host that is being
|
|
addressed.
|
|
type: integer
|
|
sourceLabels:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
sourceNamespace:
|
|
description: Source namespace constraining the applicability
|
|
of a rule to workloads in that namespace.
|
|
format: string
|
|
type: string
|
|
sourceSubnet:
|
|
description: IPv4 or IPv6 ip address of source with optional
|
|
subnet.
|
|
format: string
|
|
type: string
|
|
type: object
|
|
type: array
|
|
route:
|
|
description: The destination to which the connection should
|
|
be forwarded to.
|
|
items:
|
|
properties:
|
|
destination:
|
|
properties:
|
|
host:
|
|
description: The name of a service from the service
|
|
registry.
|
|
format: string
|
|
type: string
|
|
port:
|
|
description: Specifies the port on the host that is
|
|
being addressed.
|
|
properties:
|
|
number:
|
|
type: integer
|
|
type: object
|
|
subset:
|
|
description: The name of a subset within the service.
|
|
format: string
|
|
type: string
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: array
|
|
tls:
|
|
items:
|
|
properties:
|
|
match:
|
|
items:
|
|
properties:
|
|
destinationSubnets:
|
|
description: IPv4 or IPv6 ip addresses of destination
|
|
with optional subnet.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
gateways:
|
|
description: Names of gateways where the rule should be
|
|
applied.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
port:
|
|
description: Specifies the port on the host that is being
|
|
addressed.
|
|
type: integer
|
|
sniHosts:
|
|
description: SNI (server name indicator) to match on.
|
|
items:
|
|
format: string
|
|
type: string
|
|
type: array
|
|
sourceLabels:
|
|
additionalProperties:
|
|
format: string
|
|
type: string
|
|
type: object
|
|
sourceNamespace:
|
|
description: Source namespace constraining the applicability
|
|
of a rule to workloads in that namespace.
|
|
format: string
|
|
type: string
|
|
type: object
|
|
type: array
|
|
route:
|
|
description: The destination to which the connection should
|
|
be forwarded to.
|
|
items:
|
|
properties:
|
|
destination:
|
|
properties:
|
|
host:
|
|
description: The name of a service from the service
|
|
registry.
|
|
format: string
|
|
type: string
|
|
port:
|
|
description: Specifies the port on the host that is
|
|
being addressed.
|
|
properties:
|
|
number:
|
|
type: integer
|
|
type: object
|
|
subset:
|
|
description: The name of a subset within the service.
|
|
format: string
|
|
type: string
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: object
|
|
type:
|
|
description: Strategy type
|
|
type: string
|
|
type: object
|
|
status:
|
|
description: StrategyStatus defines the observed state of Strategy
|
|
properties:
|
|
completionTime:
|
|
description: Represents time when the strategy was completed. It is represented in RFC3339 form and is in UTC.
|
|
format: date-time
|
|
type: string
|
|
conditions:
|
|
description: The latest available observations of an object's current state.
|
|
items:
|
|
description: StrategyCondition describes current state of a strategy.
|
|
properties:
|
|
lastProbeTime:
|
|
description: Last time the condition was checked.
|
|
format: date-time
|
|
type: string
|
|
lastTransitionTime:
|
|
description: Last time the condition transit from one status to another
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: Human readable message indicating details about last transition.
|
|
type: string
|
|
reason:
|
|
description: reason for the condition's last transition
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False, Unknown
|
|
type: string
|
|
type:
|
|
description: Type of strategy condition, Complete or Failed.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
startTime:
|
|
description: Represents time when the strategy was acknowledged by the controller. It is represented in RFC3339 form and is in UTC.
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|