feat: add actuator and Consul discovery to rag-service
This commit is contained in:
@@ -6,12 +6,11 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
<version>3.5.7</version>
|
<version>3.5.7</version>
|
||||||
<relativePath/> <!-- lookup parent from repository -->
|
<relativePath/>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>com.balex</groupId>
|
<groupId>com.balex</groupId>
|
||||||
<artifactId>rag</artifactId>
|
<artifactId>rag</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
<name>rag</name>
|
|
||||||
<description>Backend for queries to RAG</description>
|
<description>Backend for queries to RAG</description>
|
||||||
<url/>
|
<url/>
|
||||||
<licenses>
|
<licenses>
|
||||||
@@ -29,6 +28,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<java.version>25</java.version>
|
<java.version>25</java.version>
|
||||||
<spring-ai.version>1.0.3</spring-ai.version>
|
<spring-ai.version>1.0.3</spring-ai.version>
|
||||||
|
<spring-cloud.version>2025.0.0</spring-cloud.version>
|
||||||
<lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
|
<lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
@@ -40,6 +40,16 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-validation</artifactId>
|
<artifactId>spring-boot-starter-validation</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- Actuator for health checks and Consul registration -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!-- Consul service discovery -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-lang3</artifactId>
|
<artifactId>commons-lang3</artifactId>
|
||||||
@@ -160,6 +170,13 @@
|
|||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>import</scope>
|
<scope>import</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-dependencies</artifactId>
|
||||||
|
<version>${spring-cloud.version}</version>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>import</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
|
|||||||
@@ -5,11 +5,21 @@ spring.ai.openai.base-url=${SPRING_AI_OPENAI_BASE_URL:https://api.groq.com/opena
|
|||||||
spring.ai.openai.api-key=${SPRING_AI_OPENAI_API_KEY:}
|
spring.ai.openai.api-key=${SPRING_AI_OPENAI_API_KEY:}
|
||||||
spring.ai.openai.chat.model=${SPRING_AI_OPENAI_CHAT_MODEL:llama-3.3-70b-versatile}
|
spring.ai.openai.chat.model=${SPRING_AI_OPENAI_CHAT_MODEL:llama-3.3-70b-versatile}
|
||||||
|
|
||||||
# --- Embedding model: use local pgvector with a lightweight model ---
|
# --- Embedding model: local ONNX (Groq has no embedding API) ---
|
||||||
# Groq does not provide an embedding endpoint, so we disable OpenAI embedding auto-config
|
|
||||||
# and rely on the pgvector store's existing embedding setup
|
|
||||||
spring.ai.openai.embedding.enabled=false
|
spring.ai.openai.embedding.enabled=false
|
||||||
|
|
||||||
|
# --- Consul service discovery ---
|
||||||
|
spring.cloud.consul.host=${SPRING_CLOUD_CONSUL_HOST:localhost}
|
||||||
|
spring.cloud.consul.port=${SPRING_CLOUD_CONSUL_PORT:8500}
|
||||||
|
spring.cloud.consul.discovery.service-name=rag-service
|
||||||
|
spring.cloud.consul.discovery.instance-id=${spring.application.name}-${random.value}
|
||||||
|
spring.cloud.consul.discovery.prefer-ip-address=true
|
||||||
|
spring.cloud.consul.discovery.health-check-interval=10s
|
||||||
|
|
||||||
|
# --- Actuator ---
|
||||||
|
management.endpoints.web.exposure.include=health,info
|
||||||
|
management.endpoint.health.show-details=always
|
||||||
|
|
||||||
jwt.secret=${JWT_SECRET:ywfI6dBznYmHbokihB/OBzZz6E0Fj+6PiqrM8dQ5c3t0HeYarblCbOGM8vQtOt472AtQ+MsCH7OVIKHOzjrPsQ==}
|
jwt.secret=${JWT_SECRET:ywfI6dBznYmHbokihB/OBzZz6E0Fj+6PiqrM8dQ5c3t0HeYarblCbOGM8vQtOt472AtQ+MsCH7OVIKHOzjrPsQ==}
|
||||||
jwt.expiration=103600000
|
jwt.expiration=103600000
|
||||||
spring.datasource.url=${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/ragdb}
|
spring.datasource.url=${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/ragdb}
|
||||||
|
|||||||
Reference in New Issue
Block a user