Skip to content

Commit

Permalink
Merge pull request #4 from mrFlick72/to-springboot3-eks-support
Browse files Browse the repository at this point in the history
spring boot/cloud dependencies upgrade
  • Loading branch information
mrFlick72 authored Jan 21, 2023
2 parents 3470937 + 71086d0 commit d426822
Show file tree
Hide file tree
Showing 20 changed files with 79 additions and 107 deletions.
45 changes: 18 additions & 27 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,16 @@ jobs:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: install openjdk
run: |
sudo apt-get update && sudo apt-get install openjdk-17-jdk
sudo update-alternatives --set java /usr/lib/jvm/java-17-openjdk-amd64/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac
java -version
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'corretto'

- name: Build
run: |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
cd ui
mvn clean install -q
Expand All @@ -43,19 +40,16 @@ jobs:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: install openjdk
run: |
sudo apt-get update && sudo apt-get install openjdk-17-jdk
sudo update-alternatives --set java /usr/lib/jvm/java-17-openjdk-amd64/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac
java -version
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'corretto'

- name: Build
run: |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
cd message-service
./gradlew build
Expand All @@ -77,19 +71,16 @@ jobs:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: install openjdk
run: |
sudo apt-get update && sudo apt-get install openjdk-17-jdk
sudo update-alternatives --set java /usr/lib/jvm/java-17-openjdk-amd64/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac
java -version
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'corretto'

- name: Build
run: |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
cd hello-service
./gradlew build
Expand Down
2 changes: 1 addition & 1 deletion hello-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM openjdk:17
FROM amazoncorretto:17.0.4

ADD build/libs/hello-service.jar /usr/local/hello-service/

Expand Down
28 changes: 9 additions & 19 deletions hello-service/build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
plugins {
id "org.springframework.boot" version "2.7.4"
id "io.spring.dependency-management" version "1.0.14.RELEASE"
id "java"
id 'java'
id 'org.springframework.boot' version '3.0.1'
id 'io.spring.dependency-management' version '1.1.0'
}

apply plugin: "io.spring.dependency-management"

group = "it.valeriovaudi"
//version = "0.0.1-SNAPSHOT"
sourceCompatibility = "17"

jar {
Expand All @@ -19,32 +18,23 @@ repositories {
}

ext {
set("springCloudVersion", "2021.0.4")
set('springCloudVersion', "2022.0.0")
}

dependencies {
implementation "org.springframework.cloud:spring-cloud-starter"

implementation "org.springframework.cloud:spring-cloud-starter-bootstrap"
implementation "org.springframework.cloud:spring-cloud-starter-kubernetes-client-all"
implementation "org.springframework.cloud:spring-cloud-starter-kubernetes-client-loadbalancer"

implementation 'io.micrometer:micrometer-tracing-bridge-brave'
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'

implementation "org.springframework.boot:spring-boot-starter-webflux"
implementation "org.springframework.boot:spring-boot-starter-actuator"

compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

testImplementation "org.springframework.boot:spring-boot-starter-test"
testImplementation "io.projectreactor:reactor-test"
}

dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}


tasks.named("test") {
useJUnitPlatform()
}
}
2 changes: 1 addition & 1 deletion hello-service/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package it.valeriovaudi.helloservice;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
Expand Down Expand Up @@ -38,7 +37,6 @@ public WebClient.Builder loadBalancedWebClientBuilder() {
}
}

