From 1c881f55757fa768b085bbff234ecf0dc80e9a87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Oct 2025 08:45:51 +0100 Subject: [PATCH 1/6] chore(deps): bump com.github.ben-manes.caffeine:caffeine (#3025) Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.2 to 3.2.3. - [Release notes](https://github.com/ben-manes/caffeine/releases) - [Commits](https://github.com/ben-manes/caffeine/compare/v3.2.2...v3.2.3) --- updated-dependencies: - dependency-name: com.github.ben-manes.caffeine:caffeine dependency-version: 3.2.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 303c11f79b..ca4dd282d6 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ 4.3.0 2.7.3 1.15.5 - 3.2.2 + 3.2.3 0.9.14 2.20.0 4.16 From ad55db8fafe59a053b9636549a7fc3d099c87dc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Mon, 3 Nov 2025 15:29:36 +0100 Subject: [PATCH 2/6] improve: marking long running tests as integration test (#3028) --- .../{BootstrapperTest.java => BootstrapperIT.java} | 4 ++-- .../operator/{OperatorTest.java => OperatorIT.java} | 3 ++- ...rExtensionTest.java => LocallyRunOperatorExtensionIT.java} | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) rename bootstrapper-maven-plugin/src/test/java/io/javaoperatorsdk/bootstrapper/{BootstrapperTest.java => BootstrapperIT.java} (96%) rename operator-framework-core/src/test/java/io/javaoperatorsdk/operator/{OperatorTest.java => OperatorIT.java} (99%) rename operator-framework-junit5/src/test/java/io/javaoperatorsdk/operator/junit/{LocallyRunOperatorExtensionTest.java => LocallyRunOperatorExtensionIT.java} (95%) diff --git a/bootstrapper-maven-plugin/src/test/java/io/javaoperatorsdk/bootstrapper/BootstrapperTest.java b/bootstrapper-maven-plugin/src/test/java/io/javaoperatorsdk/bootstrapper/BootstrapperIT.java similarity index 96% rename from bootstrapper-maven-plugin/src/test/java/io/javaoperatorsdk/bootstrapper/BootstrapperTest.java rename to bootstrapper-maven-plugin/src/test/java/io/javaoperatorsdk/bootstrapper/BootstrapperIT.java index f7840c1585..ec1399fcf8 100644 --- a/bootstrapper-maven-plugin/src/test/java/io/javaoperatorsdk/bootstrapper/BootstrapperTest.java +++ b/bootstrapper-maven-plugin/src/test/java/io/javaoperatorsdk/bootstrapper/BootstrapperIT.java @@ -13,9 +13,9 @@ import static org.assertj.core.api.Assertions.assertThat; -class BootstrapperTest { +class BootstrapperIT { - private static final Logger log = LoggerFactory.getLogger(BootstrapperTest.class); + private static final Logger log = LoggerFactory.getLogger(BootstrapperIT.class); Bootstrapper bootstrapper = new Bootstrapper(); diff --git a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/OperatorTest.java b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/OperatorIT.java similarity index 99% rename from operator-framework-core/src/test/java/io/javaoperatorsdk/operator/OperatorTest.java rename to operator-framework-core/src/test/java/io/javaoperatorsdk/operator/OperatorIT.java index 39fc98f6b0..42309d5c44 100644 --- a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/OperatorTest.java +++ b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/OperatorIT.java @@ -15,7 +15,8 @@ import static org.junit.jupiter.api.Assertions.*; @SuppressWarnings("rawtypes") -class OperatorTest { +class OperatorIT { + @Test void shouldBePossibleToRetrieveNumberOfRegisteredControllers() { final var operator = new Operator(); diff --git a/operator-framework-junit5/src/test/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtensionTest.java b/operator-framework-junit5/src/test/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtensionIT.java similarity index 95% rename from operator-framework-junit5/src/test/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtensionTest.java rename to operator-framework-junit5/src/test/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtensionIT.java index 04ac7a91ae..e195ce8406 100644 --- a/operator-framework-junit5/src/test/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtensionTest.java +++ b/operator-framework-junit5/src/test/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtensionIT.java @@ -9,7 +9,7 @@ import static org.junit.jupiter.api.Assertions.*; -class LocallyRunOperatorExtensionTest { +class LocallyRunOperatorExtensionIT { @Test void getAdditionalCRDsFromFiles() { From f350562b455278756d9ad8402096686e1db472cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Nov 2025 14:03:47 +0100 Subject: [PATCH 3/6] chore(deps): bump io.micrometer:micrometer-core from 1.15.5 to 1.16.0 (#3033) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ca4dd282d6..12613ea0c5 100644 --- a/pom.xml +++ b/pom.xml @@ -63,7 +63,7 @@ 3.27.6 4.3.0 2.7.3 - 1.15.5 + 1.16.0 3.2.3 0.9.14 2.20.0 From c27b0c6b868095b18caaf68a6e887d9e6b096075 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 04:37:46 +0100 Subject: [PATCH 4/6] chore(deps): bump commons-io:commons-io from 2.20.0 to 2.21.0 (#3035) Bumps [commons-io:commons-io](https://github.com/apache/commons-io) from 2.20.0 to 2.21.0. - [Changelog](https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt) - [Commits](https://github.com/apache/commons-io/compare/rel/commons-io-2.20.0...rel/commons-io-2.21.0) --- updated-dependencies: - dependency-name: commons-io:commons-io dependency-version: 2.21.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bootstrapper-maven-plugin/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bootstrapper-maven-plugin/pom.xml b/bootstrapper-maven-plugin/pom.xml index 5952379112..a55636840b 100644 --- a/bootstrapper-maven-plugin/pom.xml +++ b/bootstrapper-maven-plugin/pom.xml @@ -58,7 +58,7 @@ commons-io commons-io - 2.20.0 + 2.21.0 com.github.spullara.mustache.java diff --git a/pom.xml b/pom.xml index 12613ea0c5..6391b298dc 100644 --- a/pom.xml +++ b/pom.xml @@ -66,7 +66,7 @@ 1.16.0 3.2.3 0.9.14 - 2.20.0 + 2.21.0 4.16 2.11 From 6eb248689aec7ef542dab002a4077b90b1151793 Mon Sep 17 00:00:00 2001 From: Steven Hawkins Date: Wed, 12 Nov 2025 14:53:04 -0500 Subject: [PATCH 5/6] fix: checking for null to avoid NPE with SSA matching (#3037) closes: #3034 Signed-off-by: Steve Hawkins --- ...BasedGenericKubernetesResourceMatcher.java | 9 + ...dGenericKubernetesResourceMatcherTest.java | 23 + ...atefulset-with-managed-fields-missing.yaml | 435 ++++++++++++++++++ 3 files changed, 467 insertions(+) create mode 100644 operator-framework-core/src/test/resources/io/javaoperatorsdk/operator/processing/dependent/kubernetes/statefulset-with-managed-fields-missing.yaml diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java index 4954dfd17a..6b8c829908 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java @@ -320,6 +320,10 @@ private static void handleListKeyEntrySet( result.put(keyInActual, valueList); var actualValueList = (List>) actualMap.get(keyInActual); + if (actualValueList == null) { + return; + } + var targetValuesByIndex = new TreeMap>(); var managedEntryByIndex = new HashMap>(); @@ -396,6 +400,11 @@ private static void handleSetValues( continue; } var values = (List) actualMap.get(keyInActual); + + if (values == null || values.isEmpty()) { + continue; + } + var targetClass = (values.get(0) instanceof Map) ? null : values.get(0).getClass(); var value = parseKeyValue(keyWithoutPrefix(valueEntry.getKey()), targetClass, objectMapper); valueList.add(value); diff --git a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcherTest.java b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcherTest.java index e441516d46..185ff73e93 100644 --- a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcherTest.java +++ b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcherTest.java @@ -49,6 +49,29 @@ void setup() { when(mockedContext.getControllerConfiguration()).thenReturn(controllerConfiguration); } + @Test + void statefulSetWithMissingManagedField() { + var actual = loadResource("statefulset-with-managed-fields-missing.yaml", StatefulSet.class); + var desired = + actual + .edit() + .editMetadata() + .withManagedFields(List.of()) + .endMetadata() + .editSpec() + .editTemplate() + .editSpec() + .editFirstContainer() + .withImage("new") + .endContainer() + .endSpec() + .endTemplate() + .endSpec() + .build(); + + assertThat(matcher.matches(actual, desired, mockedContext)).isFalse(); + } + @Test void noMatchWhenNoMatchingController() { var desired = loadResource("nginx-deployment.yaml", Deployment.class); diff --git a/operator-framework-core/src/test/resources/io/javaoperatorsdk/operator/processing/dependent/kubernetes/statefulset-with-managed-fields-missing.yaml b/operator-framework-core/src/test/resources/io/javaoperatorsdk/operator/processing/dependent/kubernetes/statefulset-with-managed-fields-missing.yaml new file mode 100644 index 0000000000..47dd31b0c1 --- /dev/null +++ b/operator-framework-core/src/test/resources/io/javaoperatorsdk/operator/processing/dependent/kubernetes/statefulset-with-managed-fields-missing.yaml @@ -0,0 +1,435 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + annotations: + operator.keycloak.org/migrating: "false" + operator.keycloak.org/missing-secrets: "false" + operator.keycloak.org/watching-secrets: companyname-keycloak-the-keycloak-name-initial-admin;companyname-keycloak-the-keycloak-name-postgres-app;ldap-ca-certificates + creationTimestamp: "2025-10-17T16:13:16Z" + generation: 1 + labels: + app: keycloak + app.kubernetes.io/instance: companyname-keycloak-the-keycloak-name + app.kubernetes.io/managed-by: keycloak-operator + name: companyname-keycloak-the-keycloak-name + namespace: ns + ownerReferences: + - apiVersion: k8s.keycloak.org/v2alpha1 + kind: Keycloak + name: companyname-keycloak-the-keycloak-name + uid: 7b72f87b-c6d4-46a0-a7ca-7e10e0b47c0e + resourceVersion: "1722442060" + uid: 03f0d845-92d2-4c4a-8a68-bb495f5e55c0 + managedFields: + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + f:operator.keycloak.org/migrating: {} + f:operator.keycloak.org/missing-secrets: {} + f:operator.keycloak.org/watching-secrets: {} + f:labels: + f:app: {} + f:app.kubernetes.io/instance: {} + f:app.kubernetes.io/managed-by: {} + f:ownerReferences: + k:{"uid":"7b72f87b-c6d4-46a0-a7ca-7e10e0b47c0e"}: {} + f:spec: + f:replicas: {} + f:selector: {} + f:serviceName: {} + f:template: + f:metadata: + f:annotations: + f:operator.keycloak.org/watched-secret-hash: {} + f:labels: + f:app: {} + f:app.kubernetes.io/component: {} + f:app.kubernetes.io/instance: {} + f:app.kubernetes.io/managed-by: {} + f:spec: + f:containers: + k:{"name":"keycloak"}: + .: {} + f:args: {} + f:env: + k:{"name":"KC_BOOTSTRAP_ADMIN_PASSWORD"}: + .: {} + f:name: {} + f:valueFrom: + f:secretKeyRef: {} + k:{"name":"KC_BOOTSTRAP_ADMIN_USERNAME"}: + .: {} + f:name: {} + f:valueFrom: + f:secretKeyRef: {} + k:{"name":"KC_CACHE"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_DB"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_DB_PASSWORD"}: + .: {} + f:name: {} + f:valueFrom: + f:secretKeyRef: {} + k:{"name":"KC_DB_SCHEMA"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_DB_URL_DATABASE"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_DB_URL_HOST"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_DB_USERNAME"}: + .: {} + f:name: {} + f:valueFrom: + f:secretKeyRef: {} + k:{"name":"KC_HEALTH_ENABLED"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_HOSTNAME"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_HTTP_ENABLED"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_HTTP_PORT"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_HTTPS_PORT"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_METRICS_ENABLED"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_PROXY_HEADERS"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_SPI_CACHE_EMBEDDED_DEFAULT_MACHINE_NAME"}: + .: {} + f:name: {} + f:valueFrom: + f:fieldRef: {} + k:{"name":"KC_TRACING_RESOURCE_ATTRIBUTES"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_TRACING_SERVICE_NAME"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KC_TRUSTSTORE_PATHS"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"KCKEY_METRICS_ENABLED"}: + .: {} + f:name: {} + f:value: {} + k:{"name":"POD_IP"}: + .: {} + f:name: {} + f:valueFrom: + f:fieldRef: {} + f:image: {} + f:imagePullPolicy: {} + f:livenessProbe: + f:failureThreshold: {} + f:httpGet: + f:path: {} + f:port: {} + f:scheme: {} + f:periodSeconds: {} + f:name: {} + f:ports: + k:{"containerPort":8080,"protocol":"TCP"}: + .: {} + f:containerPort: {} + f:name: {} + f:protocol: {} + k:{"containerPort":8443,"protocol":"TCP"}: + .: {} + f:containerPort: {} + f:name: {} + f:protocol: {} + k:{"containerPort":9000,"protocol":"TCP"}: + .: {} + f:containerPort: {} + f:name: {} + f:protocol: {} + f:readinessProbe: + f:failureThreshold: {} + f:httpGet: + f:path: {} + f:port: {} + f:scheme: {} + f:periodSeconds: {} + f:resources: + f:claims: + k:{"name":"keycloak"}: + .: {} + f:name: {} + f:request: {} + f:limits: + f:memory: {} + f:requests: + f:cpu: {} + f:memory: {} + f:startupProbe: + f:failureThreshold: {} + f:httpGet: + f:path: {} + f:port: {} + f:scheme: {} + f:periodSeconds: {} + f:volumeMounts: + k:{"mountPath":"/opt/keycloak/conf/truststores/secret-ldap-ca-certificates"}: + .: {} + f:mountPath: {} + f:name: {} + f:dnsPolicy: {} + f:restartPolicy: {} + f:terminationGracePeriodSeconds: {} + f:topologySpreadConstraints: + k:{"topologyKey":"kubernetes.io/hostname","whenUnsatisfiable":"ScheduleAnyway"}: + .: {} + f:labelSelector: {} + f:maxSkew: {} + f:topologyKey: {} + f:whenUnsatisfiable: {} + k:{"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway"}: + .: {} + f:labelSelector: {} + f:maxSkew: {} + f:topologyKey: {} + f:whenUnsatisfiable: {} + f:volumes: + k:{"name":"truststore-secret-ldap-ca-certificates"}: + .: {} + f:name: {} + f:secret: + f:secretName: {} + manager: controller + operation: Apply + time: "2025-10-17T16:13:16Z" + - apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + f:status: + f:availableReplicas: {} + f:collisionCount: {} + f:currentReplicas: {} + f:currentRevision: {} + f:observedGeneration: {} + f:readyReplicas: {} + f:replicas: {} + f:updateRevision: {} + f:updatedReplicas: {} + manager: kube-controller-manager + operation: Update + subresource: status + time: "2025-11-01T22:35:47Z" +spec: + persistentVolumeClaimRetentionPolicy: + whenDeleted: Retain + whenScaled: Retain + podManagementPolicy: OrderedReady + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + app: keycloak + app.kubernetes.io/instance: companyname-keycloak-the-keycloak-name + app.kubernetes.io/managed-by: keycloak-operator + serviceName: companyname-keycloak-the-keycloak-name-discovery + template: + metadata: + annotations: + operator.keycloak.org/watched-secret-hash: 57e61d6eea030b446d392972aca00088408828a69aecfb201c57d5e1a9dd01bc + creationTimestamp: null + labels: + app: keycloak + app.kubernetes.io/component: server + app.kubernetes.io/instance: companyname-keycloak-the-keycloak-name + app.kubernetes.io/managed-by: keycloak-operator + spec: + containers: + - args: + - -Djgroups.bind.address=$(POD_IP) + - --verbose + - start + - --optimized + env: + - name: KC_HOSTNAME + value: host + - name: KC_HTTP_ENABLED + value: "true" + - name: KC_HTTP_PORT + value: "8080" + - name: KC_HTTPS_PORT + value: "8443" + - name: KC_DB + value: postgres + - name: KC_DB_USERNAME + valueFrom: + secretKeyRef: + key: username + name: companyname-keycloak-the-keycloak-name-postgres-app + - name: KC_DB_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: companyname-keycloak-the-keycloak-name-postgres-app + - name: KC_DB_URL_DATABASE + value: keycloak + - name: KC_DB_URL_HOST + value: companyname-keycloak-the-keycloak-name-postgres-rw + - name: KC_DB_SCHEMA + value: public + - name: KC_PROXY_HEADERS + value: forwarded + - name: KC_BOOTSTRAP_ADMIN_USERNAME + valueFrom: + secretKeyRef: + key: username + name: companyname-keycloak-the-keycloak-name-initial-admin + - name: KC_BOOTSTRAP_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: companyname-keycloak-the-keycloak-name-initial-admin + - name: KC_CACHE + value: ispn + - name: KC_HEALTH_ENABLED + value: "true" + - name: KC_METRICS_ENABLED + value: "true" + - name: KCKEY_METRICS_ENABLED + value: metrics-enabled + - name: POD_IP + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: status.podIP + - name: KC_SPI_CACHE_EMBEDDED_DEFAULT_MACHINE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: KC_TRUSTSTORE_PATHS + value: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt,/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt + - name: KC_TRACING_SERVICE_NAME + value: companyname-keycloak-the-keycloak-name + - name: KC_TRACING_RESOURCE_ATTRIBUTES + value: k8s.namespace.name=prj-sso-operators + image: companyname-docker.*********/release/keycloak:26.4.1-0 + imagePullPolicy: Always + livenessProbe: + failureThreshold: 5 + httpGet: + path: /health/live + port: 9000 + scheme: HTTP + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + name: keycloak + ports: + - containerPort: 8443 + name: https + protocol: TCP + - containerPort: 8080 + name: http + protocol: TCP + - containerPort: 9000 + name: management + protocol: TCP + readinessProbe: + failureThreshold: 5 + httpGet: + path: /health/ready + port: 9000 + scheme: HTTP + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + resources: + limits: + memory: 3Gi + requests: + cpu: 10m + memory: 256Mi + startupProbe: + failureThreshold: 600 + httpGet: + path: /health/started + port: 9000 + scheme: HTTP + periodSeconds: 1 + successThreshold: 1 + timeoutSeconds: 1 + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /opt/keycloak/conf/truststores/secret-ldap-ca-certificates + name: truststore-secret-ldap-ca-certificates + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + topologySpreadConstraints: + - labelSelector: + matchLabels: + app: keycloak + app.kubernetes.io/component: server + app.kubernetes.io/instance: companyname-keycloak-the-keycloak-name + app.kubernetes.io/managed-by: keycloak-operator + maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + - labelSelector: + matchLabels: + app: keycloak + app.kubernetes.io/component: server + app.kubernetes.io/instance: companyname-keycloak-the-keycloak-name + app.kubernetes.io/managed-by: keycloak-operator + maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + volumes: + - name: truststore-secret-ldap-ca-certificates + secret: + defaultMode: 420 + secretName: ldap-ca-certificates + updateStrategy: + rollingUpdate: + partition: 0 + type: RollingUpdate +status: + availableReplicas: 1 + collisionCount: 0 + currentReplicas: 1 + currentRevision: companyname-keycloak-the-keycloak-name-75d6c885bb + observedGeneration: 1 + readyReplicas: 1 + replicas: 1 + updateRevision: companyname-keycloak-the-keycloak-name-75d6c885bb + updatedReplicas: 1 \ No newline at end of file From d8f95fd54795ce4cee508ac9cc32262739d11e75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Fri, 14 Nov 2025 04:37:35 +0100 Subject: [PATCH 6/6] chore: update version to 5.1.6-SNAPSHOT (#3040) --- bootstrapper-maven-plugin/pom.xml | 2 +- caffeine-bounded-cache-support/pom.xml | 2 +- micrometer-support/pom.xml | 2 +- operator-framework-bom/pom.xml | 2 +- operator-framework-core/pom.xml | 2 +- operator-framework-junit5/pom.xml | 2 +- operator-framework/pom.xml | 2 +- pom.xml | 2 +- sample-operators/controller-namespace-deletion/pom.xml | 2 +- sample-operators/leader-election/pom.xml | 2 +- sample-operators/mysql-schema/pom.xml | 2 +- sample-operators/pom.xml | 2 +- sample-operators/tomcat-operator/pom.xml | 2 +- sample-operators/webpage/pom.xml | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/bootstrapper-maven-plugin/pom.xml b/bootstrapper-maven-plugin/pom.xml index a55636840b..324d0f9692 100644 --- a/bootstrapper-maven-plugin/pom.xml +++ b/bootstrapper-maven-plugin/pom.xml @@ -5,7 +5,7 @@ io.javaoperatorsdk java-operator-sdk - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT bootstrapper diff --git a/caffeine-bounded-cache-support/pom.xml b/caffeine-bounded-cache-support/pom.xml index 76f3db9abc..a77ee12101 100644 --- a/caffeine-bounded-cache-support/pom.xml +++ b/caffeine-bounded-cache-support/pom.xml @@ -4,7 +4,7 @@ io.javaoperatorsdk java-operator-sdk - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT caffeine-bounded-cache-support diff --git a/micrometer-support/pom.xml b/micrometer-support/pom.xml index c66a2d339f..af02906180 100644 --- a/micrometer-support/pom.xml +++ b/micrometer-support/pom.xml @@ -4,7 +4,7 @@ io.javaoperatorsdk java-operator-sdk - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT micrometer-support diff --git a/operator-framework-bom/pom.xml b/operator-framework-bom/pom.xml index 7770b05ab8..92b747828b 100644 --- a/operator-framework-bom/pom.xml +++ b/operator-framework-bom/pom.xml @@ -4,7 +4,7 @@ io.javaoperatorsdk operator-framework-bom - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT pom Operator SDK - Bill of Materials Java SDK for implementing Kubernetes operators diff --git a/operator-framework-core/pom.xml b/operator-framework-core/pom.xml index 5b4281a1ec..d3b9b4129f 100644 --- a/operator-framework-core/pom.xml +++ b/operator-framework-core/pom.xml @@ -4,7 +4,7 @@ io.javaoperatorsdk java-operator-sdk - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT ../pom.xml diff --git a/operator-framework-junit5/pom.xml b/operator-framework-junit5/pom.xml index 5aeeb92d45..eee08fc31c 100644 --- a/operator-framework-junit5/pom.xml +++ b/operator-framework-junit5/pom.xml @@ -4,7 +4,7 @@ io.javaoperatorsdk java-operator-sdk - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT operator-framework-junit-5 diff --git a/operator-framework/pom.xml b/operator-framework/pom.xml index f1a100eb75..1cf2a0aa9e 100644 --- a/operator-framework/pom.xml +++ b/operator-framework/pom.xml @@ -4,7 +4,7 @@ io.javaoperatorsdk java-operator-sdk - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT operator-framework diff --git a/pom.xml b/pom.xml index 6391b298dc..5c04bdb8e1 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ io.javaoperatorsdk java-operator-sdk - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT pom Operator SDK for Java Java SDK for implementing Kubernetes operators diff --git a/sample-operators/controller-namespace-deletion/pom.xml b/sample-operators/controller-namespace-deletion/pom.xml index bb2a8fe099..3c04058c74 100644 --- a/sample-operators/controller-namespace-deletion/pom.xml +++ b/sample-operators/controller-namespace-deletion/pom.xml @@ -5,7 +5,7 @@ io.javaoperatorsdk sample-operators - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT sample-controller-namespace-deletion diff --git a/sample-operators/leader-election/pom.xml b/sample-operators/leader-election/pom.xml index 23873c5d45..6becc69448 100644 --- a/sample-operators/leader-election/pom.xml +++ b/sample-operators/leader-election/pom.xml @@ -5,7 +5,7 @@ io.javaoperatorsdk sample-operators - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT sample-leader-election diff --git a/sample-operators/mysql-schema/pom.xml b/sample-operators/mysql-schema/pom.xml index 8201c1148e..d5e01ca206 100644 --- a/sample-operators/mysql-schema/pom.xml +++ b/sample-operators/mysql-schema/pom.xml @@ -5,7 +5,7 @@ io.javaoperatorsdk sample-operators - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT sample-mysql-schema-operator diff --git a/sample-operators/pom.xml b/sample-operators/pom.xml index c19bb7f3f6..914e11d901 100644 --- a/sample-operators/pom.xml +++ b/sample-operators/pom.xml @@ -5,7 +5,7 @@ io.javaoperatorsdk java-operator-sdk - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT sample-operators diff --git a/sample-operators/tomcat-operator/pom.xml b/sample-operators/tomcat-operator/pom.xml index 0c43071f16..2f925bba5f 100644 --- a/sample-operators/tomcat-operator/pom.xml +++ b/sample-operators/tomcat-operator/pom.xml @@ -5,7 +5,7 @@ io.javaoperatorsdk sample-operators - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT sample-tomcat-operator diff --git a/sample-operators/webpage/pom.xml b/sample-operators/webpage/pom.xml index 55eafa8490..5f237bbd29 100644 --- a/sample-operators/webpage/pom.xml +++ b/sample-operators/webpage/pom.xml @@ -5,7 +5,7 @@ io.javaoperatorsdk sample-operators - 5.1.5-SNAPSHOT + 5.1.6-SNAPSHOT sample-webpage-operator