39 lines
1.4 KiB
Go
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"),
|
|
}
|
|
}
|