crds/MultiClusterService.yaml (85 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: multiclusterservices.networking.aks.io
spec:
group: networking.aks.io
names:
kind: MultiClusterService
listKind: MultiClusterServiceList
plural: multiclusterservices
singular: multiclusterservice
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.ports[*].port
name: Ports
type: string
- jsonPath: .status.vip
name: VIP
type: string
- jsonPath: .status.state
name: State
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: MultiClusterService is the Schema for the multiclusterservices 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: MultiClusterServiceSpec defines the desired state of MultiClusterService
properties:
clusterSet:
description: ClusterSet for the multicluster service.
type: string
ports:
description: Ports for the multicluster service.
items:
description: MultiClusterServicePort defines the spec for MultiClusterService
port
properties:
name:
type: string
port:
type: integer
protocol:
type: string
targetPort:
type: integer
type: object
type: array
selector:
description: LabelSelector for the multicluster service. Services with the
same name of MultiClusterService would be selected if the selector is
not set.
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
type: object
status:
description: MultiClusterServiceStatus defines the observed state of MultiClusterService
properties:
endpoints:
description: Endpoints represents a list of endpoint for the multicluster
service.
items:
description: MultiClusterEndpoint defines the endpoints for the multicluster
service.
properties:
cluster:
type: string
endpoints:
items:
type: string
type: array
ip:
type: string
service:
type: string
type: object
type: array
state:
type: string
vip:
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []