From d043262b5a10610dc40f62acfdcbaeed06e3c8b0 Mon Sep 17 00:00:00 2001 From: Giovanni Feltrin Date: Mon, 20 Jul 2026 14:56:03 +0200 Subject: [PATCH] debezium/dbz#2251 Support priorityClassName in pod template Signed-off-by: Giovanni --- .../api/model/runtime/templates/PodTemplate.java | 14 +++++++++++++- .../core/dependent/DeploymentDependent.java | 1 + docs/reference.adoc | 1 + k8/debeziumservers.debezium.io-v1.yml | 4 ++++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/debezium-operator-api/src/main/java/io/debezium/operator/api/model/runtime/templates/PodTemplate.java b/debezium-operator-api/src/main/java/io/debezium/operator/api/model/runtime/templates/PodTemplate.java index 086b6956..f98abe97 100644 --- a/debezium-operator-api/src/main/java/io/debezium/operator/api/model/runtime/templates/PodTemplate.java +++ b/debezium-operator-api/src/main/java/io/debezium/operator/api/model/runtime/templates/PodTemplate.java @@ -19,7 +19,7 @@ import io.fabric8.kubernetes.api.model.PodSecurityContext; import io.fabric8.kubernetes.api.model.Toleration; -@JsonPropertyOrder({ "metadata", "imagePullSecrets", "affinity", "nodeSelector", "tolerations" }) +@JsonPropertyOrder({ "metadata", "imagePullSecrets", "affinity", "nodeSelector", "tolerations", "priorityClassName" }) @JsonInclude(JsonInclude.Include.NON_DEFAULT) @Documented public class PodTemplate implements HasMetadataTemplate, Serializable { @@ -53,6 +53,10 @@ public class PodTemplate implements HasMetadataTemplate, Serializable { @Documented.Field(k8Ref = "toleration-v1-core") private List tolerations = List.of(); + @JsonPropertyDescription("Name of the priority class used to assign a priority to the pod.") + @JsonInclude(JsonInclude.Include.NON_NULL) + private String priorityClassName; + @Override public MetadataTemplate getMetadata() { return metadata; @@ -102,4 +106,12 @@ public List getTolerations() { public void setTolerations(List tolerations) { this.tolerations = tolerations; } + + public String getPriorityClassName() { + return priorityClassName; + } + + public void setPriorityClassName(String priorityClassName) { + this.priorityClassName = priorityClassName; + } } diff --git a/debezium-operator-core/src/main/java/io/debezium/operator/core/dependent/DeploymentDependent.java b/debezium-operator-core/src/main/java/io/debezium/operator/core/dependent/DeploymentDependent.java index 15bd28d1..16b6229b 100644 --- a/debezium-operator-core/src/main/java/io/debezium/operator/core/dependent/DeploymentDependent.java +++ b/debezium-operator-core/src/main/java/io/debezium/operator/core/dependent/DeploymentDependent.java @@ -204,6 +204,7 @@ private void addTemplateConfigurationToPod(PodTemplate template, PodTemplateSpec podSpec.setImagePullSecrets(template.getImagePullSecrets()); podSpec.setNodeSelector(template.getNodeSelector()); podSpec.setTolerations(template.getTolerations()); + podSpec.setPriorityClassName(template.getPriorityClassName()); podMeta.getLabels().putAll(templateMeta.getLabels()); podMeta.getAnnotations().putAll(templateMeta.getAnnotations()); } diff --git a/docs/reference.adoc b/docs/reference.adoc index d6e8eddb..10c26ac6 100644 --- a/docs/reference.adoc +++ b/docs/reference.adoc @@ -434,6 +434,7 @@ Used in: <> | [[debezium-operator-schema-reference-podtemplate-securitycontext]]<> | https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podsecuritycontext-v1-core[`+PodSecurityContext+`] | | Pod-level security attributes and container settings | [[debezium-operator-schema-reference-podtemplate-nodeselector]]<> | Map | | NodeSelector is a selector which must be true for the pod to fit on a node. | [[debezium-operator-schema-reference-podtemplate-tolerations]]<> | https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core[`+List+`] | | Tolerations applied to the pod to allow scheduling on tainted nodes. +| [[debezium-operator-schema-reference-podtemplate-priorityclassname]]<> | String | | Name of the priority class used to assign a priority to the pod. |=== [#debezium-operator-schema-reference-predicate] diff --git a/k8/debeziumservers.debezium.io-v1.yml b/k8/debeziumservers.debezium.io-v1.yml index ecee469d..84de638b 100644 --- a/k8/debeziumservers.debezium.io-v1.yml +++ b/k8/debeziumservers.debezium.io-v1.yml @@ -1464,6 +1464,10 @@ spec: description: "NodeSelector is a selector which must be\ \ true for the pod to fit on a node." type: "object" + priorityClassName: + description: "Name of the priority class used to assign\ + \ a priority to the pod." + type: "string" securityContext: description: "Pod-level security attributes and container\ \ settings"