diff --git a/pom.xml b/pom.xml
index 42ac998..1c1be59 100644
--- a/pom.xml
+++ b/pom.xml
@@ -114,7 +114,7 @@
develop
- false
+ true
2
diff --git a/src/main/java/me/bvn13/kafka/health/KafkaHealthAutoConfiguration.java b/src/main/java/me/bvn13/kafka/health/KafkaHealthAutoConfiguration.java
new file mode 100644
index 0000000..a07e01c
--- /dev/null
+++ b/src/main/java/me/bvn13/kafka/health/KafkaHealthAutoConfiguration.java
@@ -0,0 +1,30 @@
+package me.bvn13.kafka.health;
+
+import org.springframework.boot.actuate.health.AbstractHealthIndicator;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConditionalOnClass(AbstractHealthIndicator.class)
+public class KafkaHealthAutoConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean(KafkaHealthProperties.class)
+ @ConfigurationProperties("kafka.health")
+ public KafkaHealthProperties kafkaHealthProperties() {
+ return new KafkaHealthProperties();
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(KafkaConsumingHealthIndicator.class)
+ public KafkaConsumingHealthIndicator kafkaConsumingHealthIndicator(KafkaHealthProperties kafkaHealthProperties,
+ KafkaProperties kafkaProperties) {
+ return new KafkaConsumingHealthIndicator(kafkaHealthProperties, kafkaProperties.buildConsumerProperties(),
+ kafkaProperties.buildProducerProperties());
+ }
+
+}
diff --git a/src/main/resources/META-INF/spring.factories b/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..ba32998
--- /dev/null
+++ b/src/main/resources/META-INF/spring.factories
@@ -0,0 +1 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=me.bvn13.kafka.health.KafkaHealthAutoConfiguration