@Slf4j
@Service
class HelloService {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ spring:
enabled: true
mode: polling
period: 5000
config:
sources:
- name: ${spring.application.name}

management:
endpoints:
Expand Down
7 changes: 4 additions & 3 deletions helm/spring-cloud-kubernetes-demo/templates/hello-service.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,23 @@ spec:
imagePullPolicy: {{ .Values.helloService.image.pullPolicy }}
ports:
- containerPort: 8080

- containerPort: 8081
livenessProbe:
httpGet:
path: /actuator/health
path: /actuator/health/liveness
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1

readinessProbe:
httpGet:
path: /actuator/health
path: /actuator/health/readiness
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1

---

kind: Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,18 @@ spec:
imagePullPolicy: {{ .Values.messageService.image.pullPolicy }}
ports:
- containerPort: 8080

- containerPort: 8081
livenessProbe:
httpGet:
path: /actuator/health
path: /actuator/health/liveness
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1

readinessProbe:
httpGet:
path: /actuator/health
path: /actuator/health/readiness
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand Down
11 changes: 7 additions & 4 deletions helm/spring-cloud-kubernetes-demo/templates/ui-interface.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ metadata:
namespace: {{ .Release.Namespace }}
data:
application.yaml: |-
testValue: it is a test value
server:
forward-headers-strategy: framework
spring:
redis:
host: {{ .Release.Namespace }}-redis-master
data:
redis:
host: {{ .Release.Namespace }}-redis-master
cloud:
gateway:
Expand Down Expand Up @@ -56,17 +58,18 @@ spec:
imagePullPolicy: {{ .Values.ui.image.pullPolicy }}
ports:
- containerPort: 8080
- containerPort: 8081
livenessProbe:
httpGet:
path: /actuator/health
path: /actuator/health/liveness
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1

readinessProbe:
httpGet:
path: /actuator/health
path: /actuator/health/readiness
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
Expand Down
2 changes: 1 addition & 1 deletion helm/spring-cloud-kubernetes-demo/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ messageService:
image:
pullPolicy: Always
tag: latest
helloService:

helloService:
replicas: 2
image:
pullPolicy: Always
Expand Down
2 changes: 1 addition & 1 deletion message-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM openjdk:17
FROM amazoncorretto:17.0.4

ADD build/libs/message-service.jar /usr/local/message-service/

Expand Down
27 changes: 13 additions & 14 deletions message-service/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
id("org.springframework.boot") version "2.7.4"
id("io.spring.dependency-management") version "1.0.14.RELEASE"
kotlin("jvm") version "1.6.21"
kotlin("plugin.spring") version "1.6.21"
id("org.springframework.boot") version "3.0.1"
id("io.spring.dependency-management") version "1.1.0"
kotlin("jvm") version "1.7.22"
kotlin("plugin.spring") version "1.7.22"
}

group = "it.valeriovaudi"
Expand All @@ -14,21 +14,24 @@ repositories {
mavenCentral()
}

extra["springCloudVersion"] = "2021.0.4"

extra["springCloudVersion"] = "2022.0.0"

dependencies {
implementation("org.springframework.cloud:spring-cloud-starter")

implementation("org.springframework.cloud:spring-cloud-starter-kubernetes-client-all")

implementation("org.springframework.cloud:spring-cloud-starter-bootstrap")
implementation("org.springframework.boot:spring-boot-starter-data-mongodb-reactive")
implementation("org.springframework.boot:spring-boot-starter-webflux")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.cloud:spring-cloud-starter-kubernetes-client-all")

implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("org.jetbrains.kotlin:kotlin-reflect")

implementation("io.micrometer:micrometer-tracing-bridge-brave")
implementation("io.projectreactor.kotlin:reactor-kotlin-extensions")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor")
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
}


Expand All @@ -43,8 +46,4 @@ tasks.withType<KotlinCompile> {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "17"
}
}

tasks.withType<Test> {
useJUnitPlatform()
}
2 changes: 1 addition & 1 deletion message-service/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.data.annotation.Id
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
import org.springframework.web.reactive.function.BodyInserters.fromObject
import org.springframework.web.reactive.function.BodyInserters.fromValue
import org.springframework.web.reactive.function.server.router
import org.springframework.web.util.UriComponentsBuilder
import java.util.*
Expand All @@ -31,15 +31,15 @@ class MessageRoute(private val messageRepository: MessageRepository) {
GET("/message") {
messageRepository.findAll()
.collectList()
.flatMap { ok().body(fromObject(it)) }
.flatMap { ok().body(fromValue(it)) }
}

GET("/message/random") {
messageRepository.findAll()
.collectList()
.flatMap {
if (it.size != 0) {
ok().body(fromObject(it[Random().nextInt(it.size)]))
ok().body(fromValue(it[Random().nextInt(it.size)]))
} else {
notFound().build()
}
Expand All @@ -48,7 +48,7 @@ class MessageRoute(private val messageRepository: MessageRepository) {

GET("/message/{messageId}") {
messageRepository.findById(it.pathVariable("messageId"))
.flatMap { ok().body(fromObject(it)) }
.flatMap { ok().body(fromValue(it)) }
}

POST("/message") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ spring:
enabled: true
mode: polling
period: 5000
config:
sources:
- name: ${spring.application.name}

management:
endpoints:
Expand Down
2 changes: 1 addition & 1 deletion ui/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM openjdk:17
FROM amazoncorretto:17.0.4

ADD target/ui-interface.jar /usr/local/ui-interface/

Expand Down
Loading

0 comments on commit d426822

Please sign in to comment.