config/crd/bases/networking.fleet.azure.com_serviceimports.yaml (165 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.0
name: serviceimports.networking.fleet.azure.com
spec:
group: networking.fleet.azure.com
names:
categories:
- fleet-networking
kind: ServiceImport
listKind: ServiceImportList
plural: serviceimports
shortNames:
- svcimport
singular: serviceimport
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ServiceImport describes a service imported from clusters in a
ClusterSet.
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
status:
description: |-
status contains information about the exported services that form
the multi-cluster service referenced by this ServiceImport.
properties:
clusters:
description: clusters is the list of exporting clusters from which
this service was derived.
items:
description: ClusterStatus contains service configuration mapped
to a specific source cluster.
properties:
cluster:
description: cluster is the name of the exporting cluster. Must
be a valid RFC-1123 DNS label.
type: string
required:
- cluster
type: object
type: array
x-kubernetes-list-map-keys:
- cluster
x-kubernetes-list-type: map
ips:
description: ip will be used as the VIP for this service when type
is ClusterSetIP.
items:
type: string
maxItems: 1
type: array
ports:
items:
description: ServicePort represents the port on which the service
is exposed.
properties:
appProtocol:
description: |-
The application protocol for this port.
This field follows standard Kubernetes label syntax.
Un-prefixed names are reserved for IANA standard service names (as per
RFC-6335 and http://www.iana.org/assignments/service-names).
Non-standard protocols should use prefixed names such as
mycompany.com/my-custom-protocol.
Field can be enabled with ServiceAppProtocol feature gate.
type: string
name:
description: |-
The name of this port within the service. This must be a DNS_LABEL.
All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service,
this must match the 'name' field in the EndpointPort.
Optional if only one ServicePort is defined on this service.
type: string
port:
description: The port that will be exposed by this service.
format: int32
maximum: 65535
minimum: 1
type: integer
protocol:
default: TCP
description: |-
The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
Default is TCP.
enum:
- TCP
- UDP
- SCTP
type: string
targetPort:
anyOf:
- type: integer
- type: string
description: The port to access on the pods targeted by the
service.
x-kubernetes-int-or-string: true
required:
- port
type: object
type: array
x-kubernetes-list-type: atomic
sessionAffinity:
description: |-
Supports "ClientIP" and "None". Used to maintain session affinity.
Enable client IP based session affinity.
Must be ClientIP or None.
Defaults to None.
Ignored when type is Headless
More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
type: string
sessionAffinityConfig:
description: sessionAffinityConfig contains session affinity configuration.
properties:
clientIP:
description: clientIP contains the configurations of Client IP
based session affinity.
properties:
timeoutSeconds:
description: |-
timeoutSeconds specifies the seconds of ClientIP type session sticky time.
The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
Default value is 10800(for 3 hours).
format: int32
type: integer
type: object
type: object
type:
description: |-
type defines the type of this service.
Must be ClusterSetIP or Headless.
enum:
- ClusterSetIP
- Headless
type: string
type: object
type: object
x-kubernetes-validations:
- message: metadata.name max length is 63
rule: size(self.metadata.name) < 64
served: true
storage: true
subresources:
status: {}