When deploying the custom resource definitions to a Kubernetes cluster >=1.18 I receive the some errors (see below).
this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
The CustomResourceDefinition "benchmarks.kobe.semagrow.org" is invalid:
* spec.validation.openAPIV3Schema.properties[spec].properties[datasets].items.properties[template].properties[spec].properties[containers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
* spec.validation.openAPIV3Schema.properties[spec].properties[datasets].items.properties[template].properties[spec].properties[importContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
* spec.validation.openAPIV3Schema.properties[spec].properties[datasets].items.properties[template].properties[spec].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
This is due to an incompatibility between the definition of the Containerand the CustomResourceDefinition update. I believe this is due to an API change in v1.18.
CustomResourceDefinition schemas that use x-kubernetes-list-map-keys to specify properties that uniquely identify list items must make those properties required or have a default value, to > ensure those properties are present for all list items. See https://kubernetes.io/docs/reference/using-api/api-concepts/#merge-strategy for details. (#88076, @eloyekunle) [SIG API Machinery and Testing]
When deploying the custom resource definitions to a Kubernetes cluster >=1.18 I receive the some errors (see below).
This is due to an incompatibility between the definition of the
Container
and the CustomResourceDefinition update. I believe this is due to an API change in v1.18.