config/crd/bases/networking.fleet.azure.com_endpointsliceimports.yaml (169 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.0
name: endpointsliceimports.networking.fleet.azure.com
spec:
group: networking.fleet.azure.com
names:
categories:
- fleet-networking
kind: EndpointSliceImport
listKind: EndpointSliceImportList
plural: endpointsliceimports
singular: endpointsliceimport
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: |-
EndpointSliceImport is a data transport type that hub cluster uses to distribute exported EndpointSlices
to member clusters.
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: EndpointSliceExportSpec specifies the spec of an exported
EndpointSlice.
properties:
addressType:
default: IPv4
description: |-
The type of addresses carried by this EndpointSliceExport.
At this stage only IPv4 addresses are supported.
enum:
- IPv4
type: string
endpointSliceReference:
description: The reference to the source EndpointSlice.
properties:
apiVersion:
description: The API version of the referred object.
type: string
clusterId:
description: The ID of the cluster where the object is exported.
type: string
exportedSince:
description: |-
The timestamp from a local clock when the generation of the object is exported.
This field is marked as optional for backwards compatibility reasons.
format: date-time
type: string
generation:
description: The generation of the referred object.
format: int64
type: integer
kind:
description: The kind of the referred object.
type: string
name:
description: The name of the referred object.
type: string
namespace:
description: The namespace of the referred object.
type: string
namespacedName:
description: The namespaced name of the referred object.
type: string
resourceVersion:
description: The resource version of the referred object.
type: string
uid:
description: The UID of the referred object.
type: string
required:
- clusterId
- generation
- kind
- name
- namespace
- namespacedName
- resourceVersion
- uid
type: object
x-kubernetes-map-type: atomic
endpoints:
description: A list of unique endpoints in the exported EndpointSlice.
items:
description: Endpoint includes all exported addresses from a logical
backend.
properties:
addresses:
description: |-
Addresses of the Endpoint.
Addresses should be interpreted per its owner EndpointSliceExport's addressType field. This field contains
at least one address and at maximum 100; for more information about this constraint,
see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#endpoint-v1beta1-discovery-k8s-io.
items:
type: string
type: array
required:
- addresses
type: object
type: array
x-kubernetes-list-type: atomic
ownerServiceReference:
description: The reference to the owner Service.
properties:
name:
description: The name of the owner Service.
type: string
namespace:
description: The namespace of the owner Service.
type: string
namespacedName:
description: The namespaced name (key) of the owner Service.
type: string
required:
- name
- namespace
- namespacedName
type: object
ports:
description: |-
The list of ports exported by each endpoint in this EndpointSliceExport. Each port must have a unique name.
When the field is empty, it indicates that there are no defined ports. When a port is defined with a nil
port value, it indicates that all ports are exported. Each slice may include a maximum of 100 ports.
items:
description: EndpointPort represents a Port used by an EndpointSlice
properties:
appProtocol:
description: |-
The application protocol for this port.
This is used as a hint for implementations to offer richer behavior for protocols that they understand.
This field follows standard Kubernetes label syntax.
Valid values are either:
* Un-prefixed protocol names - reserved for IANA standard service names (as per
RFC-6335 and https://www.iana.org/assignments/service-names).
* Kubernetes-defined prefixed names:
* 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
* 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
* 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455
* Other protocols should use implementation-defined prefixed names such as
mycompany.com/my-custom-protocol.
type: string
name:
description: |-
name represents the name of this port. All ports in an EndpointSlice must have a unique name.
If the EndpointSlice is derived from a Kubernetes service, this corresponds to the Service.ports[].name.
Name must either be an empty string or pass DNS_LABEL validation:
* must be no more than 63 characters long.
* must consist of lower case alphanumeric characters or '-'.
* must start and end with an alphanumeric character.
Default is empty string.
type: string
port:
description: |-
port represents the port number of the endpoint.
If this is not specified, ports are not restricted and must be
interpreted in the context of the specific consumer.
format: int32
type: integer
protocol:
default: TCP
description: |-
protocol represents the IP protocol for this port.
Must be UDP, TCP, or SCTP.
Default is TCP.
type: string
type: object
x-kubernetes-map-type: atomic
type: array
x-kubernetes-list-type: atomic
required:
- addressType
- endpointSliceReference
- endpoints
- ownerServiceReference
type: object
required:
- spec
type: object
served: true
storage: true