Skip to content

Commit

Permalink
fix(micronaut): k8s resource acknowledge the port in application.prop…
Browse files Browse the repository at this point in the history
…erties for Micronaut application (3366)

fix(Micronaut HealthChecker Enricher): k8s resource pick port from application.properties, fix eclipse-jkube#3326

Signed-off-by: arman-yekkehkhani <arman.yekkehkhani@gmail.com>
---
fix(Micronaut HealthChecker Enricher): gradle integration test, fix eclipse-jkube#3326

Signed-off-by: arman-yekkehkhani <arman.yekkehkhani@gmail.com>
---
fix(Micronaut HealthChecker Enricher): update CHANGELOG.md, fix eclipse-jkube#3326

Signed-off-by: arman-yekkehkhani <arman.yekkehkhani@gmail.com>
---
Merge branch 'master' into gh-3326_fix_micronaut_port
---
fix(Micronaut HealthChecker Enricher): fix license header, fix eclipse-jkube#3326

Signed-off-by: arman-yekkehkhani <arman.yekkehkhani@gmail.com>
---
fix(MicronautHealthCheckEnricher): apply reviews, fix eclipse-jkube#3326

Signed-off-by: arman-yekkehkhani <arman.yekkehkhani@gmail.com>
---
fix(MicronautHealthCheckEnricher): apply reviews, fix eclipse-jkube#3326

Signed-off-by: arman-yekkehkhani <arman.yekkehkhani@gmail.com>
---
fix(MicronautHealthCheckEnricher): rollback micronaut 4 to 3, fix eclipse-jkube#3326

Signed-off-by: arman-yekkehkhani <arman.yekkehkhani@gmail.com>
---
fix(MicronautHealthCheckEnricher): update micronaut version 3 o latest, fix eclipse-jkube#3326

Signed-off-by: arman-yekkehkhani <arman.yekkehkhani@gmail.com>
---
Merge branch 'master' into gh-3326_fix_micronaut_port

# Conflicts:
#	CHANGELOG.md
---
Merge branch 'master' into gh-3326_fix_micronaut_port

# Conflicts:
#	CHANGELOG.md
  • Loading branch information
arman-yekkehkhani authored Oct 15, 2024
1 parent 83cfcba commit 82d13bc
Show file tree
Hide file tree
Showing 10 changed files with 450 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
54 changes: 54 additions & 0 deletions gradle-plugin/it/src/it/micronaut-properties/build.gradle
Original file line number Diff line number Diff line change
@@ -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")
}
121 changes: 121 additions & 0 deletions gradle-plugin/it/src/it/micronaut-properties/expected/kubernetes.yml
Original file line number Diff line number Diff line change
@@ -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
161 changes: 161 additions & 0 deletions gradle-plugin/it/src/it/micronaut-properties/expected/openshift.yml
Original file line number Diff line number Diff line change
@@ -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
18 changes: 18 additions & 0 deletions gradle-plugin/it/src/it/micronaut-properties/gradle.properties
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Loading

0 comments on commit 82d13bc

Please sign in to comment.