Configuration Reference
Complete configuration reference for Korvet.
Default Configuration
The following shows the default application.yml configuration file:
# Korvet Server Configuration
spring:
application:
name: korvet
# Korvet Configuration
korvet:
# Redis Configuration
redis:
host: localhost
port: 6379
# database: 0
# username: default
# password: changeit
# client-name: korvet
# timeout: 60s
# connect-timeout: 10s
# ssl:
# enabled: false
pool:
max-active: 10
max-idle: 10
min-idle: 2
max-wait: -1ms
time-between-eviction-runs: 60s
# Mapper Configuration
mapper:
offset:
# Number of bits for sequence number in offset encoding (1-16)
# Default: 10 (supports 1,023 messages/ms, ~1M+ messages/second)
# Lower values reduce offset delta, higher values support more messages/ms
sequence-bits: 10
# Kafka Protocol Server Configuration
server:
# Network configuration
host: 0.0.0.0
port: 9092
# Broker configuration
broker-id: 0
keyspace: korvet # Redis keyspace prefix for all keys (topics, consumer groups, etc.)
# advertised-host: localhost # If not set, uses 'host'
# advertised-port: 9092 # If not set, uses 'port'
# Thread pool configuration
boss-threads: 1
worker-threads: 0 # 0 = use Netty default (2 * CPU cores)
# Request size limits
max-request-size: 104857600 # 100 MB
# TLS/SSL configuration (optional)
tls:
enabled: false
# cert-file: /path/to/server.crt
# key-file: /path/to/server.key
# key-password: changeit
# trust-cert-file: /path/to/ca.crt
# client-auth-required: false
# Spring Boot Actuator Configuration
management:
endpoints:
web:
exposure:
include: health,info,prometheus,metrics
endpoint:
health:
show-details: always
prometheus:
metrics:
export:
enabled: true
# Logging Configuration
logging:
level:
root: INFO
com.redis.korvet: DEBUG
Environment Variables
All configuration can be set via environment variables using Spring Boot’s relaxed binding:
# Server
export KORVET_SERVER_HOST=0.0.0.0
export KORVET_SERVER_PORT=9092
export KORVET_SERVER_BROKER_ID=0
export KORVET_SERVER_AUTO_CREATE_TOPICS=true
export KORVET_SERVER_DEFAULT_PARTITIONS=1
# Redis
export KORVET_REDIS_HOST=localhost
export KORVET_REDIS_PORT=6379
export KORVET_REDIS_DATABASE=0
export KORVET_REDIS_USERNAME=default
export KORVET_REDIS_PASSWORD=secret
export KORVET_REDIS_TIMEOUT=60s
# Mapper
export KORVET_MAPPER_OFFSET_SEQUENCE_BITS=10
# TLS
export KORVET_SERVER_TLS_ENABLED=true
export KORVET_SERVER_TLS_CERT_FILE=/path/to/server.crt
export KORVET_SERVER_TLS_KEY_FILE=/path/to/server.key
export KORVET_SERVER_TLS_KEY_PASSWORD=secret
# Logging
export LOGGING_LEVEL_COM_REDIS_KORVET=DEBUG