Files
2024-10-24 16:44:38 +05:30

39 lines
1.4 KiB
Go

package configs
import (
"github.com/spf13/viper"
"strings"
)
type KafkaConfig struct {
Brokers []string
Username string
Password string
Group string
Topic string
TlsInsureSkipVerification bool
TlsEnabled bool
SaslEnabled bool
ConsumerBatchSize int
GoroutinesMaxPoolSize int
ConsumerMaxTimeoutMs string
Mechanism string
}
func NewKafkaConfig() *KafkaConfig {
return &KafkaConfig{
Brokers: strings.Split(viper.GetString("kafka.brokers"), ","),
Username: viper.GetString("kafka.username"),
Password: viper.GetString("kafka.password"),
Group: viper.GetString("kafka.group"),
Topic: viper.GetString("kafka.topic"),
TlsInsureSkipVerification: viper.GetBool("kafka.tls.insecureSkipVerify"),
SaslEnabled: viper.GetBool("kafka.sasl.enabled"),
TlsEnabled: viper.GetBool("kafka.tls.enabled"),
ConsumerBatchSize: viper.GetInt("kafka.consumer.batch.size"),
GoroutinesMaxPoolSize: viper.GetInt("kafka.consumer.goroutines.max.pool.size"),
ConsumerMaxTimeoutMs: viper.GetString("kafka.consumer.max.timeout.ms"),
Mechanism: viper.GetString("kafka.sasl.mechanism"),
}
}