diff --git a/rabbitmq.com/binding_v1beta1.json b/rabbitmq.com/binding_v1beta1.json old mode 100644 new mode 100755 index 797864de..5c4b2d02 --- a/rabbitmq.com/binding_v1beta1.json +++ b/rabbitmq.com/binding_v1beta1.json @@ -35,8 +35,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that the binding will be created in. Required property.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -44,9 +56,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false }, diff --git a/rabbitmq.com/exchange_v1beta1.json b/rabbitmq.com/exchange_v1beta1.json old mode 100644 new mode 100755 index 44689c77..4a66d822 --- a/rabbitmq.com/exchange_v1beta1.json +++ b/rabbitmq.com/exchange_v1beta1.json @@ -34,8 +34,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that the exchange will be created in. Required property.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -43,9 +55,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false }, diff --git a/rabbitmq.com/federation_v1beta1.json b/rabbitmq.com/federation_v1beta1.json old mode 100644 new mode 100755 index ad192846..65c215b7 --- a/rabbitmq.com/federation_v1beta1.json +++ b/rabbitmq.com/federation_v1beta1.json @@ -48,8 +48,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that this federation upstream will be created in. Required property.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -57,9 +69,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false }, @@ -78,6 +87,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "vhost": { diff --git a/rabbitmq.com/permission_v1beta1.json b/rabbitmq.com/permission_v1beta1.json old mode 100644 new mode 100755 index efc69dde..91fc7aca --- a/rabbitmq.com/permission_v1beta1.json +++ b/rabbitmq.com/permission_v1beta1.json @@ -34,8 +34,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that both the provided user and vhost are. Required property.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -43,9 +55,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false }, @@ -62,6 +71,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "vhost": { diff --git a/rabbitmq.com/policy_v1beta1.json b/rabbitmq.com/policy_v1beta1.json old mode 100644 new mode 100755 index 52e5661f..d6c1dd54 --- a/rabbitmq.com/policy_v1beta1.json +++ b/rabbitmq.com/policy_v1beta1.json @@ -46,8 +46,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that the exchange will be created in. Required property.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -55,9 +67,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false }, diff --git a/rabbitmq.com/queue_v1beta1.json b/rabbitmq.com/queue_v1beta1.json old mode 100644 new mode 100755 index 0597b478..72d4df6f --- a/rabbitmq.com/queue_v1beta1.json +++ b/rabbitmq.com/queue_v1beta1.json @@ -35,8 +35,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that the queue will be created in. Required property.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -44,9 +56,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false }, diff --git a/rabbitmq.com/rabbitmqcluster_v1beta1.json b/rabbitmq.com/rabbitmqcluster_v1beta1.json old mode 100644 new mode 100755 index 6a651b78..8491f31c --- a/rabbitmq.com/rabbitmqcluster_v1beta1.json +++ b/rabbitmq.com/rabbitmqcluster_v1beta1.json @@ -91,6 +91,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "weight": { @@ -178,6 +179,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "type": "array" @@ -187,6 +189,7 @@ "nodeSelectorTerms" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -246,10 +249,11 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.", + "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces.", "properties": { "matchExpressions": { "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", @@ -290,10 +294,11 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"", + "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", "items": { "type": "string" }, @@ -372,10 +377,11 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.", + "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces.", "properties": { "matchExpressions": { "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", @@ -416,10 +422,11 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"", + "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", "items": { "type": "string" }, @@ -495,10 +502,11 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.", + "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces.", "properties": { "matchExpressions": { "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", @@ -539,10 +547,11 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"", + "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", "items": { "type": "string" }, @@ -621,10 +630,11 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.", + "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces.", "properties": { "matchExpressions": { "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", @@ -665,10 +675,11 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"", + "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", "items": { "type": "string" }, @@ -695,6 +706,13 @@ "type": "object", "additionalProperties": false }, + "delayStartSeconds": { + "default": 30, + "description": "DelayStartSeconds is the time the init container (`setup-container`) will sleep before terminating. This effectively delays the time between starting the Pod and starting the `rabbitmq` container. RabbitMQ relies on up-to-date DNS entries early during peer discovery. The purpose of this artificial delay is to ensure that DNS entries are up-to-date when booting RabbitMQ. For more information, see https://github.com/kubernetes/kubernetes/issues/92559 If your Kubernetes DNS backend is configured with a low DNS cache value or publishes not ready addresses promptly, you can decrase this value or set it to 0.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, "image": { "description": "Image is the name of the RabbitMQ docker image to use for RabbitMQ nodes in the RabbitmqCluster. Must be provided together with ImagePullSecrets in order to use an image in a private registry.", "type": "string" @@ -710,6 +728,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "type": "array" @@ -845,7 +864,8 @@ "additionalProperties": { "type": "string" }, - "type": "object" + "type": "object", + "x-kubernetes-map-type": "atomic" }, "sessionAffinity": { "type": "string" @@ -866,12 +886,6 @@ "type": "object", "additionalProperties": false }, - "topologyKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, "type": { "type": "string" } @@ -905,6 +919,22 @@ }, "spec": { "properties": { + "minReadySeconds": { + "format": "int32", + "type": "integer" + }, + "persistentVolumeClaimRetentionPolicy": { + "properties": { + "whenDeleted": { + "type": "string" + }, + "whenScaled": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, "podManagementPolicy": { "type": "string" }, @@ -947,6 +977,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "serviceName": { @@ -1045,6 +1076,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "weight": { @@ -1118,6 +1150,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "type": "array" @@ -1127,6 +1160,7 @@ "nodeSelectorTerms" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -1175,6 +1209,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaceSelector": { @@ -1212,6 +1247,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaces": { @@ -1282,6 +1318,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaceSelector": { @@ -1319,6 +1356,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaces": { @@ -1385,6 +1423,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaceSelector": { @@ -1422,6 +1461,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaces": { @@ -1492,6 +1532,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaceSelector": { @@ -1529,6 +1570,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "namespaces": { @@ -1602,6 +1644,7 @@ "key" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "fieldRef": { @@ -1617,6 +1660,7 @@ "fieldPath" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "resourceFieldRef": { @@ -1644,6 +1688,7 @@ "resource" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "secretKeyRef": { @@ -1662,6 +1707,7 @@ "key" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -1690,6 +1736,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "prefix": { @@ -1705,6 +1752,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -1921,6 +1969,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -2072,6 +2136,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -2169,6 +2249,25 @@ }, "resources": { "properties": { + "claims": { + "items": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, "limits": { "additionalProperties": { "anyOf": [ @@ -2287,6 +2386,9 @@ "gmsaCredentialSpecName": { "type": "string" }, + "hostProcess": { + "type": "boolean" + }, "runAsUserName": { "type": "string" } @@ -2316,6 +2418,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -2569,6 +2687,7 @@ "key" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "fieldRef": { @@ -2584,6 +2703,7 @@ "fieldPath" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "resourceFieldRef": { @@ -2611,6 +2731,7 @@ "resource" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "secretKeyRef": { @@ -2629,6 +2750,7 @@ "key" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -2657,6 +2779,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "prefix": { @@ -2672,6 +2795,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -2888,6 +3012,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -3014,7 +3154,12 @@ "type": "object", "additionalProperties": false }, - "type": "array" + "type": "array", + "x-kubernetes-list-map-keys": [ + "containerPort", + "protocol" + ], + "x-kubernetes-list-type": "map" }, "readinessProbe": { "properties": { @@ -3034,6 +3179,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -3131,6 +3292,25 @@ }, "resources": { "properties": { + "claims": { + "items": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, "limits": { "additionalProperties": { "anyOf": [ @@ -3249,6 +3429,9 @@ "gmsaCredentialSpecName": { "type": "string" }, + "hostProcess": { + "type": "boolean" + }, "runAsUserName": { "type": "string" } @@ -3278,6 +3461,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -3480,6 +3679,9 @@ "hostPID": { "type": "boolean" }, + "hostUsers": { + "type": "boolean" + }, "hostname": { "type": "string" }, @@ -3491,6 +3693,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "type": "array" @@ -3537,6 +3740,7 @@ "key" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "fieldRef": { @@ -3552,6 +3756,7 @@ "fieldPath" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "resourceFieldRef": { @@ -3579,6 +3784,7 @@ "resource" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "secretKeyRef": { @@ -3597,6 +3803,7 @@ "key" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -3625,6 +3832,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "prefix": { @@ -3640,6 +3848,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -3856,6 +4065,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -4007,6 +4232,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -4104,6 +4345,25 @@ }, "resources": { "properties": { + "claims": { + "items": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, "limits": { "additionalProperties": { "anyOf": [ @@ -4222,6 +4482,9 @@ "gmsaCredentialSpecName": { "type": "string" }, + "hostProcess": { + "type": "boolean" + }, "runAsUserName": { "type": "string" } @@ -4251,6 +4514,22 @@ "format": "int32", "type": "integer" }, + "grpc": { + "properties": { + "port": { + "format": "int32", + "type": "integer" + }, + "service": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object", + "additionalProperties": false + }, "httpGet": { "properties": { "host": { @@ -4430,7 +4709,20 @@ "additionalProperties": { "type": "string" }, - "type": "object" + "type": "object", + "x-kubernetes-map-type": "atomic" + }, + "os": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false }, "overhead": { "additionalProperties": { @@ -4472,6 +4764,37 @@ }, "type": "array" }, + "resourceClaims": { + "items": { + "properties": { + "name": { + "type": "string" + }, + "source": { + "properties": { + "resourceClaimName": { + "type": "string" + }, + "resourceClaimTemplateName": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, "restartPolicy": { "type": "string" }, @@ -4481,6 +4804,25 @@ "schedulerName": { "type": "string" }, + "schedulingGates": { + "items": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, "securityContext": { "properties": { "fsGroup": { @@ -4568,6 +4910,9 @@ "gmsaCredentialSpecName": { "type": "string" }, + "hostProcess": { + "type": "boolean" + }, "runAsUserName": { "type": "string" } @@ -4661,12 +5006,30 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, + "matchLabelKeys": { + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, "maxSkew": { "format": "int32", "type": "integer" }, + "minDomains": { + "format": "int32", + "type": "integer" + }, + "nodeAffinityPolicy": { + "type": "string" + }, + "nodeTaintsPolicy": { + "type": "string" + }, "topologyKey": { "type": "string" }, @@ -4785,6 +5148,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "user": { @@ -4812,6 +5176,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "volumeID": { @@ -4861,6 +5226,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "csi": { @@ -4878,6 +5244,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "readOnly": { @@ -4918,6 +5285,7 @@ "fieldPath" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "mode": { @@ -4952,6 +5320,7 @@ "resource" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -5020,10 +5389,52 @@ "name" ], "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, + "dataSourceRef": { + "properties": { + "apiGroup": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", "additionalProperties": false }, "resources": { "properties": { + "claims": { + "items": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, "limits": { "additionalProperties": { "anyOf": [ @@ -5093,6 +5504,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "storageClassName": { @@ -5171,6 +5583,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -5306,6 +5719,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "targetPortal": { @@ -5432,6 +5846,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "downwardAPI": { @@ -5452,6 +5867,7 @@ "fieldPath" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "mode": { @@ -5486,6 +5902,7 @@ "resource" ], "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, @@ -5534,6 +5951,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "serviceAccountToken": { @@ -5623,6 +6041,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "user": { @@ -5657,6 +6076,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "sslEnabled": { @@ -5737,6 +6157,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "volumeName": { @@ -5794,6 +6215,17 @@ "properties": { "rollingUpdate": { "properties": { + "maxUnavailable": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "x-kubernetes-int-or-string": true + }, "partition": { "format": "int32", "type": "integer" @@ -5867,10 +6299,52 @@ "name" ], "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, + "dataSourceRef": { + "properties": { + "apiGroup": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", "additionalProperties": false }, "resources": { "properties": { + "claims": { + "items": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, "limits": { "additionalProperties": { "anyOf": [ @@ -5940,6 +6414,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "storageClassName": { @@ -6054,6 +6529,28 @@ }, "description": "The desired compute resource requirements of Pods in the cluster.", "properties": { + "claims": { + "description": "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable.", + "items": { + "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.", + "properties": { + "name": { + "description": "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, "limits": { "additionalProperties": { "anyOf": [ @@ -6093,6 +6590,18 @@ "secretBackend": { "description": "Secret backend configuration for the RabbitmqCluster. Enables to fetch default user credentials and certificates from K8s external secret stores.", "properties": { + "externalSecret": { + "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "vault": { "description": "VaultSpec will add Vault annotations (see https://www.vaultproject.io/docs/platform/k8s/injector/annotations) to RabbitMQ Pods. It requires a Vault Agent Sidecar Injector (https://www.vaultproject.io/docs/platform/k8s/injector) to be installed in the K8s cluster. The injector is a K8s Mutation Webhook Controller that alters RabbitMQ Pod specifications (based on the added Vault annotations) to include Vault Agent containers that render Vault secrets to the volume.", "properties": { @@ -6250,6 +6759,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "conditions": { diff --git a/rabbitmq.com/schemareplication_v1beta1.json b/rabbitmq.com/schemareplication_v1beta1.json old mode 100644 new mode 100755 index fd93d8f6..615b3554 --- a/rabbitmq.com/schemareplication_v1beta1.json +++ b/rabbitmq.com/schemareplication_v1beta1.json @@ -22,8 +22,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that schema replication would be set for. Must be an existing cluster.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -31,14 +43,28 @@ "type": "string" } }, - "required": [ - "name" - ], + "type": "object", + "additionalProperties": false + }, + "secretBackend": { + "description": "Set to fetch user credentials from K8s external secret stores to be used for schema replication.", + "properties": { + "vault": { + "properties": { + "secretPath": { + "description": "Path in Vault to access a KV (Key-Value) secret with the fields username and password to be used for replication. For example \"secret/data/rabbitmq/config\". Optional; if not provided, username and password will come from upstreamSecret instead. Have to set either secretBackend.vault.secretPath or upstreamSecret, but not both.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, "type": "object", "additionalProperties": false }, "upstreamSecret": { - "description": "Defines a Secret which contains credentials to be used for schema replication. The Secret must contain the keys `username` and `password` in its Data field, or operator will error.", + "description": "Defines a Secret which contains credentials to be used for schema replication. The Secret must contain the keys `username` and `password` in its Data field, or operator will error. Have to set either secretBackend.vault.secretPath or spec.upstreamSecret, but not both.", "properties": { "name": { "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", @@ -46,6 +72,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false } }, diff --git a/rabbitmq.com/shovel_v1beta1.json b/rabbitmq.com/shovel_v1beta1.json old mode 100644 new mode 100755 index 82bf8219..a3473d42 --- a/rabbitmq.com/shovel_v1beta1.json +++ b/rabbitmq.com/shovel_v1beta1.json @@ -69,8 +69,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that this Shovel will be created in. Required property.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -78,9 +90,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false }, @@ -117,6 +126,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "vhost": { diff --git a/rabbitmq.com/superstream_v1alpha1.json b/rabbitmq.com/superstream_v1alpha1.json old mode 100644 new mode 100755 index f376b629..cfac1e70 --- a/rabbitmq.com/superstream_v1alpha1.json +++ b/rabbitmq.com/superstream_v1alpha1.json @@ -36,6 +36,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "name": { diff --git a/rabbitmq.com/topicpermission_v1beta1.json b/rabbitmq.com/topicpermission_v1beta1.json new file mode 100755 index 00000000..581d53d3 --- /dev/null +++ b/rabbitmq.com/topicpermission_v1beta1.json @@ -0,0 +1,139 @@ +{ + "description": "TopicPermission is the Schema for the topicpermissions API", + "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": "TopicPermissionSpec defines the desired state of TopicPermission", + "properties": { + "permissions": { + "description": "Permissions to grant to the user to a topic exchange; required property.", + "properties": { + "exchange": { + "description": "Name of a topic exchange; required property; cannot be updated.", + "type": "string" + }, + "read": { + "type": "string" + }, + "write": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "rabbitmqClusterReference": { + "description": "Reference to the RabbitmqCluster that both the provided user and vhost are. Required property.", + "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, + "name": { + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", + "type": "string" + }, + "namespace": { + "description": "The namespace of the RabbitMQ cluster to reference. Defaults to the namespace of the requested resource if omitted.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "user": { + "description": "Name of an existing user; must provide user or userReference, else create/update will fail; cannot be updated.", + "type": "string" + }, + "userReference": { + "description": "Reference to an existing user.rabbitmq.com object; must provide user or userReference, else create/update will fail; cannot be updated.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, + "vhost": { + "description": "Name of an existing vhost; required property; cannot be updated.", + "type": "string" + } + }, + "required": [ + "permissions", + "rabbitmqClusterReference", + "vhost" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "TopicPermissionStatus defines the observed state of TopicPermission", + "properties": { + "conditions": { + "items": { + "properties": { + "lastTransitionTime": { + "description": "The last time this Condition status changed.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "Full text reason for current status of the condition.", + "type": "string" + }, + "reason": { + "description": "One word, camel-case reason for current status of the condition.", + "type": "string" + }, + "status": { + "description": "True, False, or Unknown", + "type": "string" + }, + "type": { + "description": "Type indicates the scope of the custom resource status addressed by the condition.", + "type": "string" + } + }, + "required": [ + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "observedGeneration is the most recent successful generation observed for this TopicPermission. It corresponds to the TopicPermission's generation, which is updated on mutation by the API Server.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object" +} diff --git a/rabbitmq.com/user_v1beta1.json b/rabbitmq.com/user_v1beta1.json old mode 100644 new mode 100755 index 775e2774..be0bf78d --- a/rabbitmq.com/user_v1beta1.json +++ b/rabbitmq.com/user_v1beta1.json @@ -24,13 +24,26 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that the user will be created for. This cluster must exist for the User object to be created.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -38,9 +51,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false }, @@ -111,14 +121,22 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "observedGeneration": { "description": "observedGeneration is the most recent successful generation observed for this User. It corresponds to the User's generation, which is updated on mutation by the API Server.", "format": "int64", "type": "integer" + }, + "username": { + "description": "Provide rabbitmq Username", + "type": "string" } }, + "required": [ + "username" + ], "type": "object", "additionalProperties": false } diff --git a/rabbitmq.com/vhost_v1beta1.json b/rabbitmq.com/vhost_v1beta1.json old mode 100644 new mode 100755 index 62dad818..85da918d --- a/rabbitmq.com/vhost_v1beta1.json +++ b/rabbitmq.com/vhost_v1beta1.json @@ -22,8 +22,20 @@ "rabbitmqClusterReference": { "description": "Reference to the RabbitmqCluster that the vhost will be created in. Required property.", "properties": { + "connectionSecret": { + "description": "Secret contains the http management uri for the RabbitMQ cluster. The Secret must contain the key `uri`, `username` and `password` or operator will error. Have to set either name or connectionSecret, but not both.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic", + "additionalProperties": false + }, "name": { - "description": "The name of the RabbitMQ cluster to reference.", + "description": "The name of the RabbitMQ cluster to reference. Have to set either name or connectionSecret, but not both.", "type": "string" }, "namespace": { @@ -31,9 +43,6 @@ "type": "string" } }, - "required": [ - "name" - ], "type": "object", "additionalProperties": false },