From 82d13bce9d04596e9a78831f7383e5182fca56bc Mon Sep 17 00:00:00 2001 From: Arman Yekkehkhani <72594459+arman-yekkehkhani@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:16:39 +0330 Subject: [PATCH] fix(micronaut): k8s resource acknowledge the port in application.properties for Micronaut application (3366) fix(Micronaut HealthChecker Enricher): k8s resource pick port from application.properties, fix #3326 Signed-off-by: arman-yekkehkhani --- fix(Micronaut HealthChecker Enricher): gradle integration test, fix #3326 Signed-off-by: arman-yekkehkhani --- fix(Micronaut HealthChecker Enricher): update CHANGELOG.md, fix #3326 Signed-off-by: arman-yekkehkhani --- Merge branch 'master' into gh-3326_fix_micronaut_port --- fix(Micronaut HealthChecker Enricher): fix license header, fix #3326 Signed-off-by: arman-yekkehkhani --- fix(MicronautHealthCheckEnricher): apply reviews, fix #3326 Signed-off-by: arman-yekkehkhani --- fix(MicronautHealthCheckEnricher): apply reviews, fix #3326 Signed-off-by: arman-yekkehkhani --- fix(MicronautHealthCheckEnricher): rollback micronaut 4 to 3, fix #3326 Signed-off-by: arman-yekkehkhani --- fix(MicronautHealthCheckEnricher): update micronaut version 3 o latest, fix #3326 Signed-off-by: arman-yekkehkhani --- Merge branch 'master' into gh-3326_fix_micronaut_port # Conflicts: # CHANGELOG.md --- Merge branch 'master' into gh-3326_fix_micronaut_port # Conflicts: # CHANGELOG.md --- CHANGELOG.md | 1 + .../src/it/micronaut-properties/build.gradle | 54 ++++++ .../expected/kubernetes.yml | 121 +++++++++++++ .../expected/openshift.yml | 161 ++++++++++++++++++ .../it/micronaut-properties/gradle.properties | 18 ++ .../src/main/resources/application.properties | 17 ++ .../plugin/tests/MicronautPropertiesIT.java | 67 ++++++++ .../MicronautHealthCheckEnricher.java | 5 +- .../MicronautHealthCheckEnricherTest.java | 14 +- .../application.properties | 1 + 10 files changed, 450 insertions(+), 9 deletions(-) create mode 100644 gradle-plugin/it/src/it/micronaut-properties/build.gradle create mode 100644 gradle-plugin/it/src/it/micronaut-properties/expected/kubernetes.yml create mode 100644 gradle-plugin/it/src/it/micronaut-properties/expected/openshift.yml create mode 100644 gradle-plugin/it/src/it/micronaut-properties/gradle.properties create mode 100644 gradle-plugin/it/src/it/micronaut-properties/src/main/resources/application.properties create mode 100644 gradle-plugin/it/src/test/java/org/eclipse/jkube/gradle/plugin/tests/MicronautPropertiesIT.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 5399b46e69..932db471c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ Usage: * Fix #2844: `oc:build` on openshift use `pods/log` to retrieve logs from build * Fix #2375: Add support for generating helm test resources via fragments * Fix #2667: Add new helm test goal task (`k8s:helm-test` for maven and `k8sHelmTest` for gradle) +* Fix #3326: Micronaut healthcheck enricher infers overridden server port in application.properties * Fix #3354: Build fails with `imageStream` for `buildRecreate` value ### 1.17.0 (2024-08-13) diff --git a/gradle-plugin/it/src/it/micronaut-properties/build.gradle b/gradle-plugin/it/src/it/micronaut-properties/build.gradle new file mode 100644 index 0000000000..d67f9ea923 --- /dev/null +++ b/gradle-plugin/it/src/it/micronaut-properties/build.gradle @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2019 Red Hat, Inc. + * This program and the accompanying materials are made + * available under the terms of the Eclipse Public License 2.0 + * which is available at: + * + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Red Hat, Inc. - initial API and implementation + */ +plugins { + id("com.github.johnrengelman.shadow") version "7.1.0" + id("io.micronaut.application") version "3.7.10" + id("org.eclipse.jkube.kubernetes") version "1.17.0" + id("org.eclipse.jkube.openshift") version "1.17.0" +} + +version = "0.1" +group = "org.eclipse.jkube.integration.tests.gradle.micronaut" + +repositories { + mavenCentral() +} + +micronaut { + runtime("netty") + processing { + incremental(true) + annotations("org.eclipse.jkube.integration.tests.gradle.micronaut.*") + } +} + +dependencies { + annotationProcessor("io.micronaut:micronaut-http-validation") + implementation("io.micronaut:micronaut-http-client") + implementation("io.micronaut:micronaut-management") + implementation("io.micronaut:micronaut-runtime") + implementation("jakarta.annotation:jakarta.annotation-api") + runtimeOnly("ch.qos.logback:logback-classic") + implementation("io.micronaut:micronaut-validation") + +} + + +application { + mainClass.set("org.eclipse.jkube.integration.tests.gradle.micronaut.Application") +} +java { + sourceCompatibility = JavaVersion.toVersion("11") + targetCompatibility = JavaVersion.toVersion("11") +} diff --git a/gradle-plugin/it/src/it/micronaut-properties/expected/kubernetes.yml b/gradle-plugin/it/src/it/micronaut-properties/expected/kubernetes.yml new file mode 100644 index 0000000000..4e8692ba67 --- /dev/null +++ b/gradle-plugin/it/src/it/micronaut-properties/expected/kubernetes.yml @@ -0,0 +1,121 @@ +--- +apiVersion: v1 +kind: List +items: + - apiVersion: v1 + kind: Service + metadata: + annotations: + prometheus.io/scrape: "true" + prometheus.io/path: /metrics + prometheus.io/port: "9779" + jkube.eclipse.org/git-commit: "@ignore@" + jkube.eclipse.org/git-url: "@ignore@" + jkube.eclipse.org/git-branch: "@ignore@" + labels: + app: micronaut-properties + provider: jkube + version: "0.1" + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/version: "0.1" + name: micronaut-properties + spec: + ports: + - name: glrpc + port: 9080 + protocol: TCP + targetPort: 9080 + selector: + app: micronaut-properties + provider: jkube + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + - apiVersion: apps/v1 + kind: Deployment + metadata: + annotations: + jkube.eclipse.org/git-commit: "@ignore@" + jkube.eclipse.org/git-url: "@ignore@" + jkube.eclipse.org/git-branch: "@ignore@" + labels: + app: micronaut-properties + provider: jkube + version: "0.1" + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/version: "0.1" + name: micronaut-properties + spec: + replicas: 1 + revisionHistoryLimit: 2 + selector: + matchLabels: + app: micronaut-properties + provider: jkube + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + template: + metadata: + annotations: + jkube.eclipse.org/git-commit: "@ignore@" + jkube.eclipse.org/git-url: "@ignore@" + jkube.eclipse.org/git-branch: "@ignore@" + labels: + app: micronaut-properties + provider: jkube + version: "0.1" + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/version: "0.1" + name: micronaut-properties + spec: + containers: + - env: + - name: KUBERNETES_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: HOSTNAME + valueFrom: + fieldRef: + fieldPath: metadata.name + image: micronaut/micronaut-properties:0.1 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 3 + httpGet: + path: /health + port: 9080 + scheme: HTTP + successThreshold: 1 + name: micronaut + ports: + - containerPort: 9080 + name: glrpc + protocol: TCP + - containerPort: 9779 + name: prometheus + protocol: TCP + - containerPort: 8778 + name: jolokia + protocol: TCP + readinessProbe: + failureThreshold: 3 + httpGet: + path: /health + port: 9080 + scheme: HTTP + successThreshold: 1 + securityContext: + privileged: false diff --git a/gradle-plugin/it/src/it/micronaut-properties/expected/openshift.yml b/gradle-plugin/it/src/it/micronaut-properties/expected/openshift.yml new file mode 100644 index 0000000000..c408159562 --- /dev/null +++ b/gradle-plugin/it/src/it/micronaut-properties/expected/openshift.yml @@ -0,0 +1,161 @@ +--- +apiVersion: v1 +kind: List +items: +- apiVersion: v1 + kind: Service + metadata: + annotations: + prometheus.io/scrape: "true" + prometheus.io/path: /metrics + prometheus.io/port: "9779" + jkube.eclipse.org/git-commit: "@ignore@" + jkube.eclipse.org/git-url: "@ignore@" + app.openshift.io/vcs-ref: "@ignore@" + app.openshift.io/vcs-uri: "@ignore@" + jkube.eclipse.org/git-branch: "@ignore@" + labels: + app: micronaut-properties + provider: jkube + version: "0.1" + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/version: "0.1" + name: micronaut-properties + spec: + ports: + - name: glrpc + port: 9080 + protocol: TCP + targetPort: 9080 + selector: + app: micronaut-properties + provider: jkube + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube +- apiVersion: apps.openshift.io/v1 + kind: DeploymentConfig + metadata: + annotations: + jkube.eclipse.org/git-commit: "@ignore@" + jkube.eclipse.org/git-url: "@ignore@" + app.openshift.io/vcs-ref: "@ignore@" + app.openshift.io/vcs-uri: "@ignore@" + jkube.eclipse.org/git-branch: "@ignore@" + labels: + app: micronaut-properties + provider: jkube + version: "0.1" + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/version: "0.1" + name: micronaut-properties + spec: + replicas: 1 + revisionHistoryLimit: 2 + selector: + app: micronaut-properties + provider: jkube + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + strategy: + rollingParams: + timeoutSeconds: 3600 + type: Rolling + template: + metadata: + annotations: + jkube.eclipse.org/git-commit: "@ignore@" + jkube.eclipse.org/git-url: "@ignore@" + app.openshift.io/vcs-ref: "@ignore@" + app.openshift.io/vcs-uri: "@ignore@" + jkube.eclipse.org/git-branch: "@ignore@" + labels: + app: micronaut-properties + provider: jkube + version: "0.1" + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/version: "0.1" + name: micronaut-properties + spec: + containers: + - env: + - name: KUBERNETES_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: micronaut-properties:0.1 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 3 + httpGet: + path: /health + port: 9080 + scheme: HTTP + successThreshold: 1 + name: micronaut + ports: + - containerPort: 9080 + name: glrpc + protocol: TCP + - containerPort: 9779 + name: prometheus + protocol: TCP + - containerPort: 8778 + name: jolokia + protocol: TCP + readinessProbe: + failureThreshold: 3 + httpGet: + path: /health + port: 9080 + scheme: HTTP + successThreshold: 1 + securityContext: + privileged: false + triggers: + - type: ConfigChange + - imageChangeParams: + automatic: true + containerNames: + - micronaut + from: + kind: ImageStreamTag + name: micronaut-properties:0.1 + type: ImageChange +- apiVersion: route.openshift.io/v1 + kind: Route + metadata: + annotations: + jkube.eclipse.org/git-commit: "@ignore@" + jkube.eclipse.org/git-url: "@ignore@" + app.openshift.io/vcs-ref: "@ignore@" + app.openshift.io/vcs-uri: "@ignore@" + jkube.eclipse.org/git-branch: "@ignore@" + labels: + app: micronaut-properties + provider: jkube + version: "0.1" + group: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/part-of: org.eclipse.jkube.integration.tests.gradle.micronaut + app.kubernetes.io/managed-by: jkube + app.kubernetes.io/name: micronaut-properties + app.kubernetes.io/version: "0.1" + name: micronaut-properties + spec: + port: + targetPort: glrpc + to: + kind: Service + name: micronaut-properties diff --git a/gradle-plugin/it/src/it/micronaut-properties/gradle.properties b/gradle-plugin/it/src/it/micronaut-properties/gradle.properties new file mode 100644 index 0000000000..1e6a147063 --- /dev/null +++ b/gradle-plugin/it/src/it/micronaut-properties/gradle.properties @@ -0,0 +1,18 @@ +# +# Copyright (c) 2019 Red Hat, Inc. +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at: +# +# https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# Red Hat, Inc. - initial API and implementation +# + +micronautVersion=3.10.1 +org.gradle.java.installations.auto-download=false +org.gradle.java.installations.auto-detect=false +org.gradle.java.installations.fromEnv=JAVA_HOME diff --git a/gradle-plugin/it/src/it/micronaut-properties/src/main/resources/application.properties b/gradle-plugin/it/src/it/micronaut-properties/src/main/resources/application.properties new file mode 100644 index 0000000000..15260f5a2c --- /dev/null +++ b/gradle-plugin/it/src/it/micronaut-properties/src/main/resources/application.properties @@ -0,0 +1,17 @@ +# +# Copyright (c) 2019 Red Hat, Inc. +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at: +# +# https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# Red Hat, Inc. - initial API and implementation +# + +micronaut.application.name = micronaut-properties +micronaut.server.port = 9080 +endpoints.health.enabled = true diff --git a/gradle-plugin/it/src/test/java/org/eclipse/jkube/gradle/plugin/tests/MicronautPropertiesIT.java b/gradle-plugin/it/src/test/java/org/eclipse/jkube/gradle/plugin/tests/MicronautPropertiesIT.java new file mode 100644 index 0000000000..4ba7b0c161 --- /dev/null +++ b/gradle-plugin/it/src/test/java/org/eclipse/jkube/gradle/plugin/tests/MicronautPropertiesIT.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2019 Red Hat, Inc. + * This program and the accompanying materials are made + * available under the terms of the Eclipse Public License 2.0 + * which is available at: + * + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Red Hat, Inc. - initial API and implementation + */ +package org.eclipse.jkube.gradle.plugin.tests; + +import java.io.IOException; + +import org.eclipse.jkube.kit.common.ResourceVerify; + +import net.minidev.json.parser.ParseException; +import org.gradle.testkit.runner.BuildResult; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + +class MicronautPropertiesIT { + @RegisterExtension + private final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension(); + + @Test + void k8sResource_whenRun_generatesK8sManifestsWithProbes() throws IOException, ParseException { + // When + final BuildResult result = gradleRunner.withITProject("micronaut-properties") + .withArguments("build", "k8sResource", "--stacktrace") + .build(); + // Then + ResourceVerify.verifyResourceDescriptors(gradleRunner.resolveDefaultKubernetesResourceFile(), + gradleRunner.resolveFile("expected", "kubernetes.yml")); + assertThat(result).extracting(BuildResult::getOutput).asString() + .contains("jkube-controller: Adding a default Deployment") + .contains("jkube-service: Adding a default service") + .contains("jkube-healthcheck-micronaut: Adding readiness probe on port 9080") + .contains("jkube-healthcheck-micronaut: Adding liveness probe on port 9080") + .contains("jkube-service-discovery: Using first mentioned service port '9080' ") + .contains("jkube-revision-history: Adding revision history limit to 2"); + } + + @Test + void ocResource_whenRun_generatesOpenShiftManifestsWithProbes() throws IOException, ParseException { + // When + final BuildResult result = gradleRunner.withITProject("micronaut-properties") + .withArguments("build", "ocResource", "--stacktrace") + .build(); + // Then + ResourceVerify.verifyResourceDescriptors(gradleRunner.resolveDefaultOpenShiftResourceFile(), + gradleRunner.resolveFile("expected", "openshift.yml")); + assertThat(result).extracting(BuildResult::getOutput).asString() + .contains("jkube-controller: Adding a default Deployment") + .contains("jkube-service: Adding a default service") + .contains("jkube-openshift-deploymentconfig: Converting Deployment to DeploymentConfig") + .contains("jkube-healthcheck-micronaut: Adding readiness probe on port 9080") + .contains("jkube-healthcheck-micronaut: Adding liveness probe on port 9080") + .contains("jkube-service-discovery: Using first mentioned service port '9080' ") + .contains("jkube-revision-history: Adding revision history limit to 2"); + } +} diff --git a/jkube-kit/jkube-kit-micronaut/src/main/java/org/eclipse/jkube/micronaut/enricher/MicronautHealthCheckEnricher.java b/jkube-kit/jkube-kit-micronaut/src/main/java/org/eclipse/jkube/micronaut/enricher/MicronautHealthCheckEnricher.java index c5c00b30ea..c3d2fb5730 100644 --- a/jkube-kit/jkube-kit-micronaut/src/main/java/org/eclipse/jkube/micronaut/enricher/MicronautHealthCheckEnricher.java +++ b/jkube-kit/jkube-kit-micronaut/src/main/java/org/eclipse/jkube/micronaut/enricher/MicronautHealthCheckEnricher.java @@ -27,7 +27,7 @@ import lombok.Getter; import static org.eclipse.jkube.kit.common.Configs.asInteger; -import static org.eclipse.jkube.kit.common.util.JKubeProjectUtil.getClassLoader; +import static org.eclipse.jkube.micronaut.MicronautUtils.extractPort; import static org.eclipse.jkube.micronaut.MicronautUtils.getMicronautConfiguration; import static org.eclipse.jkube.micronaut.MicronautUtils.hasMicronautPlugin; import static org.eclipse.jkube.micronaut.MicronautUtils.isHealthEnabled; @@ -88,7 +88,8 @@ private Probe buildProbe(Integer initialDelaySeconds, Integer periodSeconds){ final String firstImagePort = getImages().stream().findFirst() .map(ImageConfiguration::getBuild).map(BuildConfiguration::getPorts) .orElse(Collections.emptyList()).stream() - .findFirst().orElse(null); + .findFirst().orElse(extractPort(getMicronautConfiguration(getContext().getProject()), null)); + return new ProbeBuilder() .withInitialDelaySeconds(initialDelaySeconds) .withPeriodSeconds(periodSeconds) diff --git a/jkube-kit/jkube-kit-micronaut/src/test/java/org/eclipse/jkube/micronaut/enricher/MicronautHealthCheckEnricherTest.java b/jkube-kit/jkube-kit-micronaut/src/test/java/org/eclipse/jkube/micronaut/enricher/MicronautHealthCheckEnricherTest.java index d93d6c660b..c36304b35d 100644 --- a/jkube-kit/jkube-kit-micronaut/src/test/java/org/eclipse/jkube/micronaut/enricher/MicronautHealthCheckEnricherTest.java +++ b/jkube-kit/jkube-kit-micronaut/src/test/java/org/eclipse/jkube/micronaut/enricher/MicronautHealthCheckEnricherTest.java @@ -87,7 +87,7 @@ void createWithDeploymentAndNoPlugin() { .extracting(PodTemplateSpec::getSpec) .extracting(PodSpec::getContainers) .asInstanceOf(InstanceOfAssertFactories.list(Container.class)) - .element(0, InstanceOfAssertFactories.type(Container.class)) + .first() .hasFieldOrPropertyWithValue("livenessProbe", null) .hasFieldOrPropertyWithValue("readinessProbe", null); } @@ -107,7 +107,7 @@ void createWithDeploymentAndPluginAndNoHealth() { .extracting(PodTemplateSpec::getSpec) .extracting(PodSpec::getContainers) .asInstanceOf(InstanceOfAssertFactories.list(Container.class)) - .element(0, InstanceOfAssertFactories.type(Container.class)) + .first() .hasFieldOrPropertyWithValue("livenessProbe", null) .hasFieldOrPropertyWithValue("readinessProbe", null); } @@ -126,13 +126,13 @@ void createWithDeploymentAndPluginAndHealth() throws Exception { .element(1, InstanceOfAssertFactories.type(Deployment.class)) .extracting("spec.template.spec.containers") .asInstanceOf(InstanceOfAssertFactories.list(Container.class)) - .element(0, InstanceOfAssertFactories.type(Container.class)) + .first() .extracting( "livenessProbe.httpGet.path", "readinessProbe.httpGet.path", "readinessProbe.httpGet.port.IntVal" ) - .contains("/health", "/health", null); + .contains("/health", "/health", 1818); } @Test @@ -149,13 +149,13 @@ void createWithDeploymentAndGradlePluginAndHealth() throws Exception { .element(1, InstanceOfAssertFactories.type(Deployment.class)) .extracting("spec.template.spec.containers") .asInstanceOf(InstanceOfAssertFactories.list(Container.class)) - .element(0, InstanceOfAssertFactories.type(Container.class)) + .first() .extracting( "livenessProbe.httpGet.path", "readinessProbe.httpGet.path", "readinessProbe.httpGet.port.IntVal" ) - .contains("/health", "/health", null); + .contains("/health", "/health", 1818); } @Test @@ -176,7 +176,7 @@ void createWithDeploymentAndPluginAndImageConfig() throws Exception { .element(1, InstanceOfAssertFactories.type(Deployment.class)) .extracting("spec.template.spec.containers") .asInstanceOf(InstanceOfAssertFactories.list(Container.class)) - .element(0, InstanceOfAssertFactories.type(Container.class)) + .first() .extracting( "livenessProbe.httpGet.path", "readinessProbe.httpGet.path", diff --git a/jkube-kit/jkube-kit-micronaut/src/test/resources/health-check-enricher-test/application.properties b/jkube-kit/jkube-kit-micronaut/src/test/resources/health-check-enricher-test/application.properties index 78b24206a7..66740a85e2 100644 --- a/jkube-kit/jkube-kit-micronaut/src/test/resources/health-check-enricher-test/application.properties +++ b/jkube-kit/jkube-kit-micronaut/src/test/resources/health-check-enricher-test/application.properties @@ -1 +1,2 @@ endpoints.health.enabled = true +micronaut.server.port = 1818 \ No newline at end of file