diff --git a/docs/api-reference.md b/docs/api-reference.md
index 52b4dbb8..0d3ceb18 100644
--- a/docs/api-reference.md
+++ b/docs/api-reference.md
@@ -234,6 +234,13 @@ Resource Types:
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -6017,6 +6024,13 @@ Subset of PodSecurityContext for basic UID, GID, and volume access control.
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -11835,6 +11849,13 @@ Subset of PodSecurityContext for basic UID, GID, and volume access control.
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -18992,6 +19013,13 @@ Service configuration.
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -31554,6 +31582,13 @@ Indicates if a StorageClass is used. The operator will create the StorageClass i
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -38728,6 +38763,13 @@ Service configuration.
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -51136,6 +51178,13 @@ Update strategy for the StatefulSet.
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -63420,6 +63469,13 @@ TLS configurations related to the ZooKeeper component.
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -70482,6 +70538,13 @@ Service configuration.
Match labels selectors to add to each pod.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
@@ -83099,6 +83162,13 @@ Resources requirements.
Configuration about the job that initializes the Pulsar cluster creating the needed ZooKeeper nodes.
false |
+
+ | minReadySeconds |
+ integer |
+
+ Min seconds to wait before considering the pod as ready.
+ |
+ false |
| nodeAffinity |
object |
diff --git a/helm/kaap/crds/autorecoveries.kaap.oss.datastax.com-v1.yml b/helm/kaap/crds/autorecoveries.kaap.oss.datastax.com-v1.yml
index 1fc6fd9f..81c23db3 100644
--- a/helm/kaap/crds/autorecoveries.kaap.oss.datastax.com-v1.yml
+++ b/helm/kaap/crds/autorecoveries.kaap.oss.datastax.com-v1.yml
@@ -671,6 +671,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
diff --git a/helm/kaap/crds/bastions.kaap.oss.datastax.com-v1.yml b/helm/kaap/crds/bastions.kaap.oss.datastax.com-v1.yml
index 24d98245..19cbb512 100644
--- a/helm/kaap/crds/bastions.kaap.oss.datastax.com-v1.yml
+++ b/helm/kaap/crds/bastions.kaap.oss.datastax.com-v1.yml
@@ -671,6 +671,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
diff --git a/helm/kaap/crds/bookkeepers.kaap.oss.datastax.com-v1.yml b/helm/kaap/crds/bookkeepers.kaap.oss.datastax.com-v1.yml
index b733eab6..9a6899bc 100644
--- a/helm/kaap/crds/bookkeepers.kaap.oss.datastax.com-v1.yml
+++ b/helm/kaap/crds/bookkeepers.kaap.oss.datastax.com-v1.yml
@@ -1452,6 +1452,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -3133,6 +3137,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the\
+ \ pod as ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
diff --git a/helm/kaap/crds/brokers.kaap.oss.datastax.com-v1.yml b/helm/kaap/crds/brokers.kaap.oss.datastax.com-v1.yml
index 86e1eeb1..761b69be 100644
--- a/helm/kaap/crds/brokers.kaap.oss.datastax.com-v1.yml
+++ b/helm/kaap/crds/brokers.kaap.oss.datastax.com-v1.yml
@@ -1452,6 +1452,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -3154,6 +3158,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the\
+ \ pod as ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
diff --git a/helm/kaap/crds/functionsworkers.kaap.oss.datastax.com-v1.yml b/helm/kaap/crds/functionsworkers.kaap.oss.datastax.com-v1.yml
index 425977f3..2c332546 100644
--- a/helm/kaap/crds/functionsworkers.kaap.oss.datastax.com-v1.yml
+++ b/helm/kaap/crds/functionsworkers.kaap.oss.datastax.com-v1.yml
@@ -1420,6 +1420,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
diff --git a/helm/kaap/crds/proxies.kaap.oss.datastax.com-v1.yml b/helm/kaap/crds/proxies.kaap.oss.datastax.com-v1.yml
index 74c2a820..0aa0f9e1 100644
--- a/helm/kaap/crds/proxies.kaap.oss.datastax.com-v1.yml
+++ b/helm/kaap/crds/proxies.kaap.oss.datastax.com-v1.yml
@@ -2276,6 +2276,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -3911,6 +3915,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the\
+ \ pod as ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
diff --git a/helm/kaap/crds/pulsarclusters.kaap.oss.datastax.com-v1.yml b/helm/kaap/crds/pulsarclusters.kaap.oss.datastax.com-v1.yml
index 958a2896..150c32a1 100644
--- a/helm/kaap/crds/pulsarclusters.kaap.oss.datastax.com-v1.yml
+++ b/helm/kaap/crds/pulsarclusters.kaap.oss.datastax.com-v1.yml
@@ -670,6 +670,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -2012,6 +2016,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -4140,6 +4148,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -5821,6 +5833,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the\
+ \ pod as ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -8830,6 +8846,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -10532,6 +10552,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the\
+ \ pod as ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -13418,6 +13442,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -16507,6 +16535,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -18142,6 +18174,10 @@ spec:
type: "string"
description: "Match labels selectors to add to each pod."
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the\
+ \ pod as ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
@@ -21192,6 +21228,10 @@ spec:
\ execution. Default value is 60."
type: "integer"
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
diff --git a/helm/kaap/crds/zookeepers.kaap.oss.datastax.com-v1.yml b/helm/kaap/crds/zookeepers.kaap.oss.datastax.com-v1.yml
index fa3396e9..b32835b5 100644
--- a/helm/kaap/crds/zookeepers.kaap.oss.datastax.com-v1.yml
+++ b/helm/kaap/crds/zookeepers.kaap.oss.datastax.com-v1.yml
@@ -2342,6 +2342,10 @@ spec:
\ execution. Default value is 60."
type: "integer"
type: "object"
+ minReadySeconds:
+ description: "Min seconds to wait before considering the pod as\
+ \ ready."
+ type: "integer"
nodeAffinity:
description: "Node affinity configuration."
properties:
diff --git a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/AutorecoverySpecGenerator.java b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/AutorecoverySpecGenerator.java
index 14b0f5dc..50522752 100644
--- a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/AutorecoverySpecGenerator.java
+++ b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/AutorecoverySpecGenerator.java
@@ -96,6 +96,7 @@ public void internalGenerateSpec() {
.imagePullPolicy(container.getImagePullPolicy())
.nodeSelectors(spec.getNodeSelector())
.replicas(deploymentSpec.getReplicas())
+ .minReadySeconds(deploymentSpec.getMinReadySeconds())
.nodeAffinity(nodeAffinity)
.labels(deployment.getMetadata().getLabels())
.podLabels(deploymentSpec.getTemplate().getMetadata().getLabels())
diff --git a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BastionSpecGenerator.java b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BastionSpecGenerator.java
index 77cce54d..c9ae3e08 100644
--- a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BastionSpecGenerator.java
+++ b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BastionSpecGenerator.java
@@ -98,6 +98,7 @@ public void internalGenerateSpec() {
.imagePullPolicy(container.getImagePullPolicy())
.nodeSelectors(spec.getNodeSelector())
.replicas(deploymentSpec.getReplicas())
+ .minReadySeconds(deploymentSpec.getMinReadySeconds())
.nodeAffinity(nodeAffinity)
.labels(deployment.getMetadata().getLabels())
.podLabels(deploymentSpec.getTemplate().getMetadata().getLabels())
diff --git a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BookKeeperSetSpecGenerator.java b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BookKeeperSetSpecGenerator.java
index 8b191c79..3ebb41a8 100644
--- a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BookKeeperSetSpecGenerator.java
+++ b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BookKeeperSetSpecGenerator.java
@@ -117,6 +117,7 @@ public void internalGenerateSpec() {
.imagePullPolicy(container.getImagePullPolicy())
.nodeSelectors(spec.getNodeSelector())
.replicas(statefulSetSpec.getReplicas())
+ .minReadySeconds(statefulSetSpec.getMinReadySeconds())
.probes(createProbeConfig(container))
.nodeAffinity(nodeAffinity)
.pdb(podDisruptionBudgetConfig)
diff --git a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BrokerSetSpecGenerator.java b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BrokerSetSpecGenerator.java
index 9b54da5b..4b2a1224 100644
--- a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BrokerSetSpecGenerator.java
+++ b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/BrokerSetSpecGenerator.java
@@ -120,6 +120,7 @@ public void internalGenerateSpec() {
.imagePullPolicy(container.getImagePullPolicy())
.nodeSelectors(spec.getNodeSelector())
.replicas(statefulSetSpec.getReplicas())
+ .minReadySeconds(statefulSetSpec.getMinReadySeconds())
.probes(createBrokerProbeConfig(container))
.nodeAffinity(nodeAffinity)
.pdb(podDisruptionBudgetConfig)
diff --git a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/FunctionsWorkerSpecGenerator.java b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/FunctionsWorkerSpecGenerator.java
index 137276f9..6a692027 100644
--- a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/FunctionsWorkerSpecGenerator.java
+++ b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/FunctionsWorkerSpecGenerator.java
@@ -121,6 +121,7 @@ public void internalGenerateSpec() {
.imagePullPolicy(mainContainer.getImagePullPolicy())
.nodeSelectors(spec.getNodeSelector())
.replicas(statefulSetSpec.getReplicas())
+ .minReadySeconds(statefulSetSpec.getMinReadySeconds())
.nodeAffinity(nodeAffinity)
.probes(createProbeConfig(mainContainer))
.labels(statefulSet.getMetadata().getLabels())
diff --git a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/ProxySetSpecGenerator.java b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/ProxySetSpecGenerator.java
index f04803a3..2b14743c 100644
--- a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/ProxySetSpecGenerator.java
+++ b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/ProxySetSpecGenerator.java
@@ -122,6 +122,7 @@ public void internalGenerateSpec() {
.imagePullPolicy(mainContainer.getImagePullPolicy())
.nodeSelectors(spec.getNodeSelector())
.replicas(deploymentSpec.getReplicas())
+ .minReadySeconds(deploymentSpec.getMinReadySeconds())
.nodeAffinity(nodeAffinity)
.probes(createProbeConfig(mainContainer))
.labels(deployment.getMetadata().getLabels())
diff --git a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/ZooKeeperSpecGenerator.java b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/ZooKeeperSpecGenerator.java
index 3a093c1c..16595f78 100644
--- a/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/ZooKeeperSpecGenerator.java
+++ b/migration-tool/src/main/java/com/datastax/oss/kaap/migrationtool/specs/ZooKeeperSpecGenerator.java
@@ -114,6 +114,7 @@ public void internalGenerateSpec() {
.imagePullPolicy(container.getImagePullPolicy())
.nodeSelectors(spec.getNodeSelector())
.replicas(statefulSetSpec.getReplicas())
+ .minReadySeconds(statefulSetSpec.getMinReadySeconds())
.probes(createProbeConfig(container))
.nodeAffinity(nodeAffinity)
.pdb(podDisruptionBudgetConfig)
diff --git a/operator/src/main/java/com/datastax/oss/kaap/controllers/autorecovery/AutorecoveryResourcesFactory.java b/operator/src/main/java/com/datastax/oss/kaap/controllers/autorecovery/AutorecoveryResourcesFactory.java
index ae884785..e1335f5e 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/controllers/autorecovery/AutorecoveryResourcesFactory.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/controllers/autorecovery/AutorecoveryResourcesFactory.java
@@ -192,6 +192,7 @@ public void patchDeployment() {
.endMetadata()
.withNewSpec()
.withReplicas(spec.getReplicas())
+ .withMinReadySeconds(spec.getMinReadySeconds())
.withNewSelector()
.withMatchLabels(getMatchLabels(spec.getMatchLabels()))
.endSelector()
diff --git a/operator/src/main/java/com/datastax/oss/kaap/controllers/bastion/BastionResourcesFactory.java b/operator/src/main/java/com/datastax/oss/kaap/controllers/bastion/BastionResourcesFactory.java
index f412e858..62628c83 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/controllers/bastion/BastionResourcesFactory.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/controllers/bastion/BastionResourcesFactory.java
@@ -176,6 +176,7 @@ public void patchDeployment() {
.endMetadata()
.withNewSpec()
.withReplicas(spec.getReplicas())
+ .withMinReadySeconds(spec.getMinReadySeconds())
.withNewSelector()
.withMatchLabels(getMatchLabels(spec.getMatchLabels()))
.endSelector()
diff --git a/operator/src/main/java/com/datastax/oss/kaap/controllers/bookkeeper/BookKeeperResourcesFactory.java b/operator/src/main/java/com/datastax/oss/kaap/controllers/bookkeeper/BookKeeperResourcesFactory.java
index d596179a..4d8ae54c 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/controllers/bookkeeper/BookKeeperResourcesFactory.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/controllers/bookkeeper/BookKeeperResourcesFactory.java
@@ -347,6 +347,7 @@ public StatefulSet generateStatefulSet() {
.withNewSpec()
.withServiceName(resourceName)
.withReplicas(spec.getReplicas())
+ .withMinReadySeconds(spec.getMinReadySeconds())
.withNewSelector()
.withMatchLabels(getMatchLabels(spec.getMatchLabels()))
.endSelector()
diff --git a/operator/src/main/java/com/datastax/oss/kaap/controllers/broker/BrokerResourcesFactory.java b/operator/src/main/java/com/datastax/oss/kaap/controllers/broker/BrokerResourcesFactory.java
index 819f9da5..1e0f78ae 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/controllers/broker/BrokerResourcesFactory.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/controllers/broker/BrokerResourcesFactory.java
@@ -410,6 +410,7 @@ public StatefulSet generateStatefulSet() {
.withNewSpec()
.withServiceName(resourceName)
.withReplicas(spec.getReplicas())
+ .withMinReadySeconds(spec.getMinReadySeconds())
.withNewSelector()
.withMatchLabels(getMatchLabels(spec.getMatchLabels()))
.endSelector()
diff --git a/operator/src/main/java/com/datastax/oss/kaap/controllers/function/FunctionsWorkerResourcesFactory.java b/operator/src/main/java/com/datastax/oss/kaap/controllers/function/FunctionsWorkerResourcesFactory.java
index 0d1db804..8e1da127 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/controllers/function/FunctionsWorkerResourcesFactory.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/controllers/function/FunctionsWorkerResourcesFactory.java
@@ -494,6 +494,7 @@ public StatefulSet generateStatefulSet() {
.withNewSpec()
.withServiceName(resourceName)
.withReplicas(spec.getReplicas())
+ .withMinReadySeconds(spec.getMinReadySeconds())
.withNewSelector()
.withMatchLabels(getMatchLabels(spec.getMatchLabels()))
.endSelector()
diff --git a/operator/src/main/java/com/datastax/oss/kaap/controllers/proxy/ProxyResourcesFactory.java b/operator/src/main/java/com/datastax/oss/kaap/controllers/proxy/ProxyResourcesFactory.java
index d9345a47..8abf1c01 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/controllers/proxy/ProxyResourcesFactory.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/controllers/proxy/ProxyResourcesFactory.java
@@ -530,6 +530,7 @@ public void patchDeployment() {
.endMetadata()
.withNewSpec()
.withReplicas(spec.getReplicas())
+ .withMinReadySeconds(spec.getMinReadySeconds())
.withNewSelector()
.withMatchLabels(getMatchLabels(spec.getMatchLabels()))
.endSelector()
diff --git a/operator/src/main/java/com/datastax/oss/kaap/controllers/zookeeper/ZooKeeperResourcesFactory.java b/operator/src/main/java/com/datastax/oss/kaap/controllers/zookeeper/ZooKeeperResourcesFactory.java
index 7970e50c..aeff7cf7 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/controllers/zookeeper/ZooKeeperResourcesFactory.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/controllers/zookeeper/ZooKeeperResourcesFactory.java
@@ -345,6 +345,7 @@ public void patchStatefulSet() {
.withNewSpec()
.withServiceName(resourceName)
.withReplicas(spec.getReplicas())
+ .withMinReadySeconds(spec.getMinReadySeconds())
.withNewSelector()
.withMatchLabels(matchLabels)
.endSelector()
diff --git a/operator/src/main/java/com/datastax/oss/kaap/crds/BaseComponentSpec.java b/operator/src/main/java/com/datastax/oss/kaap/crds/BaseComponentSpec.java
index 50213cfd..b422e66c 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/crds/BaseComponentSpec.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/crds/BaseComponentSpec.java
@@ -51,6 +51,8 @@ public abstract class BaseComponentSpec extends ValidableSpec implements W
private PodDisruptionBudgetConfig pdb;
@JsonPropertyDescription("Mount additional volumes to the pod.")
private AdditionalVolumesConfig additionalVolumes;
+ @JsonPropertyDescription(CRDConstants.DOC_MIN_READY_SECONDS)
+ private Integer minReadySeconds;
@JsonPropertyDescription(CRDConstants.DOC_TOLERATIONS)
private List tolerations;
@JsonPropertyDescription(CRDConstants.DOC_NODE_AFFINITY)
diff --git a/operator/src/main/java/com/datastax/oss/kaap/crds/CRDConstants.java b/operator/src/main/java/com/datastax/oss/kaap/crds/CRDConstants.java
index 3a510947..dbbd028e 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/crds/CRDConstants.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/crds/CRDConstants.java
@@ -46,6 +46,7 @@ public final class CRDConstants {
public static final String DOC_POD_MATCH_LABELS = "Match labels selectors to add to each pod.";
public static final String DOC_CONFIG = "Configuration.";
public static final String DOC_REPLICAS = "Number of desired replicas.";
+ public static final String DOC_MIN_READY_SECONDS = "Min seconds to wait before considering the pod as ready.";
public static final String DOC_GRACE_PERIOD = "Termination grace period in seconds.";
public static final String DOC_RESOURCES = "Resources requirements.";
public static final String DOC_TOLERATIONS = "Pod tolerations.";
diff --git a/operator/src/main/java/com/datastax/oss/kaap/crds/autorecovery/AutorecoverySpec.java b/operator/src/main/java/com/datastax/oss/kaap/crds/autorecovery/AutorecoverySpec.java
index 13575b3f..45c51907 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/crds/autorecovery/AutorecoverySpec.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/crds/autorecovery/AutorecoverySpec.java
@@ -67,6 +67,8 @@ public class AutorecoverySpec extends ValidableSpec implements
protected Map config;
@JsonPropertyDescription(CRDConstants.DOC_REPLICAS)
protected Integer replicas;
+ @JsonPropertyDescription(CRDConstants.DOC_MIN_READY_SECONDS)
+ private Integer minReadySeconds;
@JsonPropertyDescription(CRDConstants.DOC_ANNOTATIONS)
private Map annotations;
@JsonPropertyDescription(CRDConstants.DOC_POD_ANNOTATIONS)
diff --git a/operator/src/main/java/com/datastax/oss/kaap/crds/bastion/BastionSpec.java b/operator/src/main/java/com/datastax/oss/kaap/crds/bastion/BastionSpec.java
index 597447c6..71b11d3d 100644
--- a/operator/src/main/java/com/datastax/oss/kaap/crds/bastion/BastionSpec.java
+++ b/operator/src/main/java/com/datastax/oss/kaap/crds/bastion/BastionSpec.java
@@ -67,6 +67,8 @@ public class BastionSpec extends ValidableSpec implements WithDefau
protected Map config;
@JsonPropertyDescription(CRDConstants.DOC_REPLICAS)
protected Integer replicas;
+ @JsonPropertyDescription(CRDConstants.DOC_MIN_READY_SECONDS)
+ private Integer minReadySeconds;
@JsonPropertyDescription(CRDConstants.DOC_ANNOTATIONS)
private Map annotations;
@JsonPropertyDescription(CRDConstants.DOC_POD_ANNOTATIONS)