mirror of
https://github.com/submariner-io/submariner-charts.git
synced 2026-09-20 21:30:35 +00:00
Update the MCS API CRDs as per definition in https://github.com/kubernetes-sigs/mcs-api/tree/master/config/crd Signed-off-by: Vishal Thapar <5137689+vthapar@users.noreply.github.com>
344 lines
13 KiB
YAML
344 lines
13 KiB
YAML
{{- if .Values.crd.create -}}
|
|
apiVersion: apiextensions.k8s.io/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: clusters.submariner.io
|
|
annotations:
|
|
"helm.sh/hook": crd-install
|
|
spec:
|
|
group: submariner.io
|
|
version: v1
|
|
names:
|
|
kind: Cluster
|
|
plural: clusters
|
|
scope: Namespaced
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: endpoints.submariner.io
|
|
annotations:
|
|
"helm.sh/hook": crd-install
|
|
spec:
|
|
group: submariner.io
|
|
version: v1
|
|
names:
|
|
kind: Endpoint
|
|
plural: endpoints
|
|
scope: Namespaced
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: gateways.submariner.io
|
|
annotations:
|
|
"helm.sh/hook": crd-install
|
|
spec:
|
|
group: submariner.io
|
|
version: v1
|
|
names:
|
|
kind: Gateway
|
|
plural: gateways
|
|
scope: Namespaced
|
|
additionalPrinterColumns:
|
|
- name: ha-status
|
|
type: string
|
|
description: High Availability Status of the Gateway
|
|
JSONPath: .status.haStatus
|
|
---
|
|
{{- if .Values.submariner.serviceDiscovery }}
|
|
apiVersion: apiextensions.k8s.io/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: multiclusterservices.lighthouse.submariner.io
|
|
annotations:
|
|
"helm.sh/hook": crd-install
|
|
spec:
|
|
group: lighthouse.submariner.io
|
|
version: v1
|
|
names:
|
|
kind: MultiClusterService
|
|
plural: multiclusterservices
|
|
singular: multiclusterservice
|
|
scope: Namespaced
|
|
validation:
|
|
openAPIV3Schema:
|
|
properties:
|
|
spec:
|
|
properties:
|
|
clusterServiceInfo:
|
|
properties:
|
|
clusterID:
|
|
type: "string"
|
|
clusterDomain:
|
|
type: "string"
|
|
serviceIP:
|
|
type: "string"
|
|
port:
|
|
type: "integer"
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: serviceexports.lighthouse.submariner.io
|
|
annotations:
|
|
"helm.sh/hook": crd-install
|
|
spec:
|
|
group: lighthouse.submariner.io
|
|
version: v2alpha1
|
|
names:
|
|
kind: ServiceExport
|
|
plural: serviceexports
|
|
singular: serviceexport
|
|
scope: Namespaced
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: serviceimports.lighthouse.submariner.io
|
|
annotations:
|
|
"helm.sh/hook": crd-install
|
|
spec:
|
|
group: lighthouse.submariner.io
|
|
version: v2alpha1
|
|
names:
|
|
kind: ServiceImport
|
|
plural: serviceimports
|
|
singular: serviceimport
|
|
scope: Namespaced
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: serviceexports.multicluster.x-k8s.io
|
|
annotations:
|
|
"helm.sh/hook": crd-install
|
|
spec:
|
|
group: multicluster.x-k8s.io
|
|
scope: Namespaced
|
|
names:
|
|
plural: serviceexports
|
|
singular: serviceexport
|
|
kind: ServiceExport
|
|
shortNames:
|
|
- svcex
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
additionalPrinterColumns:
|
|
- name: Age
|
|
type: date
|
|
jsonPath: .metadata.creationTimestamp
|
|
"schema":
|
|
"openAPIV3Schema":
|
|
description: ServiceExport declares that the Service with the same name and
|
|
namespace as this export should be consumable from other clusters.
|
|
type: object
|
|
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 describes the current state of an exported service.
|
|
Service configuration comes from the Service that had the same name
|
|
and namespace as this ServiceExport. Populated by the multi-cluster
|
|
service implementation's controller.
|
|
type: object
|
|
properties:
|
|
conditions:
|
|
type: array
|
|
items:
|
|
description: "ServiceExportCondition contains details for the current
|
|
condition of this service export. \n Once [KEP-1623](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1623-standardize-conditions)
|
|
is implemented, this will be replaced by metav1.Condition."
|
|
type: object
|
|
required:
|
|
- status
|
|
- type
|
|
properties:
|
|
lastTransitionTime:
|
|
type: string
|
|
format: date-time
|
|
message:
|
|
type: string
|
|
reason:
|
|
type: string
|
|
status:
|
|
description: Status is one of {"True", "False", "Unknown"}
|
|
type: string
|
|
enum:
|
|
- "True"
|
|
- "False"
|
|
- Unknown
|
|
type:
|
|
description: ServiceExportConditionType identifies a specific
|
|
condition.
|
|
type: string
|
|
x-kubernetes-list-map-keys:
|
|
- type
|
|
x-kubernetes-list-type: map
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: serviceimports.multicluster.x-k8s.io
|
|
annotations:
|
|
"helm.sh/hook": crd-install
|
|
spec:
|
|
group: multicluster.x-k8s.io
|
|
scope: Namespaced
|
|
names:
|
|
plural: serviceimports
|
|
singular: serviceimport
|
|
kind: ServiceImport
|
|
shortNames:
|
|
- svcim
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
additionalPrinterColumns:
|
|
- name: Type
|
|
type: string
|
|
description: The type of this ServiceImport
|
|
jsonPath: .spec.type
|
|
- name: IP
|
|
type: string
|
|
description: The VIP for this ServiceImport
|
|
jsonPath: .spec.ips
|
|
- name: Age
|
|
type: date
|
|
jsonPath: .metadata.creationTimestamp
|
|
"schema":
|
|
"openAPIV3Schema":
|
|
description: ServiceImport describes a service imported from clusters in a
|
|
ClusterSet.
|
|
type: object
|
|
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: spec defines the behavior of a ServiceImport.
|
|
type: object
|
|
required:
|
|
- ports
|
|
- type
|
|
properties:
|
|
ips:
|
|
description: ip will be used as the VIP for this service when type
|
|
is ClusterSetIP.
|
|
type: array
|
|
maxItems: 1
|
|
items:
|
|
type: string
|
|
ports:
|
|
type: array
|
|
items:
|
|
description: ServicePort represents the port on which the service
|
|
is exposed
|
|
type: object
|
|
required:
|
|
- port
|
|
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.
|
|
type: integer
|
|
format: int32
|
|
protocol:
|
|
description: The IP protocol for this port. Supports "TCP",
|
|
"UDP", and "SCTP". Default is TCP.
|
|
type: string
|
|
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.
|
|
type: object
|
|
properties:
|
|
clientIP:
|
|
description: clientIP contains the configurations of Client IP
|
|
based session affinity.
|
|
type: object
|
|
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).
|
|
type: integer
|
|
format: int32
|
|
type:
|
|
description: type defines the type of this service. Must be ClusterSetIP
|
|
or Headless.
|
|
type: string
|
|
enum:
|
|
- ClusterSetIP
|
|
- Headless
|
|
status:
|
|
description: status contains information about the exported services that
|
|
form the multi-cluster service referenced by this ServiceImport.
|
|
type: object
|
|
properties:
|
|
clusters:
|
|
description: clusters is the list of exporting clusters from which
|
|
this service was derived.
|
|
type: array
|
|
items:
|
|
description: ClusterStatus contains service configuration mapped
|
|
to a specific source cluster
|
|
type: object
|
|
required:
|
|
- cluster
|
|
properties:
|
|
cluster:
|
|
description: cluster is the name of the exporting cluster. Must
|
|
be a valid RFC-1123 DNS label.
|
|
type: string
|
|
x-kubernetes-list-map-keys:
|
|
- cluster
|
|
x-kubernetes-list-type: map
|
|
{{- end -}}
|
|
{{- end -}} |