diff --git a/.github/workflows/e2e-test.yaml b/.github/workflows/e2e-test.yaml index 256c23722..0ecfe02b4 100644 --- a/.github/workflows/e2e-test.yaml +++ b/.github/workflows/e2e-test.yaml @@ -34,7 +34,7 @@ jobs: - name: Setup Helm uses: azure/setup-helm@v5 with: - version: '4.2.3' # renovate: datasource=github-releases depName=helm/helm + version: '4.2.4' # renovate: datasource=github-releases depName=helm/helm - name: Clean Go module cache run: | diff --git a/AGENTS.md b/AGENTS.md index a57c41cee..865a47e10 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -73,7 +73,7 @@ Uses Go workspaces with 5+ modules: ### Key Makefile Targets ```bash -make test # Run unit tests with envtest +make test # Run all local non-e2e tests across modules (uses envtest) make test-e2e # Run end-to-end tests make lint # Run golangci-lint across all modules make check # Run tests and linters @@ -88,7 +88,7 @@ make run # Run operator locally (outside cluster) ### Important Make Variables - `IMG` - Operator image name (default: `ghcr.io/adobe/koperator:latest`) -- `ENVTEST_K8S_VERSION` - Kubernetes version for tests (default: 1.31.x) +- `ENVTEST_K8S_VERSION` - Kubernetes version for envtest assets (default: 1.36.2) ## Development Workflows @@ -222,9 +222,12 @@ Owner references set: Framework: Standard Go testing + testify assertions ```bash -# Run all unit tests +# Run all local non-e2e tests across modules. This is the default test command agents should use. make test +# Run tests plus lint before handing off broader changes +make check + # Run specific package tests go test ./pkg/resources/kafka/... diff --git a/Dockerfile b/Dockerfile index 4c47dfce9..365318f78 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.26@sha256:2005724102f45917a63e9d092fc0e4ea56ea575048ce147caad5f5f61502c365 AS builder +FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.27@sha256:65b6f280bf050ec5af12716857e8ea8439d694dbba8f31ceeb7630670071f2bb AS builder ARG BUILDPLATFORM ARG TARGETPLATFORM diff --git a/Makefile b/Makefile index 86f6b9e53..4263c3459 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ RELEASE_MSG ?= "koperator release" REL_TAG = $(shell ./scripts/increment_version.sh -${RELEASE_TYPE} ${TAG}) # Version constants -GOLANGCI_VERSION = 2.12.2 # renovate: datasource=github-releases depName=golangci/golangci-lint +GOLANGCI_VERSION = 2.13.0 # renovate: datasource=github-releases depName=golangci/golangci-lint LICENSEI_VERSION = 0.9.0 # renovate: datasource=github-releases depName=goph/licensei CONTROLLER_GEN_VERSION = v0.21.0 # renovate: datasource=github-releases depName=kubernetes-sigs/controller-tools ENVTEST_K8S_VERSION = 1.36.2 # renovate: datasource=github-releases depName=kubernetes-sigs/controller-tools extractVersion=^envtest-v(?.+)$ diff --git a/config/overlays/auth-proxy-enabled/manager_auth_proxy_patch.yaml b/config/overlays/auth-proxy-enabled/manager_auth_proxy_patch.yaml index 9d5faddce..a58c4d549 100644 --- a/config/overlays/auth-proxy-enabled/manager_auth_proxy_patch.yaml +++ b/config/overlays/auth-proxy-enabled/manager_auth_proxy_patch.yaml @@ -10,7 +10,7 @@ spec: spec: containers: - name: kube-rbac-proxy - image: quay.io/brancz/kube-rbac-proxy:v0.20.0 # renovate: datasource=docker depName=quay.io/brancz/kube-rbac-proxy + image: quay.io/brancz/kube-rbac-proxy:v0.22.1 # renovate: datasource=docker depName=quay.io/brancz/kube-rbac-proxy args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/config/overlays/certmanager-with-auth-proxy/auth-proxy/manager_auth_proxy_patch.yaml b/config/overlays/certmanager-with-auth-proxy/auth-proxy/manager_auth_proxy_patch.yaml index 6595d548c..c6ccee07b 100644 --- a/config/overlays/certmanager-with-auth-proxy/auth-proxy/manager_auth_proxy_patch.yaml +++ b/config/overlays/certmanager-with-auth-proxy/auth-proxy/manager_auth_proxy_patch.yaml @@ -10,7 +10,7 @@ spec: spec: containers: - name: kube-rbac-proxy - image: quay.io/brancz/kube-rbac-proxy:v0.20.0 # renovate: datasource=docker depName=quay.io/brancz/kube-rbac-proxy + image: quay.io/brancz/kube-rbac-proxy:v0.22.1 # renovate: datasource=docker depName=quay.io/brancz/kube-rbac-proxy args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/config/samples/banzaicloud_v1beta1_kafkacluster.yaml b/config/samples/banzaicloud_v1beta1_kafkacluster.yaml index dd6f22095..863deb8f8 100644 --- a/config/samples/banzaicloud_v1beta1_kafkacluster.yaml +++ b/config/samples/banzaicloud_v1beta1_kafkacluster.yaml @@ -252,7 +252,7 @@ spec: #volumeMounts: # - mountPath: "/opt/kafka/libs/extra-jars" # name: "jars" - - image: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + - image: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka id: 1 config: | auto.create.topics.enable=false @@ -274,7 +274,7 @@ spec: readOnlyConfig: | auto.create.topics.enable=false brokerConfig: - image: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + image: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka storageConfigs: - mountPath: "/kafka-logs" pvcSpec: diff --git a/config/samples/kafkacluster-prometheus.yaml b/config/samples/kafkacluster-prometheus.yaml index cebe1f065..d5715129f 100644 --- a/config/samples/kafkacluster-prometheus.yaml +++ b/config/samples/kafkacluster-prometheus.yaml @@ -85,7 +85,7 @@ spec: storageClass: 'gp2' mountPath: '/kafkalog' diskSize: '10G' - image: 'ghcr.io/adobe/koperator/kafka:2.13-3.9.1' # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + image: 'ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11' # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka # annotations to be applied onto the broker pod # brokerAnnotations: '{ "sidecar.istio.io/logLevel": "trace", "sidecar.istio.io/proxyCPULimit": "50m" }' command: 'upScale' @@ -101,7 +101,7 @@ spec: storageClass: 'gp2' mountPath: '/kafkalog' diskSize: '10G' - image: 'ghcr.io/adobe/koperator/kafka:2.13-3.9.1' # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + image: 'ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11' # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka # annotations to be applied onto the broker pod # brokerAnnotations: '{ "sidecar.istio.io/logLevel": "trace", "sidecar.istio.io/proxyCPULimit": "50m" }' command: 'upScale' @@ -117,7 +117,7 @@ spec: storageClass: 'gp2' mountPath: '/kafkalog' diskSize: '10G' - image: 'ghcr.io/adobe/koperator/kafka:2.13-3.9.1' # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + image: 'ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11' # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka # annotations to be applied onto the broker pod # brokerAnnotations: '{ "sidecar.istio.io/logLevel": "trace", "sidecar.istio.io/proxyCPULimit": "50m" }' command: 'upScale' diff --git a/config/samples/kafkacluster_with_external_ssl.yaml b/config/samples/kafkacluster_with_external_ssl.yaml index 351f9ae3e..ae4d9f06e 100644 --- a/config/samples/kafkacluster_with_external_ssl.yaml +++ b/config/samples/kafkacluster_with_external_ssl.yaml @@ -10,7 +10,7 @@ spec: zkAddresses: - "zookeeper-server-client.zookeeper:2181" oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/kafkacluster_with_external_ssl_customcert.yaml b/config/samples/kafkacluster_with_external_ssl_customcert.yaml index 0878e81b2..2e6a0a0bd 100644 --- a/config/samples/kafkacluster_with_external_ssl_customcert.yaml +++ b/config/samples/kafkacluster_with_external_ssl_customcert.yaml @@ -10,7 +10,7 @@ spec: zkAddresses: - "zookeeper-server-client.zookeeper:2181" oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/kafkacluster_with_ssl_groups.yaml b/config/samples/kafkacluster_with_ssl_groups.yaml index 28ef69447..21398d70d 100644 --- a/config/samples/kafkacluster_with_ssl_groups.yaml +++ b/config/samples/kafkacluster_with_ssl_groups.yaml @@ -15,7 +15,7 @@ spec: - "failure-domain.beta.kubernetes.io/region" - "failure-domain.beta.kubernetes.io/zone" oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/kafkacluster_with_ssl_groups_customcert.yaml b/config/samples/kafkacluster_with_ssl_groups_customcert.yaml index 9fce99538..e832864e7 100644 --- a/config/samples/kafkacluster_with_ssl_groups_customcert.yaml +++ b/config/samples/kafkacluster_with_ssl_groups_customcert.yaml @@ -15,7 +15,7 @@ spec: - "failure-domain.beta.kubernetes.io/region" - "failure-domain.beta.kubernetes.io/zone" oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/kafkacluster_with_ssl_hybrid_customcert.yaml b/config/samples/kafkacluster_with_ssl_hybrid_customcert.yaml index d0a9bf95b..fe206a1fe 100644 --- a/config/samples/kafkacluster_with_ssl_hybrid_customcert.yaml +++ b/config/samples/kafkacluster_with_ssl_hybrid_customcert.yaml @@ -15,7 +15,7 @@ spec: - "failure-domain.beta.kubernetes.io/region" - "failure-domain.beta.kubernetes.io/zone" oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/kafkacluster_without_ssl.yaml b/config/samples/kafkacluster_without_ssl.yaml index c0fed87d2..1f2dc3fde 100644 --- a/config/samples/kafkacluster_without_ssl.yaml +++ b/config/samples/kafkacluster_without_ssl.yaml @@ -10,7 +10,7 @@ spec: zkAddresses: - "zookeeper-server-client.zookeeper:2181" oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/kafkacluster_without_ssl_groups.yaml b/config/samples/kafkacluster_without_ssl_groups.yaml index 9ff8cbb19..227c36f18 100644 --- a/config/samples/kafkacluster_without_ssl_groups.yaml +++ b/config/samples/kafkacluster_without_ssl_groups.yaml @@ -10,7 +10,7 @@ spec: zkAddresses: - "zookeeper-server-client.zookeeper:2181" oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/simplekafkacluster-with-brokerbindings.yaml b/config/samples/simplekafkacluster-with-brokerbindings.yaml index f0274e8b4..a1ca0a84d 100644 --- a/config/samples/simplekafkacluster-with-brokerbindings.yaml +++ b/config/samples/simplekafkacluster-with-brokerbindings.yaml @@ -11,7 +11,7 @@ spec: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/simplekafkacluster-with-nodeport-external.yaml b/config/samples/simplekafkacluster-with-nodeport-external.yaml index ca17e2799..2335c0cc2 100644 --- a/config/samples/simplekafkacluster-with-nodeport-external.yaml +++ b/config/samples/simplekafkacluster-with-nodeport-external.yaml @@ -11,7 +11,7 @@ spec: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/simplekafkacluster.yaml b/config/samples/simplekafkacluster.yaml index 0e8880591..157619f3d 100644 --- a/config/samples/simplekafkacluster.yaml +++ b/config/samples/simplekafkacluster.yaml @@ -8,13 +8,13 @@ spec: localDebugEnabled: true kRaft: false monitoringConfig: - jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.4.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent + jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.5.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent headlessServiceEnabled: false zkAddresses: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true @@ -85,7 +85,7 @@ spec: # limits: # cpu: 500m # memory: 1Gi - image: "adobe/cruise-control:3.0.3-adbe-20250804" # renovate: datasource=docker depName=adobe/cruise-control + image: "adobe/cruise-control:3.0.3-adbe-20260722" # renovate: datasource=docker depName=adobe/cruise-control config: | # Copyright 2017 LinkedIn Corp. Licensed under the BSD 2-Clause License (the "License"). See License in the project root for license information. # diff --git a/config/samples/simplekafkacluster_2disk.yaml b/config/samples/simplekafkacluster_2disk.yaml index d8e12b91d..1b03d6bb8 100644 --- a/config/samples/simplekafkacluster_2disk.yaml +++ b/config/samples/simplekafkacluster_2disk.yaml @@ -7,13 +7,13 @@ metadata: spec: kRaft: false monitoringConfig: - jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.4.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent + jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.5.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent headlessServiceEnabled: true zkAddresses: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true @@ -91,7 +91,7 @@ spec: # limits: # cpu: 500m # memory: 1Gi - image: "adobe/cruise-control:3.0.3-adbe-20250804" # renovate: datasource=docker depName=adobe/cruise-control + image: "adobe/cruise-control:3.0.3-adbe-20260722" # renovate: datasource=docker depName=adobe/cruise-control config: | # Copyright 2017 LinkedIn Corp. Licensed under the BSD 2-Clause License (the "License"). See License in the project root for license information. # diff --git a/config/samples/simplekafkacluster_4disk.yaml b/config/samples/simplekafkacluster_4disk.yaml index 76d156030..3ec92ffd4 100644 --- a/config/samples/simplekafkacluster_4disk.yaml +++ b/config/samples/simplekafkacluster_4disk.yaml @@ -7,13 +7,13 @@ metadata: spec: kRaft: false monitoringConfig: - jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.4.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent + jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.5.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent headlessServiceEnabled: true zkAddresses: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true @@ -105,7 +105,7 @@ spec: # limits: # cpu: 500m # memory: 1Gi - image: "adobe/cruise-control:3.0.3-adbe-20250804" # renovate: datasource=docker depName=adobe/cruise-control + image: "adobe/cruise-control:3.0.3-adbe-20260722" # renovate: datasource=docker depName=adobe/cruise-control config: | # Copyright 2017 LinkedIn Corp. Licensed under the BSD 2-Clause License (the "License"). See License in the project root for license information. # diff --git a/config/samples/simplekafkacluster_5broker.yaml b/config/samples/simplekafkacluster_5broker.yaml index fa26d253a..b9cdb31ce 100644 --- a/config/samples/simplekafkacluster_5broker.yaml +++ b/config/samples/simplekafkacluster_5broker.yaml @@ -7,13 +7,13 @@ metadata: spec: kRaft: false monitoringConfig: - jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.4.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent + jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.5.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent headlessServiceEnabled: true zkAddresses: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true @@ -88,7 +88,7 @@ spec: # limits: # cpu: 500m # memory: 1Gi - image: "adobe/cruise-control:3.0.3-adbe-20250804" # renovate: datasource=docker depName=adobe/cruise-control + image: "adobe/cruise-control:3.0.3-adbe-20260722" # renovate: datasource=docker depName=adobe/cruise-control config: | # Copyright 2017 LinkedIn Corp. Licensed under the BSD 2-Clause License (the "License"). See License in the project root for license information. # diff --git a/config/samples/simplekafkacluster_affinity.yaml b/config/samples/simplekafkacluster_affinity.yaml index 1292b8dd4..b23d5afd6 100644 --- a/config/samples/simplekafkacluster_affinity.yaml +++ b/config/samples/simplekafkacluster_affinity.yaml @@ -13,7 +13,7 @@ spec: # If true OneBrokerPerNode ensures that each kafka broker will be placed on a different node unless a custom # Affinity definition overrides this behavior either set in brokerConfigGroups or in one specific brokerConfig oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/simplekafkacluster_ebs_csi.yaml b/config/samples/simplekafkacluster_ebs_csi.yaml index 44e15f997..21c9a67ef 100644 --- a/config/samples/simplekafkacluster_ebs_csi.yaml +++ b/config/samples/simplekafkacluster_ebs_csi.yaml @@ -16,7 +16,7 @@ spec: zkPath: "/kafka" propagateLabels: true oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/simplekafkacluster_ssl.yaml b/config/samples/simplekafkacluster_ssl.yaml index a96c96ebc..4d7e42c83 100644 --- a/config/samples/simplekafkacluster_ssl.yaml +++ b/config/samples/simplekafkacluster_ssl.yaml @@ -11,7 +11,7 @@ spec: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/simplekafkacluster_with_contour.yaml b/config/samples/simplekafkacluster_with_contour.yaml index f5b8efd80..644147748 100644 --- a/config/samples/simplekafkacluster_with_contour.yaml +++ b/config/samples/simplekafkacluster_with_contour.yaml @@ -6,13 +6,13 @@ metadata: name: kafka spec: monitoringConfig: - jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.4.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent + jmxImage: "ghcr.io/adobe/koperator/jmx-javaagent:1.5.0" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/jmx-javaagent headlessServiceEnabled: true zkAddresses: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka ingressController: "contour" readOnlyConfig: | auto.create.topics.enable=false diff --git a/config/samples/simplekafkacluster_with_k8s_provided_nodeport.yaml b/config/samples/simplekafkacluster_with_k8s_provided_nodeport.yaml index 12f982452..d30c9d1ee 100644 --- a/config/samples/simplekafkacluster_with_k8s_provided_nodeport.yaml +++ b/config/samples/simplekafkacluster_with_k8s_provided_nodeport.yaml @@ -11,7 +11,7 @@ spec: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/config/samples/simplekafkacluster_with_sasl.yaml b/config/samples/simplekafkacluster_with_sasl.yaml index c3deee3e2..572ffd352 100644 --- a/config/samples/simplekafkacluster_with_sasl.yaml +++ b/config/samples/simplekafkacluster_with_sasl.yaml @@ -11,7 +11,7 @@ spec: - "zookeeper-server-client.zookeeper:2181" propagateLabels: false oneBrokerPerNode: false - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false cruise.control.metrics.topic.auto.create=true diff --git a/controllers/controller_common.go b/controllers/controller_common.go index c86d8810b..c0d0320a0 100644 --- a/controllers/controller_common.go +++ b/controllers/controller_common.go @@ -84,18 +84,15 @@ func checkBrokerConnectionError(logger logr.Logger, err error) (ctrl.Result, err switch { case errors.As(err, &errorfactory.BrokersUnreachable{}): return ctrl.Result{ - Requeue: true, RequeueAfter: time.Duration(15) * time.Second, }, nil case errors.As(err, &errorfactory.BrokersNotReady{}): return ctrl.Result{ - Requeue: true, RequeueAfter: time.Duration(15) * time.Second, }, nil case errors.As(err, &errorfactory.ResourceNotReady{}): logger.Info("Needed resource for broker connection not found, may not be ready") return ctrl.Result{ - Requeue: true, RequeueAfter: time.Duration(5) * time.Second, }, nil default: diff --git a/controllers/kafkacluster_controller.go b/controllers/kafkacluster_controller.go index 15daee703..314538703 100644 --- a/controllers/kafkacluster_controller.go +++ b/controllers/kafkacluster_controller.go @@ -269,7 +269,6 @@ func (r *KafkaClusterReconciler) checkFinalizers(ctx context.Context, cluster *v if len(childTopics.Items) > 0 { log.Info(fmt.Sprintf("Still waiting for the following topics to be deleted: %v", topicListToStrSlice(childTopics))) return ctrl.Result{ - Requeue: true, RequeueAfter: time.Duration(3) * time.Second, }, nil } @@ -304,7 +303,6 @@ func (r *KafkaClusterReconciler) checkFinalizers(ctx context.Context, cluster *v if errors.As(err, &errorfactory.ResourceNotReady{}) { log.Info("The PKI is not ready to be torn down") return ctrl.Result{ - Requeue: true, RequeueAfter: time.Duration(5) * time.Second, }, nil } diff --git a/controllers/kafkauser_controller.go b/controllers/kafkauser_controller.go index 243347a74..54c67774d 100644 --- a/controllers/kafkauser_controller.go +++ b/controllers/kafkauser_controller.go @@ -224,7 +224,6 @@ func (r *KafkaUserReconciler) Reconcile(ctx context.Context, request reconcile.R case errors.As(err, &errorfactory.ResourceNotReady{}): reqLogger.Info("generated secret not found, may not be ready") return ctrl.Result{ - Requeue: true, RequeueAfter: time.Duration(5) * time.Second, }, nil case errors.As(err, &errorfactory.FatalReconcileError{}): @@ -233,7 +232,6 @@ func (r *KafkaUserReconciler) Reconcile(ctx context.Context, request reconcile.R // The user can fix while this is looping and it will pick it up next reconcile attempt reqLogger.Error(err, "Fatal error attempting to reconcile the user certificate.") return ctrl.Result{ - Requeue: true, RequeueAfter: time.Duration(15) * time.Second, }, nil default: @@ -250,9 +248,7 @@ func (r *KafkaUserReconciler) Reconcile(ctx context.Context, request reconcile.R kafkaUser, err = user.GetDistinguishedName() if err != nil { reqLogger.Error(err, "could not get Distinguished Name from the generated TLS certificate", "cert", string(user.Certificate)) - return ctrl.Result{ - Requeue: false, - }, err + return ctrl.Result{}, err } // check if marked for deletion and remove created certs if k8sutil.IsMarkedForDeletion(instance.ObjectMeta) { diff --git a/docker/jmx_exporter/Dockerfile b/docker/jmx_exporter/Dockerfile index 0e31b22af..20e0d5cf9 100644 --- a/docker/jmx_exporter/Dockerfile +++ b/docker/jmx_exporter/Dockerfile @@ -1,6 +1,6 @@ ARG JMX_EXPORTER_VERSION=v1.6.0 # renovate: datasource=github-releases depName=prometheus/jmx_exporter -FROM maven:3-amazoncorretto-21@sha256:a7f84ee223e9b6a1ba462667cdb98e282adf79d02fbd1ad3091ad0bb2feff1d7 AS build +FROM maven:3-amazoncorretto-21@sha256:ae694e8f35dfdb3f74f70f5f5cb3290d64fc7179f11cd9f0d493851c024aec77 AS build ARG JMX_EXPORTER_VERSION # Install wget to download the release tarball diff --git a/docs/benchmarks/infrastructure/kafka.yaml b/docs/benchmarks/infrastructure/kafka.yaml index b9192b067..7ce9230df 100644 --- a/docs/benchmarks/infrastructure/kafka.yaml +++ b/docs/benchmarks/infrastructure/kafka.yaml @@ -10,7 +10,7 @@ spec: zkAddresses: - "zookeeper-server-client.zookeeper:2181" oneBrokerPerNode: true - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false rackAwareness: diff --git a/docs/benchmarks/infrastructure/kafka_202001_3brokers.yaml b/docs/benchmarks/infrastructure/kafka_202001_3brokers.yaml index 4c958b1ec..e21eb14ae 100644 --- a/docs/benchmarks/infrastructure/kafka_202001_3brokers.yaml +++ b/docs/benchmarks/infrastructure/kafka_202001_3brokers.yaml @@ -66,7 +66,7 @@ spec: zkAddresses: - "zookeeper-server-client.zookeeper:2181" oneBrokerPerNode: true - clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.1" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka + clusterImage: "ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11" # renovate: datasource=docker depName=ghcr.io/adobe/koperator/kafka readOnlyConfig: | auto.create.topics.enable=false min.insync.replicas=3 diff --git a/docs/examples/springboot-kafka-avro/Dockerfile b/docs/examples/springboot-kafka-avro/Dockerfile index 55cbdc2f1..5caafe5c0 100644 --- a/docs/examples/springboot-kafka-avro/Dockerfile +++ b/docs/examples/springboot-kafka-avro/Dockerfile @@ -1,4 +1,4 @@ -FROM maven:3.9-eclipse-temurin-21-alpine@sha256:d6390509b774df0a07d009a194a020aeff9c715afe1e3d2cd5ecb3bf6344700f as build +FROM maven:3.9-eclipse-temurin-21-alpine@sha256:d9690b76996b8117806b012c57883bbdcbe8c48fca0636166eeeeeff6e8e8afe as build # Set working directory WORKDIR /usr/src/myapp diff --git a/docs/examples/springboot-kafka-avro/pom.xml b/docs/examples/springboot-kafka-avro/pom.xml index cca93123f..b53f0d035 100644 --- a/docs/examples/springboot-kafka-avro/pom.xml +++ b/docs/examples/springboot-kafka-avro/pom.xml @@ -51,7 +51,7 @@ org.apache.avro avro - 1.12.1 + 1.12.2 io.confluent @@ -70,7 +70,7 @@ org.apache.avro avro-maven-plugin - 1.12.1 + 1.12.2 generate-sources diff --git a/hack/kafka-test-pod/Dockerfile b/hack/kafka-test-pod/Dockerfile index d7eff6ef3..222b83b36 100644 --- a/hack/kafka-test-pod/Dockerfile +++ b/hack/kafka-test-pod/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.26@sha256:2005724102f45917a63e9d092fc0e4ea56ea575048ce147caad5f5f61502c365 as builder +FROM golang:1.27@sha256:65b6f280bf050ec5af12716857e8ea8439d694dbba8f31ceeb7630670071f2bb as builder WORKDIR /workspace diff --git a/properties/pkg/utils.go b/properties/pkg/utils.go index 3cb08d3fb..3c8ca3f9d 100644 --- a/properties/pkg/utils.go +++ b/properties/pkg/utils.go @@ -45,8 +45,6 @@ func UnEscapeSeparators(s string) string { // Convert s string to slice of rune orig := []rune(s) - // Convert Separators to slice of rune - sep := []rune(Separators) // Create new slice holding the escaped string newSlice := make([]rune, 0) @@ -58,7 +56,7 @@ func UnEscapeSeparators(s string) string { // Set previous index by making sure that it's value is inbound prevIdx := Max(idx-1, 0) // Iterate over the separator characters. - for _, sp := range sep { + for _, sp := range Separators { // If there is a separator match and the previous is an escape character // then copy data up to the previous index to the new string then append // the current leaving out the previous character. @@ -90,8 +88,6 @@ func EscapeSeparators(s string) string { // Convert s string to slice of rune orig := []rune(s) - // Convert Separators to slice of rune - sep := []rune(Separators) // Create new slice holding the escaped string newSlice := make([]rune, 0) @@ -103,7 +99,7 @@ func EscapeSeparators(s string) string { // Set previous index by making sure that it's value is inbound prevIdx := Max(idx-1, 0) // Iterate over the separator characters - for _, sp := range sep { + for _, sp := range Separators { // If there is a separator match and the previous is not an escape character // then copy data up to the current index to the new string then append the // escape and the current characters. @@ -141,15 +137,13 @@ func GetSeparator(s string) (string, int, error) { // Convert s string to slice of rune r := []rune(s) - // Convert Separators to slice of rune - separators := []rune(Separators) // Iterate over the input string for idx, c := range r { // Avoid out of bound access prevIdx := Max(idx-1, 0) // Iterate over the list of separators - for _, sp := range separators { + for _, sp := range Separators { // If the current character is a separator and it is not escaped // than separator is found. if c == sp && r[prevIdx] != EscapeChar { diff --git a/scripts/install_kustomize.sh b/scripts/install_kustomize.sh index a8001a331..c01e166aa 100755 --- a/scripts/install_kustomize.sh +++ b/scripts/install_kustomize.sh @@ -14,7 +14,7 @@ # limitations under the License. -KUSTOMIZE_VERSION=3.1.0 # renovate: datasource=github-releases depName=kubernetes-sigs/kustomize extractVersion=^kustomize/v(?.+)$ +KUSTOMIZE_VERSION=3.10.0 # renovate: datasource=github-releases depName=kubernetes-sigs/kustomize extractVersion=^kustomize/v(?.+)$ opsys=$(echo "$(uname -s)" | awk '{print tolower($0)}') # download the release diff --git a/tests/e2e/templates/kcat.yaml.tmpl b/tests/e2e/templates/kcat.yaml.tmpl index 3855f7874..d90c25a0a 100644 --- a/tests/e2e/templates/kcat.yaml.tmpl +++ b/tests/e2e/templates/kcat.yaml.tmpl @@ -7,7 +7,7 @@ spec: serviceAccount: {{or .ServiceAccount "default"}} containers: - name: kafka-client - image: edenhill/kcat:1.7.0 # renovate: datasource=docker depName=edenhill/kcat + image: edenhill/kcat:1.7.1 # renovate: datasource=docker depName=edenhill/kcat # Just spin & wait forever command: [ "/bin/sh", "-c", "--" ] args: [ "while true; do sleep 3000; done;" ] diff --git a/tests/e2e/templates/zookeeper_cluster.yaml.tmpl b/tests/e2e/templates/zookeeper_cluster.yaml.tmpl index ceeb75a5d..aebf9f4c0 100644 --- a/tests/e2e/templates/zookeeper_cluster.yaml.tmpl +++ b/tests/e2e/templates/zookeeper_cluster.yaml.tmpl @@ -7,6 +7,6 @@ spec: replicas: {{ or .Replicas 1 }} image: repository: ghcr.io/adobe/zookeeper-operator/zookeeper - tag: 3.8.4-0.2.15-adobe-20250923 # renovate: datasource=docker depName=ghcr.io/adobe/zookeeper-operator/zookeeper + tag: 3.8.4-0.2.15-adobe-20260818 # renovate: datasource=docker depName=ghcr.io/adobe/zookeeper-operator/zookeeper persistence: reclaimPolicy: Delete diff --git a/tests/e2e/versions.go b/tests/e2e/versions.go index 95cb76511..67605d12b 100644 --- a/tests/e2e/versions.go +++ b/tests/e2e/versions.go @@ -22,11 +22,11 @@ const ( CertManagerVersion = "v1.21.1" // renovate: datasource=helm depName=cert-manager registryUrl=https://charts.jetstack.io // ContourVersion is the version of Contour ingress controller Helm chart - ContourVersion = "0.6.0" // renovate: datasource=helm depName=contour registryUrl=https://projectcontour.github.io/helm-charts + ContourVersion = "0.7.0" // renovate: datasource=helm depName=contour registryUrl=https://projectcontour.github.io/helm-charts // PrometheusOperatorVersion is the version of kube-prometheus-stack Helm chart - PrometheusOperatorVersion = "88.2.0" // renovate: datasource=helm depName=kube-prometheus-stack registryUrl=https://prometheus-community.github.io/helm-charts + PrometheusOperatorVersion = "88.5.0" // renovate: datasource=helm depName=kube-prometheus-stack registryUrl=https://prometheus-community.github.io/helm-charts // ZookeeperOperatorVersion is the version of zookeeper-operator - ZookeeperOperatorVersion = "0.2.15-adobe-20260423" // renovate: datasource=docker depName=ghcr.io/adobe/helm-charts/zookeeper-operator + ZookeeperOperatorVersion = "0.2.15-adobe-20260818" // renovate: datasource=docker depName=ghcr.io/adobe/helm-charts/zookeeper-operator ) diff --git a/third_party/github.com/banzaicloud/go-cruise-control/deploy/docker-compose.yml b/third_party/github.com/banzaicloud/go-cruise-control/deploy/docker-compose.yml index 22d034ff8..20b7d2d0d 100644 --- a/third_party/github.com/banzaicloud/go-cruise-control/deploy/docker-compose.yml +++ b/third_party/github.com/banzaicloud/go-cruise-control/deploy/docker-compose.yml @@ -1,6 +1,6 @@ services: zookeeper: - image: ghcr.io/adobe/zookeeper-operator/zookeeper:3.8.4-0.2.15-adobe-20250923@sha256:170e5b7a8e0156e414f18b9e2c4fa2331f80a3f587bab55ce28577e4d3d642b5 + image: ghcr.io/adobe/zookeeper-operator/zookeeper:3.8.4-0.2.15-adobe-20260818@sha256:ee0fe4635019797be3f55b3efd806dac307b2a95a4041735128c4fbef7494bbb restart: unless-stopped hostname: zookeeper container_name: zookeeper @@ -68,7 +68,7 @@ services: start_period: 30s kafka-0: - image: ghcr.io/adobe/koperator/kafka:2.13-3.9.1@sha256:279358e7bc789aba1e3457421e251278ec993a57d0ad2b9691274f1f3ddae134 + image: ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11@sha256:80c1f6074e4d305c353cd3f3e31fddceff140da8d4d95baec3ec007702c30b1e restart: unless-stopped user: root hostname: kafka-0 @@ -121,7 +121,7 @@ services: start_period: 30s kafka-1: - image: ghcr.io/adobe/koperator/kafka:2.13-3.9.1@sha256:279358e7bc789aba1e3457421e251278ec993a57d0ad2b9691274f1f3ddae134 + image: ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11@sha256:80c1f6074e4d305c353cd3f3e31fddceff140da8d4d95baec3ec007702c30b1e restart: unless-stopped user: root hostname: kafka-1 @@ -174,7 +174,7 @@ services: start_period: 30s kafka-2: - image: ghcr.io/adobe/koperator/kafka:2.13-3.9.1@sha256:279358e7bc789aba1e3457421e251278ec993a57d0ad2b9691274f1f3ddae134 + image: ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11@sha256:80c1f6074e4d305c353cd3f3e31fddceff140da8d4d95baec3ec007702c30b1e restart: unless-stopped user: root hostname: kafka-2 @@ -262,7 +262,7 @@ services: start_period: 30s producer: - image: ghcr.io/adobe/koperator/kafka:2.13-3.9.1@sha256:279358e7bc789aba1e3457421e251278ec993a57d0ad2b9691274f1f3ddae134 + image: ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11@sha256:80c1f6074e4d305c353cd3f3e31fddceff140da8d4d95baec3ec007702c30b1e restart: unless-stopped hostname: producer container_name: producer @@ -299,7 +299,7 @@ services: start_period: 30s consumer: - image: ghcr.io/adobe/koperator/kafka:2.13-3.9.1@sha256:279358e7bc789aba1e3457421e251278ec993a57d0ad2b9691274f1f3ddae134 + image: ghcr.io/adobe/koperator/kafka:2.13-3.9.2-jdk21.0.11@sha256:80c1f6074e4d305c353cd3f3e31fddceff140da8d4d95baec3ec007702c30b1e restart: unless-stopped hostname: consumer container_name: consumer diff --git a/third_party/github.com/banzaicloud/operator-tools/pkg/reconciler/component.go b/third_party/github.com/banzaicloud/operator-tools/pkg/reconciler/component.go index ae8b38bb8..a4e578e77 100644 --- a/third_party/github.com/banzaicloud/operator-tools/pkg/reconciler/component.go +++ b/third_party/github.com/banzaicloud/operator-tools/pkg/reconciler/component.go @@ -145,7 +145,7 @@ func (r *Dispatcher) Handle(object runtime.Object) (ctrl.Result, error) { if currentDeletionStatus != isBeingDeleted { // Requeue object so that we can start reconciling in inverse order - combinedResult.Combine(&reconcile.Result{Requeue: true, RequeueAfter: 0}, errors.New("object being deleted requeing object")) + combinedResult.CombineErr(errors.New("object being deleted requeing object")) break } diff --git a/third_party/github.com/banzaicloud/operator-tools/pkg/reconciler/resource.go b/third_party/github.com/banzaicloud/operator-tools/pkg/reconciler/resource.go index 4956941aa..c99391b6b 100644 --- a/third_party/github.com/banzaicloud/operator-tools/pkg/reconciler/resource.go +++ b/third_party/github.com/banzaicloud/operator-tools/pkg/reconciler/resource.go @@ -522,7 +522,6 @@ func (r *GenericResourceReconciler) ReconcileResource(desired runtime.Object, de return nil, errors.WrapIfWithDetails(err, "failed to delete current resource", resourceDetails...) } return &reconcile.Result{ - Requeue: true, RequeueAfter: time.Second * time.Duration(utils.PointerToInt32(r.Options.RecreateRequeueDelay)), }, nil } else {