From 0f0c30bfa2efad0080b0243b41d0b10a27b1d730 Mon Sep 17 00:00:00 2001 From: Sandesh <30489233+j-sandy@users.noreply.github.com> Date: Wed, 2 Oct 2024 21:31:34 +0530 Subject: [PATCH 1/8] refactor(dependency): add explicit dependency of google-http-client-jackson2 in kayenta-google while upgrading spockframework 2.3 (#1061) While upgrading spockframework 2.3-groovy-4.0, encountered below error during the build process of kayenta-google module: ``` /kayenta/kayenta-google/src/main/java/com/netflix/kayenta/google/security/GoogleClientFactory.java:24: error: package com.google.api.client.json.jackson2 does not exist import com.google.api.client.json.jackson2.JacksonFactory; ``` Further, dependency insight does not show the dependency of `google-http-client-jackson2`: ``` > Task :kayenta-google:dependencyInsight No dependencies matching given input were found in configuration ':kayenta-google:compileClasspath' ``` Whereas, before the spockframework upgrade this dependency transitively appears in insight: ``` > Task :kayenta-google:dependencyInsight com.google.http-client:google-http-client-jackson2:1.41.7 Variant compile: | Attribute Name | Provided | Requested | |--------------------------------|----------|-------------------| | org.gradle.status | release | | | org.gradle.category | library | library | | org.gradle.libraryelements | jar | classes+resources | | org.gradle.usage | java-api | java-api | | org.gradle.dependency.bundling | | external | | org.gradle.jvm.environment | | standard-jvm | | org.gradle.jvm.version | | 11 | Selection reasons: - By constraint - Forced com.google.http-client:google-http-client-jackson2:1.41.7 \--- io.spinnaker.orca:orca-bom:8.55.0 \--- compileClasspath com.google.http-client:google-http-client-jackson2:1.36.0 -> 1.41.7 \--- com.google.api-client:google-api-client:1.30.10 +--- io.spinnaker.orca:orca-bom:8.55.0 | \--- compileClasspath +--- com.google.apis:google-api-services-monitoring:v3-rev477-1.25.0 (requested com.google.api-client:google-api-client:1.25.0) | +--- compileClasspath (requested com.google.apis:google-api-services-monitoring) | \--- io.spinnaker.orca:orca-bom:8.55.0 (*) \--- com.google.apis:google-api-services-storage:v1-rev141-1.25.0 (requested com.google.api-client:google-api-client:1.25.0) +--- compileClasspath (requested com.google.apis:google-api-services-storage) \--- io.spinnaker.orca:orca-bom:8.55.0 (*) ``` So, adding explicit dependency of `google-http-client-jackson2` in kayenta-google.gradle Dependency insight after refactor: ``` > Task :kayenta-google:dependencyInsight com.google.http-client:google-http-client-jackson2:1.41.7 Variant compile: | Attribute Name | Provided | Requested | |--------------------------------|----------|-------------------| | org.gradle.status | release | | | org.gradle.category | library | library | | org.gradle.libraryelements | jar | classes+resources | | org.gradle.usage | java-api | java-api | | org.gradle.dependency.bundling | | external | | org.gradle.jvm.environment | | standard-jvm | | org.gradle.jvm.version | | 11 | Selection reasons: - By constraint - Forced com.google.http-client:google-http-client-jackson2:1.41.7 \--- io.spinnaker.orca:orca-bom:spock-2-3-SNAPSHOT \--- compileClasspath com.google.http-client:google-http-client-jackson2 -> 1.41.7 \--- compileClasspath ``` --- kayenta-google/kayenta-google.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/kayenta-google/kayenta-google.gradle b/kayenta-google/kayenta-google.gradle index 9fdba99f2..b914811d3 100644 --- a/kayenta-google/kayenta-google.gradle +++ b/kayenta-google/kayenta-google.gradle @@ -5,4 +5,5 @@ dependencies { api "com.google.apis:google-api-services-storage" implementation "com.google.auth:google-auth-library-oauth2-http" + implementation "com.google.http-client:google-http-client-jackson2" } From 09c5b291b712eecf184da2aa1bb1e004da2ce25f Mon Sep 17 00:00:00 2001 From: spinnakerbot Date: Thu, 3 Oct 2024 14:18:40 -0400 Subject: [PATCH 2/8] chore(dependencies): Autobump orcaVersion (#1062) Co-authored-by: root --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 967902fba..f83e7e792 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -orcaVersion=8.55.0 +orcaVersion=8.56.0 org.gradle.parallel=true spinnakerGradleVersion=8.32.1 targetJava17=false From 38202d7538a9ada7b1b2a2be0e952da6733884ff Mon Sep 17 00:00:00 2001 From: Kiran Godishala <53332225+kirangodishala@users.noreply.github.com> Date: Thu, 7 Nov 2024 22:44:17 +0530 Subject: [PATCH 3/8] refactor(retrofit): replace com.squareup.okhttp.OkHttpClient with okhttp3.OkHttpClient (#1063) --- .../atlas/backends/AtlasStorageUpdater.java | 2 +- .../backends/AtlasStorageUpdaterService.java | 2 +- .../atlas/backends/BackendUpdater.java | 2 +- .../atlas/backends/BackendUpdaterService.java | 2 +- .../atlas/metrics/AtlasMetricsService.java | 10 +++--- .../config/RetrofitClientConfiguration.java | 22 +++--------- .../config/RetrofitClientFactory.java | 35 +++++-------------- .../datadog/config/DatadogConfiguration.java | 2 +- ...sDoNotLeakWhenApiCalledFunctionalTest.java | 2 +- .../config/GraphiteConfiguration.java | 2 +- .../config/InfluxDbConfiguration.java | 2 +- .../netflix/kayenta/judge/RemoteJudge.java | 10 +++--- .../config/NewRelicConfiguration.java | 2 +- .../config/ConfigBinConfiguration.java | 2 +- .../config/PrometheusConfiguration.java | 2 +- .../service/PrometheusRemoteServiceTest.java | 2 +- .../config/SignalFxConfiguration.java | 2 +- .../config/SignalFxConfigLoadTest.java | 2 +- .../config/WavefrontConfiguration.java | 2 +- 19 files changed, 39 insertions(+), 68 deletions(-) diff --git a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/AtlasStorageUpdater.java b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/AtlasStorageUpdater.java index 56bfb558b..9fef2e0ae 100644 --- a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/AtlasStorageUpdater.java +++ b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/AtlasStorageUpdater.java @@ -23,12 +23,12 @@ import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerHttpException; import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerServerException; import com.netflix.spinnaker.security.AuthenticatedRequest; -import com.squareup.okhttp.OkHttpClient; import java.util.Map; import javax.validation.constraints.NotNull; import lombok.Builder; import lombok.Getter; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import retrofit.converter.JacksonConverter; @Slf4j diff --git a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/AtlasStorageUpdaterService.java b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/AtlasStorageUpdaterService.java index b653cad66..c92d2cad5 100644 --- a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/AtlasStorageUpdaterService.java +++ b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/AtlasStorageUpdaterService.java @@ -17,10 +17,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; -import com.squareup.okhttp.OkHttpClient; import java.util.ArrayList; import java.util.List; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.health.AbstractHealthIndicator; import org.springframework.boot.actuate.health.Health; diff --git a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/BackendUpdater.java b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/BackendUpdater.java index 0ce2bf9dd..2f76ae941 100644 --- a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/BackendUpdater.java +++ b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/BackendUpdater.java @@ -23,12 +23,12 @@ import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerHttpException; import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerServerException; import com.netflix.spinnaker.security.AuthenticatedRequest; -import com.squareup.okhttp.OkHttpClient; import java.util.List; import javax.validation.constraints.NotNull; import lombok.Builder; import lombok.Getter; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import retrofit.converter.JacksonConverter; @Slf4j diff --git a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/BackendUpdaterService.java b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/BackendUpdaterService.java index b20e9dc50..1d39d94b1 100644 --- a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/BackendUpdaterService.java +++ b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/backends/BackendUpdaterService.java @@ -17,10 +17,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; -import com.squareup.okhttp.OkHttpClient; import java.util.ArrayList; import java.util.List; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.health.AbstractHealthIndicator; import org.springframework.boot.actuate.health.Health; diff --git a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/metrics/AtlasMetricsService.java b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/metrics/AtlasMetricsService.java index 2e3a0c2db..713b594de 100644 --- a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/metrics/AtlasMetricsService.java +++ b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/metrics/AtlasMetricsService.java @@ -39,7 +39,6 @@ import com.netflix.kayenta.security.AccountCredentialsRepository; import com.netflix.kayenta.util.Retry; import com.netflix.spectator.api.Registry; -import com.squareup.okhttp.OkHttpClient; import java.time.Duration; import java.time.Instant; import java.util.*; @@ -50,6 +49,7 @@ import lombok.Getter; import lombok.Singular; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.beans.factory.annotation.Autowired; @Builder @@ -94,9 +94,11 @@ public List queryMetrics( CanaryMetricConfig canaryMetricConfig, CanaryScope canaryScope) { - OkHttpClient okHttpClient = new OkHttpClient(); - okHttpClient.setConnectTimeout(30, TimeUnit.SECONDS); - okHttpClient.setReadTimeout(90, TimeUnit.SECONDS); + OkHttpClient okHttpClient = + new OkHttpClient.Builder() + .connectTimeout(30, TimeUnit.SECONDS) + .readTimeout(90, TimeUnit.SECONDS) + .build(); if (!(canaryScope instanceof AtlasCanaryScope)) { throw new IllegalArgumentException( diff --git a/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientConfiguration.java b/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientConfiguration.java index 3037cc929..ea2ecbd40 100644 --- a/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientConfiguration.java +++ b/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientConfiguration.java @@ -19,11 +19,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.netflix.kayenta.atlas.config.KayentaSerializationConfigurationProperties; import com.netflix.kayenta.config.KayentaConfiguration; -import com.netflix.spinnaker.config.OkHttpClientConfiguration; +import com.netflix.spinnaker.config.OkHttp3ClientConfiguration; import com.netflix.spinnaker.orca.retrofit.exceptions.SpinnakerServerExceptionHandler; -import com.squareup.okhttp.ConnectionPool; -import com.squareup.okhttp.OkHttpClient; -import org.springframework.beans.factory.annotation.Value; +import okhttp3.OkHttpClient; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.*; @@ -33,22 +31,10 @@ @Configuration public class RetrofitClientConfiguration { - @Value("${ok-http-client.connection-pool.max-idle-connections:5}") - int maxIdleConnections; - - @Value("${ok-http-client.connection-pool.keep-alive-duration-ms:300000}") - int keepAliveDurationMs; - - @Value("${ok-http-client.retry-on-connection-failure:true}") - boolean retryOnConnectionFailure; - @Bean @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - OkHttpClient okHttpClient(OkHttpClientConfiguration okHttpClientConfig) { - OkHttpClient okHttpClient = okHttpClientConfig.create(); - okHttpClient.setConnectionPool(new ConnectionPool(maxIdleConnections, keepAliveDurationMs)); - okHttpClient.setRetryOnConnectionFailure(retryOnConnectionFailure); - return okHttpClient; + OkHttpClient okHttpClient(OkHttp3ClientConfiguration okHttp3ClientConfig) { + return okHttp3ClientConfig.create().build(); } @Bean diff --git a/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientFactory.java b/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientFactory.java index 1067fecd4..4380fb40e 100644 --- a/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientFactory.java +++ b/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientFactory.java @@ -19,19 +19,16 @@ import static retrofit.Endpoints.newFixedEndpoint; import com.fasterxml.jackson.databind.ObjectMapper; +import com.jakewharton.retrofit.Ok3Client; import com.netflix.spinnaker.kork.annotations.VisibleForTesting; import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerRetrofitErrorHandler; import com.netflix.spinnaker.retrofit.Slf4jRetrofitLogger; -import com.squareup.okhttp.Authenticator; import com.squareup.okhttp.Credentials; -import com.squareup.okhttp.OkHttpClient; -import com.squareup.okhttp.Request; -import com.squareup.okhttp.Response; import java.io.IOException; -import java.net.Proxy; import java.nio.file.Files; import java.nio.file.Paths; import java.util.function.Function; +import okhttp3.OkHttpClient; import org.apache.commons.lang3.StringUtils; import org.apache.tomcat.util.codec.binary.Base64; import org.springframework.beans.factory.annotation.Value; @@ -39,7 +36,6 @@ import org.springframework.stereotype.Component; import retrofit.Endpoint; import retrofit.RestAdapter; -import retrofit.client.OkClient; import retrofit.converter.Converter; import retrofit.converter.JacksonConverter; @@ -118,7 +114,7 @@ public T createClient( return new RestAdapter.Builder() .setEndpoint(endpoint) - .setClient(new OkClient(okHttpClient)) + .setClient(new Ok3Client(okHttpClient)) .setConverter(converter) .setErrorHandler(SpinnakerRetrofitErrorHandler.getInstance()) .setLogLevel(RestAdapter.LogLevel.valueOf(retrofitLogLevel)) @@ -143,25 +139,10 @@ private static OkHttpClient createAuthenticatedClient( credential = Credentials.basic(username, password); } - OkHttpClient httpClient = new OkHttpClient(); - - httpClient.setAuthenticator( - new Authenticator() { - @Override - public Request authenticate(Proxy proxy, Response response) throws IOException { - return response.request().newBuilder().header("Authorization", credential).build(); - } - - @Override - public Request authenticateProxy(Proxy proxy, Response response) throws IOException { - return response - .request() - .newBuilder() - .header("Proxy-Authorization", credential) - .build(); - } - }); - - return httpClient; + return new OkHttpClient.Builder() + .authenticator( + (route, response) -> + response.request().newBuilder().header("Authorization", credential).build()) + .build(); } } diff --git a/kayenta-datadog/src/main/java/com/netflix/kayenta/datadog/config/DatadogConfiguration.java b/kayenta-datadog/src/main/java/com/netflix/kayenta/datadog/config/DatadogConfiguration.java index ec58253a8..d42c37733 100644 --- a/kayenta-datadog/src/main/java/com/netflix/kayenta/datadog/config/DatadogConfiguration.java +++ b/kayenta-datadog/src/main/java/com/netflix/kayenta/datadog/config/DatadogConfiguration.java @@ -27,10 +27,10 @@ import com.netflix.kayenta.security.AccountCredentials; import com.netflix.kayenta.security.AccountCredentialsRepository; import com.netflix.spinnaker.kork.annotations.VisibleForTesting; -import com.squareup.okhttp.OkHttpClient; import java.io.IOException; import java.util.List; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; diff --git a/kayenta-datadog/src/test/java/com/netflix/kayenta/datadog/functional/DatadogSecretsDoNotLeakWhenApiCalledFunctionalTest.java b/kayenta-datadog/src/test/java/com/netflix/kayenta/datadog/functional/DatadogSecretsDoNotLeakWhenApiCalledFunctionalTest.java index 629f87f30..2f7fdbb62 100644 --- a/kayenta-datadog/src/test/java/com/netflix/kayenta/datadog/functional/DatadogSecretsDoNotLeakWhenApiCalledFunctionalTest.java +++ b/kayenta-datadog/src/test/java/com/netflix/kayenta/datadog/functional/DatadogSecretsDoNotLeakWhenApiCalledFunctionalTest.java @@ -33,11 +33,11 @@ import com.netflix.kayenta.retrofit.config.RemoteService; import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; import com.netflix.spinnaker.retrofit.Slf4jRetrofitLogger; -import com.squareup.okhttp.OkHttpClient; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.List; import java.util.stream.Collectors; +import okhttp3.OkHttpClient; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/kayenta-graphite/src/main/java/com/netflix/kayenta/graphite/config/GraphiteConfiguration.java b/kayenta-graphite/src/main/java/com/netflix/kayenta/graphite/config/GraphiteConfiguration.java index 5fbace763..6b883dd2e 100644 --- a/kayenta-graphite/src/main/java/com/netflix/kayenta/graphite/config/GraphiteConfiguration.java +++ b/kayenta-graphite/src/main/java/com/netflix/kayenta/graphite/config/GraphiteConfiguration.java @@ -25,10 +25,10 @@ import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; import com.netflix.kayenta.security.AccountCredentials; import com.netflix.kayenta.security.AccountCredentialsRepository; -import com.squareup.okhttp.OkHttpClient; import java.io.IOException; import java.util.List; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; diff --git a/kayenta-influxdb/src/main/java/com/netflix/kayenta/influxdb/config/InfluxDbConfiguration.java b/kayenta-influxdb/src/main/java/com/netflix/kayenta/influxdb/config/InfluxDbConfiguration.java index df2c38fd0..015441904 100644 --- a/kayenta-influxdb/src/main/java/com/netflix/kayenta/influxdb/config/InfluxDbConfiguration.java +++ b/kayenta-influxdb/src/main/java/com/netflix/kayenta/influxdb/config/InfluxDbConfiguration.java @@ -25,10 +25,10 @@ import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; import com.netflix.kayenta.security.AccountCredentials; import com.netflix.kayenta.security.AccountCredentialsRepository; -import com.squareup.okhttp.OkHttpClient; import java.io.IOException; import java.util.List; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; diff --git a/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/RemoteJudge.java b/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/RemoteJudge.java index b6f6b81d0..52ed818a8 100644 --- a/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/RemoteJudge.java +++ b/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/RemoteJudge.java @@ -27,10 +27,10 @@ import com.netflix.kayenta.metrics.MetricSetPair; import com.netflix.kayenta.retrofit.config.RemoteService; import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; -import com.squareup.okhttp.OkHttpClient; import java.util.List; import java.util.concurrent.TimeUnit; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; import retrofit.converter.JacksonConverter; @@ -73,9 +73,11 @@ public CanaryJudgeResult judge( CanaryClassifierThresholdsConfig scoreThresholds, List metricSetPairList) { - OkHttpClient okHttpClient = new OkHttpClient(); - okHttpClient.setConnectTimeout(30, TimeUnit.SECONDS); - okHttpClient.setReadTimeout(90, TimeUnit.SECONDS); + OkHttpClient okHttpClient = + new OkHttpClient.Builder() + .connectTimeout(30, TimeUnit.SECONDS) + .readTimeout(90, TimeUnit.SECONDS) + .build(); RemoteJudgeService remoteJudge = retrofitClientFactory.createClient( diff --git a/kayenta-newrelic-insights/src/main/java/com/netflix/kayenta/newrelic/config/NewRelicConfiguration.java b/kayenta-newrelic-insights/src/main/java/com/netflix/kayenta/newrelic/config/NewRelicConfiguration.java index 14df487b5..6b8d835af 100644 --- a/kayenta-newrelic-insights/src/main/java/com/netflix/kayenta/newrelic/config/NewRelicConfiguration.java +++ b/kayenta-newrelic-insights/src/main/java/com/netflix/kayenta/newrelic/config/NewRelicConfiguration.java @@ -26,11 +26,11 @@ import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; import com.netflix.kayenta.security.AccountCredentials; import com.netflix.kayenta.security.AccountCredentialsRepository; -import com.squareup.okhttp.OkHttpClient; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; diff --git a/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/config/ConfigBinConfiguration.java b/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/config/ConfigBinConfiguration.java index 44210413b..f7099110a 100644 --- a/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/config/ConfigBinConfiguration.java +++ b/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/config/ConfigBinConfiguration.java @@ -24,9 +24,9 @@ import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; import com.netflix.kayenta.security.AccountCredentials; import com.netflix.kayenta.security.AccountCredentialsRepository; -import com.squareup.okhttp.OkHttpClient; import java.util.List; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; diff --git a/kayenta-prometheus/src/main/java/com/netflix/kayenta/prometheus/config/PrometheusConfiguration.java b/kayenta-prometheus/src/main/java/com/netflix/kayenta/prometheus/config/PrometheusConfiguration.java index 4a4dc220b..17acbdf0c 100644 --- a/kayenta-prometheus/src/main/java/com/netflix/kayenta/prometheus/config/PrometheusConfiguration.java +++ b/kayenta-prometheus/src/main/java/com/netflix/kayenta/prometheus/config/PrometheusConfiguration.java @@ -26,10 +26,10 @@ import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; import com.netflix.kayenta.security.AccountCredentials; import com.netflix.kayenta.security.AccountCredentialsRepository; -import com.squareup.okhttp.OkHttpClient; import java.io.IOException; import java.util.List; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.condition.AllNestedConditions; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; diff --git a/kayenta-prometheus/src/test/java/com/netflix/kayenta/prometheus/service/PrometheusRemoteServiceTest.java b/kayenta-prometheus/src/test/java/com/netflix/kayenta/prometheus/service/PrometheusRemoteServiceTest.java index c633be76e..d74d71a70 100644 --- a/kayenta-prometheus/src/test/java/com/netflix/kayenta/prometheus/service/PrometheusRemoteServiceTest.java +++ b/kayenta-prometheus/src/test/java/com/netflix/kayenta/prometheus/service/PrometheusRemoteServiceTest.java @@ -28,7 +28,6 @@ import com.netflix.kayenta.retrofit.config.RemoteService; import com.netflix.kayenta.retrofit.config.RetrofitClientFactory; import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerServerException; -import com.squareup.okhttp.OkHttpClient; import java.io.File; import java.nio.charset.StandardCharsets; import java.util.Arrays; @@ -36,6 +35,7 @@ import java.util.List; import java.util.Scanner; import lombok.SneakyThrows; +import okhttp3.OkHttpClient; import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/kayenta-signalfx/src/main/java/com/netflix/kayenta/signalfx/config/SignalFxConfiguration.java b/kayenta-signalfx/src/main/java/com/netflix/kayenta/signalfx/config/SignalFxConfiguration.java index 7142986ca..2ca3aea7a 100644 --- a/kayenta-signalfx/src/main/java/com/netflix/kayenta/signalfx/config/SignalFxConfiguration.java +++ b/kayenta-signalfx/src/main/java/com/netflix/kayenta/signalfx/config/SignalFxConfiguration.java @@ -27,12 +27,12 @@ import com.netflix.kayenta.signalfx.security.SignalFxNamedAccountCredentials; import com.netflix.kayenta.signalfx.service.SignalFxConverter; import com.netflix.kayenta.signalfx.service.SignalFxSignalFlowRemoteService; -import com.squareup.okhttp.OkHttpClient; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; diff --git a/kayenta-signalfx/src/test/java/com/netflix/kayenta/signalfx/config/SignalFxConfigLoadTest.java b/kayenta-signalfx/src/test/java/com/netflix/kayenta/signalfx/config/SignalFxConfigLoadTest.java index 41c038dc6..8d4a49959 100644 --- a/kayenta-signalfx/src/test/java/com/netflix/kayenta/signalfx/config/SignalFxConfigLoadTest.java +++ b/kayenta-signalfx/src/test/java/com/netflix/kayenta/signalfx/config/SignalFxConfigLoadTest.java @@ -24,8 +24,8 @@ import com.netflix.kayenta.security.AccountCredentials; import com.netflix.kayenta.security.AccountCredentialsRepository; import com.netflix.kayenta.security.MapBackedAccountCredentialsRepository; -import com.squareup.okhttp.OkHttpClient; import java.util.List; +import okhttp3.OkHttpClient; import org.junit.jupiter.api.Test; public class SignalFxConfigLoadTest { diff --git a/kayenta-wavefront/src/main/java/com/netflix/kayenta/wavefront/config/WavefrontConfiguration.java b/kayenta-wavefront/src/main/java/com/netflix/kayenta/wavefront/config/WavefrontConfiguration.java index 673413ac7..a1f222b06 100644 --- a/kayenta-wavefront/src/main/java/com/netflix/kayenta/wavefront/config/WavefrontConfiguration.java +++ b/kayenta-wavefront/src/main/java/com/netflix/kayenta/wavefront/config/WavefrontConfiguration.java @@ -24,10 +24,10 @@ import com.netflix.kayenta.wavefront.security.WavefrontCredentials; import com.netflix.kayenta.wavefront.security.WavefrontNamedAccountCredentials; import com.netflix.kayenta.wavefront.service.WavefrontRemoteService; -import com.squareup.okhttp.OkHttpClient; import java.io.IOException; import java.util.List; import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; From 200eb962d4e8d837f00b5dd64cb1b372157757fe Mon Sep 17 00:00:00 2001 From: Kiran Godishala <53332225+kirangodishala@users.noreply.github.com> Date: Thu, 14 Nov 2024 22:58:51 +0530 Subject: [PATCH 4/8] refactor(retrofit): remove all com.squareup.okhttp dependencies (#1064) --- build.gradle | 3 --- kayenta-atlas/kayenta-atlas.gradle | 4 ---- .../kayenta/retrofit/config/RetrofitClientFactory.java | 2 +- .../kayenta/configbin/config/ConfigBinResponseConverter.java | 2 +- .../kayenta/configbin/service/ConfigBinRemoteService.java | 2 +- .../kayenta/configbin/storage/ConfigBinStorageService.java | 4 ++-- 6 files changed, 5 insertions(+), 12 deletions(-) diff --git a/build.gradle b/build.gradle index f275981ae..dfa601883 100644 --- a/build.gradle +++ b/build.gradle @@ -96,9 +96,6 @@ subprojects { project -> api "com.squareup.retrofit:retrofit" api "com.squareup.retrofit:converter-jackson" - api "com.squareup.okhttp:okhttp" - api "com.squareup.okhttp:okhttp-urlconnection" - api "com.squareup.okhttp:okhttp-apache" testImplementation "org.springframework.boot:spring-boot-starter-test" testImplementation "org.spockframework:spock-core" diff --git a/kayenta-atlas/kayenta-atlas.gradle b/kayenta-atlas/kayenta-atlas.gradle index 0b018e772..e62990d47 100644 --- a/kayenta-atlas/kayenta-atlas.gradle +++ b/kayenta-atlas/kayenta-atlas.gradle @@ -3,10 +3,6 @@ dependencies { api "com.squareup.retrofit:retrofit" api "com.squareup.retrofit:converter-jackson" - api "com.squareup.okhttp:okhttp" - api "com.squareup.okhttp:okhttp-urlconnection" - api "com.squareup.okhttp:okhttp-apache" - api "org.apache.commons:commons-io:1.3.2" implementation "io.spinnaker.kork:kork-retrofit" diff --git a/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientFactory.java b/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientFactory.java index 4380fb40e..d7dcee2bb 100644 --- a/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientFactory.java +++ b/kayenta-core/src/main/java/com/netflix/kayenta/retrofit/config/RetrofitClientFactory.java @@ -23,11 +23,11 @@ import com.netflix.spinnaker.kork.annotations.VisibleForTesting; import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerRetrofitErrorHandler; import com.netflix.spinnaker.retrofit.Slf4jRetrofitLogger; -import com.squareup.okhttp.Credentials; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.function.Function; +import okhttp3.Credentials; import okhttp3.OkHttpClient; import org.apache.commons.lang3.StringUtils; import org.apache.tomcat.util.codec.binary.Base64; diff --git a/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/config/ConfigBinResponseConverter.java b/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/config/ConfigBinResponseConverter.java index aaa60a56f..bf90f4c1e 100644 --- a/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/config/ConfigBinResponseConverter.java +++ b/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/config/ConfigBinResponseConverter.java @@ -16,7 +16,6 @@ package com.netflix.kayenta.configbin.config; -import com.squareup.okhttp.RequestBody; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -24,6 +23,7 @@ import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import lombok.extern.slf4j.Slf4j; +import okhttp3.RequestBody; import okio.Buffer; import org.springframework.stereotype.Component; import retrofit.converter.ConversionException; diff --git a/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/service/ConfigBinRemoteService.java b/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/service/ConfigBinRemoteService.java index b3a576719..4a39d1f82 100644 --- a/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/service/ConfigBinRemoteService.java +++ b/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/service/ConfigBinRemoteService.java @@ -16,7 +16,7 @@ package com.netflix.kayenta.configbin.service; -import com.squareup.okhttp.RequestBody; +import okhttp3.RequestBody; import retrofit.client.Response; import retrofit.http.*; diff --git a/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/storage/ConfigBinStorageService.java b/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/storage/ConfigBinStorageService.java index db1606863..428e6044c 100644 --- a/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/storage/ConfigBinStorageService.java +++ b/kayenta-objectstore-configbin/src/main/java/com/netflix/kayenta/configbin/storage/ConfigBinStorageService.java @@ -33,8 +33,6 @@ import com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerServerException; import com.netflix.spinnaker.kork.web.exceptions.NotFoundException; import com.netflix.spinnaker.security.AuthenticatedRequest; -import com.squareup.okhttp.MediaType; -import com.squareup.okhttp.RequestBody; import java.io.IOException; import java.time.Instant; import java.util.*; @@ -44,6 +42,8 @@ import lombok.Getter; import lombok.Singular; import lombok.extern.slf4j.Slf4j; +import okhttp3.MediaType; +import okhttp3.RequestBody; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; From ea46554a7aa73b103eee315892a25a4e9b4490ab Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 15 Nov 2024 17:27:22 -0600 Subject: [PATCH 5/8] chore(java): Full Java 17 support only (#1065) * chore(java): Full Java 17 support only * chore(java): Full Java 17 support only --- .github/workflows/build.yml | 28 +--------------------------- .github/workflows/pr.yml | 27 ++------------------------- .github/workflows/release.yml | 30 ++---------------------------- Dockerfile | 2 +- Dockerfile.compile | 4 ++-- Dockerfile.java11.slim | 10 ---------- Dockerfile.java11.ubuntu | 9 --------- gradle.properties | 2 ++ 8 files changed, 10 insertions(+), 102 deletions(-) delete mode 100644 Dockerfile.java11.slim delete mode 100644 Dockerfile.java11.ubuntu diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c1978ea2..98b0e57ab 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,6 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -38,7 +37,7 @@ jobs: - name: Build env: ORG_GRADLE_PROJECT_version: ${{ steps.build_variables.outputs.VERSION }} - run: ./gradlew -PenableCrossCompilerPlugin=true build --stacktrace ${{ steps.build_variables.outputs.REPO }}-web:installDist + run: ./gradlew build --stacktrace ${{ steps.build_variables.outputs.REPO }}-web:installDist - name: Build local slim container image for testing uses: docker/build-push-action@v6 with: @@ -87,28 +86,3 @@ jobs: tags: | "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-unvalidated-ubuntu" "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-unvalidated-ubuntu" - - name: Build and publish slim JRE 11 container image - # Only run this on repositories in the 'spinnaker' org, not on forks. - if: startsWith(github.repository, 'spinnaker/') - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.slim - platforms: linux/amd64,linux/arm64 - push: true - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated-slim" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-slim" - - name: Build and publish ubuntu JRE 11 container image - # Only run this on repositories in the 'spinnaker' org, not on forks. - if: startsWith(github.repository, 'spinnaker/') - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.ubuntu - push: true - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated-ubuntu" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-ubuntu" diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index ad71e598d..d88526491 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -23,11 +23,10 @@ jobs: - name: Gradle validation step uses: gradle/wrapper-validation-action@v3 - - name: Set up JDK 11 + - name: Set up JDK uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -55,7 +54,6 @@ jobs: uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -77,7 +75,6 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -89,7 +86,7 @@ jobs: - name: Build env: ORG_GRADLE_PROJECT_version: ${{ steps.build_variables.outputs.VERSION }} - run: ./gradlew -PenableCrossCompilerPlugin=true build ${{ steps.build_variables.outputs.REPO }}-web:installDist $GRADLE_ARGS + run: ./gradlew build ${{ steps.build_variables.outputs.REPO }}-web:installDist $GRADLE_ARGS - name: Build slim container image uses: docker/build-push-action@v6 @@ -111,26 +108,6 @@ jobs: tags: | "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-ubuntu" "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-ubuntu" - - name: Build slim JRE 11 container image - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.slim - platforms: linux/amd64,linux/arm64 - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11-slim" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-slim" - - name: Build ubuntu JRE 11 container image - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.ubuntu - platforms: linux/amd64,linux/arm64 - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11-ubuntu" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-ubuntu" - name: Build local slim container image for testing uses: docker/build-push-action@v6 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4ec132e3d..48db9fa9a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,7 +24,6 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -52,14 +51,14 @@ jobs: ORG_GRADLE_PROJECT_nexusPgpSigningKey: ${{ secrets.NEXUS_PGP_SIGNING_KEY }} ORG_GRADLE_PROJECT_nexusPgpSigningPassword: ${{ secrets.NEXUS_PGP_SIGNING_PASSWORD }} run: | - ./gradlew -PenableCrossCompilerPlugin=true --info build ${{ steps.build_variables.outputs.REPO }}-web:installDist publishToNexus closeAndReleaseNexusStagingRepository + ./gradlew --info build ${{ steps.build_variables.outputs.REPO }}-web:installDist publishToNexus closeAndReleaseNexusStagingRepository - name: Publish apt packages to Google Artifact Registry env: ORG_GRADLE_PROJECT_version: ${{ steps.release_info.outputs.RELEASE_VERSION }} ORG_GRADLE_PROJECT_artifactRegistryPublishEnabled: true GAR_JSON_KEY: ${{ secrets.GAR_JSON_KEY }} run: | - ./gradlew -PenableCrossCompilerPlugin=true --info publish + ./gradlew --info publish - name: Login to Google Cloud # Only run this on repositories in the 'spinnaker' org, not on forks. if: startsWith(github.repository, 'spinnaker/') @@ -110,31 +109,6 @@ jobs: tags: | "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-unvalidated-ubuntu" "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-unvalidated-ubuntu" - - name: Build and publish slim JRE 11 container image - # Only run this on repositories in the 'spinnaker' org, not on forks. - if: startsWith(github.repository, 'spinnaker/') - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.slim - platforms: linux/amd64,linux/arm64 - push: true - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated-slim" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-slim" - - name: Build and publish ubuntu JRE 11 container image - # Only run this on repositories in the 'spinnaker' org, not on forks. - if: startsWith(github.repository, 'spinnaker/') - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.ubuntu - platforms: linux/amd64,linux/arm64 - push: true - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated-ubuntu" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-ubuntu" - name: Create release if: steps.release_info.outputs.SKIP_RELEASE == 'false' uses: softprops/action-gh-release@v2 diff --git a/Dockerfile b/Dockerfile index 291e2da05..d089c2ae6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,7 +23,7 @@ FROM alpine:3.16 LABEL maintainer="delivery-engineering@netflix.com" -RUN apk --no-cache add --update openjdk11-jre +RUN apk --no-cache add --update openjdk17-jre # Set where to look for config from ENV KAYENTA_OPTS=-Dspring.config.location=file:/opt/kayenta/config/kayenta.yml diff --git a/Dockerfile.compile b/Dockerfile.compile index 17b5f1283..8a73bf22b 100644 --- a/Dockerfile.compile +++ b/Dockerfile.compile @@ -1,8 +1,8 @@ FROM alpine:3.16 RUN apk add --update \ - openjdk11 \ + openjdk17 \ && rm -rf /var/cache/apk LABEL maintainer="sig-platform@spinnaker.io" ENV GRADLE_USER_HOME /workspace/.gradle ENV GRADLE_OPTS -Xmx4g -CMD ./gradlew -PenableCrossCompilerPlugin=true --no-daemon kayenta-web:installDist -x test +CMD ./gradlew --no-daemon kayenta-web:installDist -x test diff --git a/Dockerfile.java11.slim b/Dockerfile.java11.slim deleted file mode 100644 index b41d85463..000000000 --- a/Dockerfile.java11.slim +++ /dev/null @@ -1,10 +0,0 @@ -FROM alpine:3.16 -LABEL maintainer="sig-platform@spinnaker.io" -RUN apk --no-cache add --update bash curl openjdk11-jre -RUN addgroup -S -g 10111 spinnaker -RUN adduser -S -G spinnaker -u 10111 spinnaker -COPY kayenta-web/build/install/kayenta /opt/kayenta -RUN mkdir -p /opt/kayenta/plugins && chown -R spinnaker:nogroup /opt/kayenta/plugins -USER spinnaker -HEALTHCHECK CMD curl --fail http://localhost:8090/health -CMD ["/opt/kayenta/bin/kayenta"] diff --git a/Dockerfile.java11.ubuntu b/Dockerfile.java11.ubuntu deleted file mode 100644 index 7f7de94b7..000000000 --- a/Dockerfile.java11.ubuntu +++ /dev/null @@ -1,9 +0,0 @@ -FROM ubuntu:bionic -LABEL maintainer="sig-platform@spinnaker.io" -RUN apt-get update && apt-get -y install curl openjdk-11-jre-headless wget -RUN adduser --system --uid 10111 --group spinnaker -COPY kayenta-web/build/install/kayenta /opt/kayenta -RUN mkdir -p /opt/kayenta/plugins && chown -R spinnaker:nogroup /opt/kayenta/plugins -USER spinnaker -HEALTHCHECK CMD curl --fail http://localhost:8090/health -CMD ["/opt/kayenta/bin/kayenta"] diff --git a/gradle.properties b/gradle.properties index f83e7e792..05e028072 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,3 +3,5 @@ org.gradle.parallel=true spinnakerGradleVersion=8.32.1 targetJava17=false org.gradle.jvmargs=-Xmx2g + +targetJava17=true From ae0f18ea5390d4303c02ed538df6e4f02ff7b1e6 Mon Sep 17 00:00:00 2001 From: Sandesh <30489233+j-sandy@users.noreply.github.com> Date: Tue, 19 Nov 2024 23:11:25 +0530 Subject: [PATCH 6/8] chore(java): remove duplicate targetJava17 property (#1066) --- gradle.properties | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 05e028072..73ece904e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,6 @@ orcaVersion=8.56.0 org.gradle.parallel=true spinnakerGradleVersion=8.32.1 -targetJava17=false +targetJava17=true org.gradle.jvmargs=-Xmx2g -targetJava17=true From f3077a9fb7a8019fefd3ef3c40a5f05305efc90a Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 19 Nov 2024 15:03:53 -0600 Subject: [PATCH 7/8] chore(upgrades): Update OS to latest supported releases (#1067) * chore(upgrades): Update OS to latest supported releases * chore(upgrades): Update OS to latest supported releases * chore(upgrades): Update OS to latest supported releases --- Dockerfile | 2 +- Dockerfile.compile | 2 +- Dockerfile.slim | 2 +- Dockerfile.ubuntu | 2 +- gradle.properties | 1 - 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index d089c2ae6..b97364354 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ RUN tar -xf /tmp/workdir/kayenta-web/build/distributions/kayenta.tar -C /opt # # Release Image # -FROM alpine:3.16 +FROM alpine:3.20 LABEL maintainer="delivery-engineering@netflix.com" diff --git a/Dockerfile.compile b/Dockerfile.compile index 8a73bf22b..57f3af092 100644 --- a/Dockerfile.compile +++ b/Dockerfile.compile @@ -1,4 +1,4 @@ -FROM alpine:3.16 +FROM alpine:3.20 RUN apk add --update \ openjdk17 \ && rm -rf /var/cache/apk diff --git a/Dockerfile.slim b/Dockerfile.slim index 40c0585ce..21b71b7d2 100644 --- a/Dockerfile.slim +++ b/Dockerfile.slim @@ -1,4 +1,4 @@ -FROM alpine:3.16 +FROM alpine:3.20 LABEL maintainer="sig-platform@spinnaker.io" RUN apk --no-cache add --update bash curl openjdk17-jre RUN addgroup -S -g 10111 spinnaker diff --git a/Dockerfile.ubuntu b/Dockerfile.ubuntu index 50ee57a93..6a4555672 100644 --- a/Dockerfile.ubuntu +++ b/Dockerfile.ubuntu @@ -1,4 +1,4 @@ -FROM ubuntu:bionic +FROM ubuntu:jammy LABEL maintainer="sig-platform@spinnaker.io" RUN apt-get update && apt-get -y install curl openjdk-17-jre-headless wget RUN adduser --system --uid 10111 --group spinnaker diff --git a/gradle.properties b/gradle.properties index 73ece904e..ff4798f82 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,3 @@ org.gradle.parallel=true spinnakerGradleVersion=8.32.1 targetJava17=true org.gradle.jvmargs=-Xmx2g - From 6f4cc557c92aa403bb610701982c2221f5adf14e Mon Sep 17 00:00:00 2001 From: spinnakerbot Date: Tue, 19 Nov 2024 20:33:47 -0500 Subject: [PATCH 8/8] chore(dependencies): Autobump orcaVersion (#1068) Co-authored-by: root --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index ff4798f82..f15e7df03 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -orcaVersion=8.56.0 +orcaVersion=8.57.0 org.gradle.parallel=true spinnakerGradleVersion=8.32.1 targetJava17=true