From 8354824a2909c689522364809d36ca25487d3c25 Mon Sep 17 00:00:00 2001 From: Nastya Smirnova Date: Fri, 28 Jun 2019 18:35:06 +0300 Subject: [PATCH] feat(kayenta): Provide autoconfigurations for all Kayenta integration modules (#577) --- .../backends/AtlasStorageUpdaterService.java | 2 - .../atlas/backends/BackendUpdaterService.java | 2 - .../atlas/config/AtlasConfiguration.java | 3 -- .../main/resources/META-INF/spring.factories | 2 + .../kayenta/aws/config/AwsConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../index/config/IndexConfiguration.java | 2 - .../persistence/config/JedisConfig.java | 2 - .../datadog/config/DatadogConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../kayenta/gcs/config/GcsConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../google/config/GoogleConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../config/GraphiteConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../config/InfluxDbConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../main/resources/META-INF/spring.factories | 3 ++ .../config/NetflixJudgeConfiguration.java | 6 +-- .../config/RemoteJudgeConfiguration.java | 8 --- .../config/NewRelicConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../config/ConfigBinConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../memory/config/MemoryConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../kayenta/config/OrcaConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../config/PrometheusConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../main/resources/META-INF/spring.factories | 2 + .../config/SignalFxConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../config/StackdriverConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + ...loneCanaryAnalysisModuleConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../config/WavefrontConfiguration.java | 2 - .../main/resources/META-INF/spring.factories | 2 + .../main/java/com/netflix/kayenta/Main.java | 53 +------------------ .../config/ApplicationConfiguration.java | 23 ++++++++ .../kayenta/config/WebConfiguration.java | 4 +- 43 files changed, 65 insertions(+), 107 deletions(-) create mode 100644 kayenta-atlas/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-aws/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-datadog/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-gcs/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-google/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-graphite/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-influxdb/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-judge/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-newrelic-insights/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-objectstore-configbin/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-objectstore-memory/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-orca/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-prometheus/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-s3/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-signalfx/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-stackdriver/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-standalone-canary-analysis/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-wavefront/src/main/resources/META-INF/spring.factories create mode 100644 kayenta-web/src/main/java/com/netflix/kayenta/config/ApplicationConfiguration.java 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 64b2a4cd1..ba545f805 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 @@ -23,7 +23,6 @@ import org.springframework.boot.actuate.health.AbstractHealthIndicator; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @@ -32,7 +31,6 @@ @Service @Slf4j -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.atlas.enabled") public class AtlasStorageUpdaterService extends AbstractHealthIndicator { private final RetrofitClientFactory retrofitClientFactory; 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 bfc112cdd..066d54fb8 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 @@ -23,7 +23,6 @@ import org.springframework.boot.actuate.health.AbstractHealthIndicator; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @@ -32,7 +31,6 @@ @Service @Slf4j -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.atlas.enabled") public class BackendUpdaterService extends AbstractHealthIndicator { private final RetrofitClientFactory retrofitClientFactory; diff --git a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/config/AtlasConfiguration.java b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/config/AtlasConfiguration.java index 8a281ec03..7ec1c3ef6 100644 --- a/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/config/AtlasConfiguration.java +++ b/kayenta-atlas/src/main/java/com/netflix/kayenta/atlas/config/AtlasConfiguration.java @@ -30,17 +30,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.util.CollectionUtils; -import java.io.IOException; import java.util.List; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.atlas.enabled") @ComponentScan({"com.netflix.kayenta.atlas"}) @Slf4j diff --git a/kayenta-atlas/src/main/resources/META-INF/spring.factories b/kayenta-atlas/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..269e24349 --- /dev/null +++ b/kayenta-atlas/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.atlas.config.AtlasConfiguration \ No newline at end of file diff --git a/kayenta-aws/src/main/java/com/netflix/kayenta/aws/config/AwsConfiguration.java b/kayenta-aws/src/main/java/com/netflix/kayenta/aws/config/AwsConfiguration.java index 17bf174d0..5f70d1346 100644 --- a/kayenta-aws/src/main/java/com/netflix/kayenta/aws/config/AwsConfiguration.java +++ b/kayenta-aws/src/main/java/com/netflix/kayenta/aws/config/AwsConfiguration.java @@ -33,7 +33,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -45,7 +44,6 @@ import java.util.Optional; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.aws.enabled") @ComponentScan({"com.netflix.kayenta.aws"}) @Slf4j diff --git a/kayenta-aws/src/main/resources/META-INF/spring.factories b/kayenta-aws/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..2286e7275 --- /dev/null +++ b/kayenta-aws/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.aws.config.AwsConfiguration \ No newline at end of file diff --git a/kayenta-core/src/main/java/com/netflix/kayenta/index/config/IndexConfiguration.java b/kayenta-core/src/main/java/com/netflix/kayenta/index/config/IndexConfiguration.java index 43eb831c1..5fd415564 100644 --- a/kayenta-core/src/main/java/com/netflix/kayenta/index/config/IndexConfiguration.java +++ b/kayenta-core/src/main/java/com/netflix/kayenta/index/config/IndexConfiguration.java @@ -22,14 +22,12 @@ import com.netflix.kayenta.security.AccountCredentialsRepository; import com.netflix.kayenta.storage.StorageServiceRepository; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import redis.clients.jedis.JedisPool; @Configuration -@EnableConfigurationProperties public class IndexConfiguration { @Bean diff --git a/kayenta-core/src/main/java/com/netflix/kayenta/persistence/config/JedisConfig.java b/kayenta-core/src/main/java/com/netflix/kayenta/persistence/config/JedisConfig.java index df39eb519..a3c3ce594 100644 --- a/kayenta-core/src/main/java/com/netflix/kayenta/persistence/config/JedisConfig.java +++ b/kayenta-core/src/main/java/com/netflix/kayenta/persistence/config/JedisConfig.java @@ -20,14 +20,12 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; @Configuration -@EnableConfigurationProperties public class JedisConfig { @Bean 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 5a087acf5..8eae7f7eb 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 @@ -29,7 +29,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -40,7 +39,6 @@ import java.util.List; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.datadog.enabled") @ComponentScan({"com.netflix.kayenta.datadog"}) @Slf4j diff --git a/kayenta-datadog/src/main/resources/META-INF/spring.factories b/kayenta-datadog/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..f82d68896 --- /dev/null +++ b/kayenta-datadog/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.datadog.config.DatadogConfiguration \ No newline at end of file diff --git a/kayenta-gcs/src/main/java/com/netflix/kayenta/gcs/config/GcsConfiguration.java b/kayenta-gcs/src/main/java/com/netflix/kayenta/gcs/config/GcsConfiguration.java index 6ae8cdae2..e478e4365 100644 --- a/kayenta-gcs/src/main/java/com/netflix/kayenta/gcs/config/GcsConfiguration.java +++ b/kayenta-gcs/src/main/java/com/netflix/kayenta/gcs/config/GcsConfiguration.java @@ -22,14 +22,12 @@ import com.netflix.kayenta.security.AccountCredentialsRepository; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.gcs.enabled") @ComponentScan({"com.netflix.kayenta.gcs"}) @Slf4j diff --git a/kayenta-gcs/src/main/resources/META-INF/spring.factories b/kayenta-gcs/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..37563a4ee --- /dev/null +++ b/kayenta-gcs/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.gcs.config.GcsConfiguration \ No newline at end of file diff --git a/kayenta-google/src/main/java/com/netflix/kayenta/google/config/GoogleConfiguration.java b/kayenta-google/src/main/java/com/netflix/kayenta/google/config/GoogleConfiguration.java index acd68c857..c35efe026 100644 --- a/kayenta-google/src/main/java/com/netflix/kayenta/google/config/GoogleConfiguration.java +++ b/kayenta-google/src/main/java/com/netflix/kayenta/google/config/GoogleConfiguration.java @@ -24,7 +24,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -35,7 +34,6 @@ import java.util.List; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.google.enabled") @ComponentScan({"com.netflix.kayenta.google"}) @Slf4j diff --git a/kayenta-google/src/main/resources/META-INF/spring.factories b/kayenta-google/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..55087380a --- /dev/null +++ b/kayenta-google/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.google.config.GoogleConfiguration \ No newline at end of file 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 5db13d55a..2484c8940 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 @@ -29,7 +29,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -42,7 +41,6 @@ import retrofit.converter.JacksonConverter; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.graphite.enabled") @ComponentScan({"com.netflix.kayenta.graphite"}) @Slf4j diff --git a/kayenta-graphite/src/main/resources/META-INF/spring.factories b/kayenta-graphite/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..00bc957af --- /dev/null +++ b/kayenta-graphite/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.graphite.config.GraphiteConfiguration \ No newline at end of file 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 a7127b1c6..7b03c46fb 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 @@ -21,7 +21,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -41,7 +40,6 @@ import lombok.extern.slf4j.Slf4j; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.influxdb.enabled") @ComponentScan({"com.netflix.kayenta.influxdb"}) @Slf4j diff --git a/kayenta-influxdb/src/main/resources/META-INF/spring.factories b/kayenta-influxdb/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..ce365bbe5 --- /dev/null +++ b/kayenta-influxdb/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.influxdb.config.InfluxDbConfiguration \ No newline at end of file diff --git a/kayenta-judge/src/main/resources/META-INF/spring.factories b/kayenta-judge/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..35182e82e --- /dev/null +++ b/kayenta-judge/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.judge.config.NetflixJudgeConfiguration,\ +com.netflix.kayenta.judge.config.RemoteJudgeConfiguration \ No newline at end of file diff --git a/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/config/NetflixJudgeConfiguration.java b/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/config/NetflixJudgeConfiguration.java index 650c0fa1a..898e2eaae 100644 --- a/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/config/NetflixJudgeConfiguration.java +++ b/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/config/NetflixJudgeConfiguration.java @@ -25,18 +25,14 @@ import com.netflix.kayenta.storage.StorageServiceRepository; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration -@EnableConfigurationProperties @ComponentScan({ - "com.netflix.kayenta.judge", - "com.netflix.kayenta.judge.config" + "com.netflix.kayenta.judge" }) - public class NetflixJudgeConfiguration { @Bean diff --git a/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/config/RemoteJudgeConfiguration.java b/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/config/RemoteJudgeConfiguration.java index f5a7e890a..d118d7507 100644 --- a/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/config/RemoteJudgeConfiguration.java +++ b/kayenta-judge/src/main/scala/com/netflix/kayenta/judge/config/RemoteJudgeConfiguration.java @@ -18,18 +18,10 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration -@EnableConfigurationProperties -@ComponentScan({ - "com.netflix.kayenta.judge", - "com.netflix.kayenta.judge.config" -}) - @ConditionalOnProperty("kayenta.remote-judge.enabled") public class RemoteJudgeConfiguration { 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 5494bcd7c..f26375715 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 @@ -32,7 +32,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -40,7 +39,6 @@ import retrofit.converter.JacksonConverter; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.newrelic.enabled") @ComponentScan({"com.netflix.kayenta.newrelic"}) @Slf4j diff --git a/kayenta-newrelic-insights/src/main/resources/META-INF/spring.factories b/kayenta-newrelic-insights/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..590a79cf9 --- /dev/null +++ b/kayenta-newrelic-insights/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.newrelic.config.NewRelicConfiguration \ No newline at end of file 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 9e563e81a..c58c95073 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 @@ -28,7 +28,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -37,7 +36,6 @@ import java.util.List; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.configbin.enabled") @ComponentScan({"com.netflix.kayenta.configbin"}) @Slf4j diff --git a/kayenta-objectstore-configbin/src/main/resources/META-INF/spring.factories b/kayenta-objectstore-configbin/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..5a61a1290 --- /dev/null +++ b/kayenta-objectstore-configbin/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.configbin.config.ConfigBinConfiguration \ No newline at end of file diff --git a/kayenta-objectstore-memory/src/main/java/com/netflix/kayenta/memory/config/MemoryConfiguration.java b/kayenta-objectstore-memory/src/main/java/com/netflix/kayenta/memory/config/MemoryConfiguration.java index 90c0046f3..b697bfd2e 100644 --- a/kayenta-objectstore-memory/src/main/java/com/netflix/kayenta/memory/config/MemoryConfiguration.java +++ b/kayenta-objectstore-memory/src/main/java/com/netflix/kayenta/memory/config/MemoryConfiguration.java @@ -26,7 +26,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -37,7 +36,6 @@ import java.util.concurrent.ConcurrentHashMap; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.memory.enabled") @ComponentScan({"com.netflix.kayenta.memory"}) @Slf4j diff --git a/kayenta-objectstore-memory/src/main/resources/META-INF/spring.factories b/kayenta-objectstore-memory/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..af2767c7d --- /dev/null +++ b/kayenta-objectstore-memory/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.memory.config.MemoryConfiguration \ No newline at end of file diff --git a/kayenta-orca/src/main/java/com/netflix/kayenta/config/OrcaConfiguration.java b/kayenta-orca/src/main/java/com/netflix/kayenta/config/OrcaConfiguration.java index a09f8fa0e..b2697a399 100644 --- a/kayenta-orca/src/main/java/com/netflix/kayenta/config/OrcaConfiguration.java +++ b/kayenta-orca/src/main/java/com/netflix/kayenta/config/OrcaConfiguration.java @@ -24,7 +24,6 @@ import com.netflix.spinnaker.orca.pipeline.util.StageNavigator; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.*; import java.net.InetAddress; @@ -39,7 +38,6 @@ RestrictExecutionDuringTimeWindow.class, StageNavigator.class, }) -@EnableConfigurationProperties @ComponentScan({ "com.netflix.kayenta.orca", "com.netflix.spinnaker.orca.pipeline", diff --git a/kayenta-orca/src/main/resources/META-INF/spring.factories b/kayenta-orca/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..2d296002d --- /dev/null +++ b/kayenta-orca/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.config.OrcaConfiguration \ No newline at end of file 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 e987117c6..04f9b8718 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 @@ -28,7 +28,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -38,7 +37,6 @@ import java.util.List; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.prometheus.enabled") @ComponentScan({"com.netflix.kayenta.prometheus"}) @Slf4j diff --git a/kayenta-prometheus/src/main/resources/META-INF/spring.factories b/kayenta-prometheus/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..ed619f84d --- /dev/null +++ b/kayenta-prometheus/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.prometheus.config.PrometheusConfiguration \ No newline at end of file diff --git a/kayenta-s3/src/main/resources/META-INF/spring.factories b/kayenta-s3/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..52d87e79a --- /dev/null +++ b/kayenta-s3/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.s3.config.S3Configuration \ No newline at end of file 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 526282c66..ae38d95df 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 @@ -31,7 +31,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -43,7 +42,6 @@ import java.util.stream.Collectors; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.signalfx.enabled") @ComponentScan({"com.netflix.kayenta.signalfx"}) @Slf4j diff --git a/kayenta-signalfx/src/main/resources/META-INF/spring.factories b/kayenta-signalfx/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..ee97710f3 --- /dev/null +++ b/kayenta-signalfx/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.signalfx.config.SignalFxConfiguration \ No newline at end of file diff --git a/kayenta-stackdriver/src/main/java/com/netflix/kayenta/stackdriver/config/StackdriverConfiguration.java b/kayenta-stackdriver/src/main/java/com/netflix/kayenta/stackdriver/config/StackdriverConfiguration.java index 141b2ee08..83abc6762 100644 --- a/kayenta-stackdriver/src/main/java/com/netflix/kayenta/stackdriver/config/StackdriverConfiguration.java +++ b/kayenta-stackdriver/src/main/java/com/netflix/kayenta/stackdriver/config/StackdriverConfiguration.java @@ -24,14 +24,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.stackdriver.enabled") @ComponentScan({"com.netflix.kayenta.stackdriver"}) @Slf4j diff --git a/kayenta-stackdriver/src/main/resources/META-INF/spring.factories b/kayenta-stackdriver/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..48c6b4bf8 --- /dev/null +++ b/kayenta-stackdriver/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.stackdriver.config.StackdriverConfiguration \ No newline at end of file diff --git a/kayenta-standalone-canary-analysis/src/main/java/com/netflix/kayenta/canaryanalysis/config/StandaloneCanaryAnalysisModuleConfiguration.java b/kayenta-standalone-canary-analysis/src/main/java/com/netflix/kayenta/canaryanalysis/config/StandaloneCanaryAnalysisModuleConfiguration.java index f5d647719..917bcc331 100644 --- a/kayenta-standalone-canary-analysis/src/main/java/com/netflix/kayenta/canaryanalysis/config/StandaloneCanaryAnalysisModuleConfiguration.java +++ b/kayenta-standalone-canary-analysis/src/main/java/com/netflix/kayenta/canaryanalysis/config/StandaloneCanaryAnalysisModuleConfiguration.java @@ -18,12 +18,10 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.standalone-canary-analysis.enabled") @ComponentScan({"com.netflix.kayenta.canaryanalysis"}) @Slf4j diff --git a/kayenta-standalone-canary-analysis/src/main/resources/META-INF/spring.factories b/kayenta-standalone-canary-analysis/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..a37f6f4f6 --- /dev/null +++ b/kayenta-standalone-canary-analysis/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.canaryanalysis.config.StandaloneCanaryAnalysisModuleConfiguration \ No newline at end of file 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 bcee9319c..606fcf7ec 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 @@ -28,7 +28,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -39,7 +38,6 @@ import java.util.List; @Configuration -@EnableConfigurationProperties @ConditionalOnProperty("kayenta.wavefront.enabled") @ComponentScan({"com.netflix.kayenta.wavefront"}) @Slf4j diff --git a/kayenta-wavefront/src/main/resources/META-INF/spring.factories b/kayenta-wavefront/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..b7b91adc5 --- /dev/null +++ b/kayenta-wavefront/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.netflix.kayenta.wavefront.config.WavefrontConfiguration \ No newline at end of file diff --git a/kayenta-web/src/main/java/com/netflix/kayenta/Main.java b/kayenta-web/src/main/java/com/netflix/kayenta/Main.java index fd391ba42..781ecba68 100644 --- a/kayenta-web/src/main/java/com/netflix/kayenta/Main.java +++ b/kayenta-web/src/main/java/com/netflix/kayenta/Main.java @@ -16,65 +16,16 @@ package com.netflix.kayenta; -import com.netflix.kayenta.atlas.config.AtlasConfiguration; -import com.netflix.kayenta.aws.config.AwsConfiguration; -import com.netflix.kayenta.canaryanalysis.config.StandaloneCanaryAnalysisModuleConfiguration; -import com.netflix.kayenta.config.KayentaConfiguration; -import com.netflix.kayenta.config.WebConfiguration; -import com.netflix.kayenta.configbin.config.ConfigBinConfiguration; -import com.netflix.kayenta.datadog.config.DatadogConfiguration; -import com.netflix.kayenta.gcs.config.GcsConfiguration; -import com.netflix.kayenta.google.config.GoogleConfiguration; -import com.netflix.kayenta.graphite.config.GraphiteConfiguration; -import com.netflix.kayenta.influxdb.config.InfluxDbConfiguration; -import com.netflix.kayenta.judge.config.NetflixJudgeConfiguration; -import com.netflix.kayenta.memory.config.MemoryConfiguration; -import com.netflix.kayenta.newrelic.config.NewRelicConfiguration; -import com.netflix.kayenta.prometheus.config.PrometheusConfiguration; -import com.netflix.kayenta.s3.config.S3Configuration; -import com.netflix.kayenta.signalfx.config.SignalFxConfiguration; -import com.netflix.kayenta.stackdriver.config.StackdriverConfiguration; -import com.netflix.kayenta.wavefront.config.WavefrontConfiguration; +import com.netflix.kayenta.config.ApplicationConfiguration; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; -import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.annotation.EnableScheduling; +@Import(ApplicationConfiguration.class) @Configuration -@Import({ - AtlasConfiguration.class, - AwsConfiguration.class, - ConfigBinConfiguration.class, - DatadogConfiguration.class, - GcsConfiguration.class, - GoogleConfiguration.class, - GraphiteConfiguration.class, - InfluxDbConfiguration.class, - KayentaConfiguration.class, - MemoryConfiguration.class, - NewRelicConfiguration.class, - PrometheusConfiguration.class, - S3Configuration.class, - SignalFxConfiguration.class, - StackdriverConfiguration.class, - StandaloneCanaryAnalysisModuleConfiguration.class, - WavefrontConfiguration.class, - WebConfiguration.class, - NetflixJudgeConfiguration.class, -}) -@ComponentScan({ - "com.netflix.spinnaker.config", - "com.netflix.spinnaker.endpoint", -}) -@EnableAutoConfiguration -@EnableAsync -@EnableScheduling public class Main { private static final Map DEFAULT_PROPS = buildDefaults(); diff --git a/kayenta-web/src/main/java/com/netflix/kayenta/config/ApplicationConfiguration.java b/kayenta-web/src/main/java/com/netflix/kayenta/config/ApplicationConfiguration.java new file mode 100644 index 000000000..c12991181 --- /dev/null +++ b/kayenta-web/src/main/java/com/netflix/kayenta/config/ApplicationConfiguration.java @@ -0,0 +1,23 @@ +package com.netflix.kayenta.config; + +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; + +@Configuration +@Import({ + KayentaConfiguration.class, + WebConfiguration.class, +}) +@ComponentScan({ + "com.netflix.spinnaker.config", + "com.netflix.spinnaker.endpoint", +}) +@EnableAutoConfiguration +@EnableAsync +@EnableScheduling +public class ApplicationConfiguration { +} diff --git a/kayenta-web/src/main/java/com/netflix/kayenta/config/WebConfiguration.java b/kayenta-web/src/main/java/com/netflix/kayenta/config/WebConfiguration.java index b5727cd3d..8b32a3ae5 100644 --- a/kayenta-web/src/main/java/com/netflix/kayenta/config/WebConfiguration.java +++ b/kayenta-web/src/main/java/com/netflix/kayenta/config/WebConfiguration.java @@ -28,12 +28,12 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration @Slf4j @ComponentScan({"com.netflix.kayenta.controllers"}) -public class WebConfiguration extends WebMvcConfigurerAdapter { +public class WebConfiguration implements WebMvcConfigurer { @Autowired Registry registry;