Fix MCS API CRDs

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>
This commit is contained in:
Vishal Thapar
2020-11-13 12:31:30 +01:00
committed by Miguel Angel Ajo Pelayo
parent 34cd37c4c0
commit 59ab112b29
2 changed files with 366 additions and 358 deletions
+183 -179
View File
@@ -126,67 +126,69 @@ spec:
- name: v1alpha1 - name: v1alpha1
served: true served: true
storage: true storage: true
additionalPrinterColumns: subresources:
- name: Age status: {}
type: date additionalPrinterColumns:
jsonPath: .metadata.creationTimestamp - name: Age
"schema": type: date
"openAPIV3Schema": jsonPath: .metadata.creationTimestamp
description: ServiceExport declares that the Service with the same name and "schema":
namespace as this export should be consumable from other clusters. "openAPIV3Schema":
type: object description: ServiceExport declares that the Service with the same name and
properties: namespace as this export should be consumable from other clusters.
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 type: object
properties: properties:
conditions: apiVersion:
type: array description: 'APIVersion defines the versioned schema of this representation
items: of an object. Servers should convert recognized schemas to the latest
description: "ServiceExportCondition contains details for the current internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
condition of this service export. \n Once [KEP-1623](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1623-standardize-conditions) type: string
is implemented, this will be replaced by metav1.Condition." kind:
type: object description: 'Kind is a string value representing the REST resource this
required: object represents. Servers may infer this from the endpoint the client
- status 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 type: string
properties: metadata:
lastTransitionTime: type: object
type: string status:
format: date-time description: status describes the current state of an exported service.
message: Service configuration comes from the Service that had the same name
type: string and namespace as this ServiceExport. Populated by the multi-cluster
reason: service implementation's controller.
type: string type: object
status: properties:
description: Status is one of {"True", "False", "Unknown"} conditions:
type: string type: array
enum: items:
- "True" description: "ServiceExportCondition contains details for the current
- "False" condition of this service export. \n Once [KEP-1623](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1623-standardize-conditions)
- Unknown is implemented, this will be replaced by metav1.Condition."
type: type: object
description: ServiceExportConditionType identifies a specific required:
condition. - status
type: string - type
x-kubernetes-list-map-keys: properties:
- type lastTransitionTime:
x-kubernetes-list-type: map 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 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
@@ -207,134 +209,136 @@ spec:
- name: v1alpha1 - name: v1alpha1
served: true served: true
storage: true storage: true
additionalPrinterColumns: subresources:
- name: Type status: {}
type: string additionalPrinterColumns:
description: The type of this ServiceImport - name: Type
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 type: string
kind: description: The type of this ServiceImport
description: 'Kind is a string value representing the REST resource this jsonPath: .spec.type
object represents. Servers may infer this from the endpoint the client - name: IP
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 type: string
metadata: 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 type: object
spec:
description: spec defines the behavior of a ServiceImport.
type: object
required:
- ports
- type
properties: properties:
ips: apiVersion:
description: ip will be used as the VIP for this service when type description: 'APIVersion defines the versioned schema of this representation
is ClusterSetIP. of an object. Servers should convert recognized schemas to the latest
type: array internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
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 type: string
sessionAffinityConfig: kind:
description: sessionAffinityConfig contains session affinity configuration. 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 type: object
spec:
description: spec defines the behavior of a ServiceImport.
type: object
required:
- ports
- type
properties: properties:
clientIP: ips:
description: clientIP contains the configurations of Client IP description: ip will be used as the VIP for this service when type
based session affinity. 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 type: object
properties: properties:
timeoutSeconds: clientIP:
description: timeoutSeconds specifies the seconds of ClientIP description: clientIP contains the configurations of Client IP
type session sticky time. The value must be >0 && <=86400(for based session affinity.
1 day) if ServiceAffinity == "ClientIP". Default value is type: object
10800(for 3 hours). properties:
type: integer timeoutSeconds:
format: int32 description: timeoutSeconds specifies the seconds of ClientIP
type: type session sticky time. The value must be >0 && <=86400(for
description: type defines the type of this service. Must be ClusterSetIP 1 day) if ServiceAffinity == "ClientIP". Default value is
or Headless. 10800(for 3 hours).
type: string type: integer
enum: format: int32
- ClusterSetIP type:
- Headless description: type defines the type of this service. Must be ClusterSetIP
status: or Headless.
description: status contains information about the exported services that type: string
form the multi-cluster service referenced by this ServiceImport. enum:
type: object - ClusterSetIP
properties: - Headless
clusters: status:
description: clusters is the list of exporting clusters from which description: status contains information about the exported services that
this service was derived. form the multi-cluster service referenced by this ServiceImport.
type: array type: object
items: properties:
description: ClusterStatus contains service configuration mapped clusters:
to a specific source cluster description: clusters is the list of exporting clusters from which
type: object this service was derived.
required: type: array
- cluster items:
properties: description: ClusterStatus contains service configuration mapped
cluster: to a specific source cluster
description: cluster is the name of the exporting cluster. Must type: object
be a valid RFC-1123 DNS label. required:
type: string - cluster
x-kubernetes-list-map-keys: properties:
- cluster cluster:
x-kubernetes-list-type: map 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 -}}
{{- end -}} {{- end -}}
+183 -179
View File
@@ -126,67 +126,69 @@ spec:
- name: v1alpha1 - name: v1alpha1
served: true served: true
storage: true storage: true
additionalPrinterColumns: subresources:
- name: Age status: {}
type: date additionalPrinterColumns:
jsonPath: .metadata.creationTimestamp - name: Age
"schema": type: date
"openAPIV3Schema": jsonPath: .metadata.creationTimestamp
description: ServiceExport declares that the Service with the same name and "schema":
namespace as this export should be consumable from other clusters. "openAPIV3Schema":
type: object description: ServiceExport declares that the Service with the same name and
properties: namespace as this export should be consumable from other clusters.
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 type: object
properties: properties:
conditions: apiVersion:
type: array description: 'APIVersion defines the versioned schema of this representation
items: of an object. Servers should convert recognized schemas to the latest
description: "ServiceExportCondition contains details for the current internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
condition of this service export. \n Once [KEP-1623](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1623-standardize-conditions) type: string
is implemented, this will be replaced by metav1.Condition." kind:
type: object description: 'Kind is a string value representing the REST resource this
required: object represents. Servers may infer this from the endpoint the client
- status 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 type: string
properties: metadata:
lastTransitionTime: type: object
type: string status:
format: date-time description: status describes the current state of an exported service.
message: Service configuration comes from the Service that had the same name
type: string and namespace as this ServiceExport. Populated by the multi-cluster
reason: service implementation's controller.
type: string type: object
status: properties:
description: Status is one of {"True", "False", "Unknown"} conditions:
type: string type: array
enum: items:
- "True" description: "ServiceExportCondition contains details for the current
- "False" condition of this service export. \n Once [KEP-1623](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1623-standardize-conditions)
- Unknown is implemented, this will be replaced by metav1.Condition."
type: type: object
description: ServiceExportConditionType identifies a specific required:
condition. - status
type: string - type
x-kubernetes-list-map-keys: properties:
- type lastTransitionTime:
x-kubernetes-list-type: map 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 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
@@ -207,134 +209,136 @@ spec:
- name: v1alpha1 - name: v1alpha1
served: true served: true
storage: true storage: true
additionalPrinterColumns: subresources:
- name: Type status: {}
type: string additionalPrinterColumns:
description: The type of this ServiceImport - name: Type
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 type: string
kind: description: The type of this ServiceImport
description: 'Kind is a string value representing the REST resource this jsonPath: .spec.type
object represents. Servers may infer this from the endpoint the client - name: IP
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 type: string
metadata: 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 type: object
spec:
description: spec defines the behavior of a ServiceImport.
type: object
required:
- ports
- type
properties: properties:
ips: apiVersion:
description: ip will be used as the VIP for this service when type description: 'APIVersion defines the versioned schema of this representation
is ClusterSetIP. of an object. Servers should convert recognized schemas to the latest
type: array internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
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 type: string
sessionAffinityConfig: kind:
description: sessionAffinityConfig contains session affinity configuration. 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 type: object
spec:
description: spec defines the behavior of a ServiceImport.
type: object
required:
- ports
- type
properties: properties:
clientIP: ips:
description: clientIP contains the configurations of Client IP description: ip will be used as the VIP for this service when type
based session affinity. 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 type: object
properties: properties:
timeoutSeconds: clientIP:
description: timeoutSeconds specifies the seconds of ClientIP description: clientIP contains the configurations of Client IP
type session sticky time. The value must be >0 && <=86400(for based session affinity.
1 day) if ServiceAffinity == "ClientIP". Default value is type: object
10800(for 3 hours). properties:
type: integer timeoutSeconds:
format: int32 description: timeoutSeconds specifies the seconds of ClientIP
type: type session sticky time. The value must be >0 && <=86400(for
description: type defines the type of this service. Must be ClusterSetIP 1 day) if ServiceAffinity == "ClientIP". Default value is
or Headless. 10800(for 3 hours).
type: string type: integer
enum: format: int32
- ClusterSetIP type:
- Headless description: type defines the type of this service. Must be ClusterSetIP
status: or Headless.
description: status contains information about the exported services that type: string
form the multi-cluster service referenced by this ServiceImport. enum:
type: object - ClusterSetIP
properties: - Headless
clusters: status:
description: clusters is the list of exporting clusters from which description: status contains information about the exported services that
this service was derived. form the multi-cluster service referenced by this ServiceImport.
type: array type: object
items: properties:
description: ClusterStatus contains service configuration mapped clusters:
to a specific source cluster description: clusters is the list of exporting clusters from which
type: object this service was derived.
required: type: array
- cluster items:
properties: description: ClusterStatus contains service configuration mapped
cluster: to a specific source cluster
description: cluster is the name of the exporting cluster. Must type: object
be a valid RFC-1123 DNS label. required:
type: string - cluster
x-kubernetes-list-map-keys: properties:
- cluster cluster:
x-kubernetes-list-type: map 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 }}
{{- end -}} {{- end -}}