config/crd/bases/networking.fleet.azure.com_internalserviceimports.yaml (220 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.0
name: internalserviceimports.networking.fleet.azure.com
spec:
group: networking.fleet.azure.com
names:
categories:
- fleet-networking
kind: InternalServiceImport
listKind: InternalServiceImportList
plural: internalserviceimports
shortNames:
- internalsvcimport
singular: internalserviceimport
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: |-
InternalServiceImport is used by the MCS controller to import the Service to a single cluster manually,
while ServiceImport is logical identifiers for a Service that exists in another cluster or that stretches
across multiple clusters and it will be automatically created in the hub cluster when exporting service.
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: InternalServiceImportSpec specifies the spec of InternalServiceImport.
properties:
serviceImportReference:
description: The reference to the source ServiceImport.
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
required:
- serviceImportReference
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
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}