Skip to content

Commit 89b9893

Browse files
authored
Update spring version for api
* Update spring version for api * update github action Java version to 21
1 parent 38b1a42 commit 89b9893

File tree

13 files changed

+66
-68
lines changed

13 files changed

+66
-68
lines changed

.github/workflows/dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-20.04
1111
strategy:
1212
matrix:
13-
java: [ 17 ]
13+
java: [ 21 ]
1414
name: Build OPEX and run tests with java ${{ matrix.java }}
1515
steps:
1616
- name: Checkout Source Code

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-20.04
1111
strategy:
1212
matrix:
13-
java: [ 17 ]
13+
java: [ 21 ]
1414
name: Build OPEX and run tests with java ${{ matrix.java }}
1515
steps:
1616
- name: Checkout Source Code

.github/workflows/pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-20.04
1010
strategy:
1111
matrix:
12-
java: [ 17 ]
12+
java: [ 21 ]
1313
name: Build OPEX and run tests with java ${{ matrix.java }}
1414
steps:
1515
- name: Checkout Source Code

api/api-app/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM openjdk:11
1+
FROM openjdk:21
22
ARG JAR_FILE=target/*.jar
33
COPY ${JAR_FILE} app.jar
44
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -jar /app.jar"]

api/api-app/src/main/kotlin/co/nilin/opex/api/app/config/InitializeService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package co.nilin.opex.api.app.config
33
import co.nilin.opex.api.ports.postgres.dao.SymbolMapRepository
44
import co.nilin.opex.api.ports.postgres.model.SymbolMapModel
55
import co.nilin.opex.utility.preferences.Preferences
6+
import jakarta.annotation.PostConstruct
67
import kotlinx.coroutines.reactor.awaitSingleOrNull
78
import kotlinx.coroutines.runBlocking
89
import org.springframework.beans.factory.annotation.Autowired
910
import org.springframework.context.annotation.DependsOn
1011
import org.springframework.stereotype.Component
11-
import javax.annotation.PostConstruct
1212

1313
@Component
1414
@DependsOn("postgresConfig")

api/api-app/src/main/resources/application.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,18 +93,18 @@ logging:
9393
org.zalando.logbook: TRACE
9494
app:
9595
accountant:
96-
url: lb://opex-accountant
96+
url: http://opex-accountant
9797
matching-gateway:
98-
url: lb://opex-matching-gateway
98+
url: http://opex-matching-gateway
9999
wallet:
100-
url: lb://opex-wallet
100+
url: http://opex-wallet
101101
market:
102-
url: lb://opex-market
102+
url: http://opex-market
103103
opex-bc-gateway:
104-
url: lb://opex-bc-gateway
104+
url: http://opex-bc-gateway
105105
auth:
106-
cert-url: lb://opex-auth/auth/realms/opex/protocol/openid-connect/certs
107-
token-url: lb://opex-auth/auth/realms/opex/protocol/openid-connect/token
106+
cert-url: http://opex-auth/auth/realms/opex/protocol/openid-connect/certs
107+
token-url: http://opex-auth/auth/realms/opex/protocol/openid-connect/token
108108
api-key-client:
109109
secret: ${API_KEY_CLIENT_SECRET}
110110
binance:

api/api-ports/api-binance-rest/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@
4040
<groupId>org.springframework.cloud</groupId>
4141
<artifactId>spring-cloud-starter-consul-all</artifactId>
4242
</dependency>
43+
<dependency>
44+
<groupId>org.springframework.cloud</groupId>
45+
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
46+
</dependency>
4347
<dependency>
4448
<groupId>org.springframework.boot</groupId>
4549
<artifactId>spring-boot-starter-actuator</artifactId>

api/api-ports/api-binance-rest/src/main/kotlin/co/nilin/opex/api/ports/binance/config/SecurityConfig.kt

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package co.nilin.opex.api.ports.binance.config
22

33
import co.nilin.opex.api.core.spi.APIKeyFilter
4-
import org.springframework.beans.factory.annotation.Autowired
54
import org.springframework.beans.factory.annotation.Value
65
import org.springframework.context.annotation.Bean
6+
import org.springframework.context.annotation.Configuration
7+
import org.springframework.security.config.Customizer
78
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity
89
import org.springframework.security.config.web.server.SecurityWebFiltersOrder
910
import org.springframework.security.config.web.server.ServerHttpSecurity
@@ -14,37 +15,36 @@ import org.springframework.web.reactive.function.client.WebClient
1415
import org.springframework.web.server.WebFilter
1516

1617
@EnableWebFluxSecurity
17-
class SecurityConfig(private val webClient: WebClient) {
18-
18+
@Configuration
19+
class SecurityConfig(
20+
private val webClient: WebClient,
21+
private val apiKeyFilter: APIKeyFilter,
1922
@Value("\${app.auth.cert-url}")
20-
private lateinit var jwkUrl: String
21-
22-
@Autowired
23-
private lateinit var apiKeyFilter: APIKeyFilter
23+
private val jwkUrl: String
24+
) {
2425

2526
@Bean
26-
fun springSecurityFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain? {
27-
http.csrf().disable()
28-
.authorizeExchange()
29-
.pathMatchers("/actuator/**").permitAll()
30-
.pathMatchers("/swagger-ui/**").permitAll()
31-
.pathMatchers("/swagger-resources/**").permitAll()
32-
.pathMatchers("/v2/api-docs").permitAll()
33-
.pathMatchers("/v3/depth").permitAll()
34-
.pathMatchers("/v3/trades").permitAll()
35-
.pathMatchers("/v3/ticker/**").permitAll()
36-
.pathMatchers("/v3/exchangeInfo").permitAll()
37-
.pathMatchers("/v3/currencyInfo/**").permitAll()
38-
.pathMatchers("/v3/klines").permitAll()
39-
.pathMatchers("/socket").permitAll()
40-
.pathMatchers("/v1/landing/**").permitAll()
41-
.pathMatchers("/**").hasAuthority("SCOPE_trust")
42-
.anyExchange().authenticated()
43-
.and()
27+
fun springSecurityFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain {
28+
return http.csrf { it.disable() }
29+
.authorizeExchange {
30+
it.pathMatchers("/actuator/**").permitAll()
31+
.pathMatchers("/swagger-ui/**").permitAll()
32+
.pathMatchers("/swagger-resources/**").permitAll()
33+
.pathMatchers("/v2/api-docs").permitAll()
34+
.pathMatchers("/v3/depth").permitAll()
35+
.pathMatchers("/v3/trades").permitAll()
36+
.pathMatchers("/v3/ticker/**").permitAll()
37+
.pathMatchers("/v3/exchangeInfo").permitAll()
38+
.pathMatchers("/v3/currencyInfo/**").permitAll()
39+
.pathMatchers("/v3/klines").permitAll()
40+
.pathMatchers("/socket").permitAll()
41+
.pathMatchers("/v1/landing/**").permitAll()
42+
.pathMatchers("/**").hasAuthority("SCOPE_trust")
43+
.anyExchange().authenticated()
44+
}
4445
.addFilterBefore(apiKeyFilter as WebFilter, SecurityWebFiltersOrder.AUTHENTICATION)
45-
.oauth2ResourceServer()
46-
.jwt()
47-
return http.build()
46+
.oauth2ResourceServer { it.jwt(Customizer.withDefaults()) }
47+
.build()
4848
}
4949

5050
@Bean
Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,21 @@
11
package co.nilin.opex.api.ports.binance.config
22

3-
import org.springframework.cloud.client.ServiceInstance
4-
import org.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer
5-
import org.springframework.cloud.client.loadbalancer.reactive.ReactorLoadBalancerExchangeFilterFunction
3+
import org.springframework.cloud.client.loadbalancer.LoadBalanced
64
import org.springframework.context.annotation.Bean
75
import org.springframework.context.annotation.Configuration
8-
import org.springframework.http.client.reactive.ReactorClientHttpConnector
96
import org.springframework.web.reactive.function.client.WebClient
10-
import org.zalando.logbook.Logbook
11-
import org.zalando.logbook.netty.LogbookClientHandler
12-
import reactor.netty.http.client.HttpClient
137

148
@Configuration
159
class WebClientConfig {
1610

1711
@Bean
18-
fun webClient(loadBalancerFactory: ReactiveLoadBalancer.Factory<ServiceInstance>, logbook: Logbook): WebClient {
19-
val client = HttpClient.create().doOnConnected { it.addHandlerLast(LogbookClientHandler(logbook)) }
12+
@LoadBalanced
13+
fun webClientBuilder(): WebClient.Builder {
2014
return WebClient.builder()
21-
//.clientConnector(ReactorClientHttpConnector(client))
22-
.filter(ReactorLoadBalancerExchangeFilterFunction(loadBalancerFactory, emptyList()))
23-
.build()
2415
}
2516

17+
@Bean
18+
fun webClient(webclientBuilder: WebClient.Builder): WebClient {
19+
return webclientBuilder.build()
20+
}
2621
}
Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package co.nilin.opex.api.ports.binance.util
22

3-
import com.nimbusds.jose.shaded.json.JSONArray
43
import org.springframework.security.core.context.SecurityContext
54
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken
65

@@ -10,10 +9,4 @@ fun SecurityContext.jwtAuthentication(): JwtAuthenticationToken {
109

1110
fun JwtAuthenticationToken.tokenValue(): String {
1211
return this.token.tokenValue
13-
}
14-
15-
fun JwtAuthenticationToken.roles(): List<String> {
16-
val list = arrayListOf<String>()
17-
(token.claims["roles"] as JSONArray?)?.forEach { list.add(it as String) }
18-
return list
1912
}

0 commit comments

Comments
 (0)