config

package
v0.0.0-...-49cb14a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DefaultConfig is the default top-level configuration for the whole system.
	DefaultConfig = Config{
		Kafka:      &DefaultKafkaConfig,
		MongoDB:    &DefaultMongoDBConfig,
		ClickHouse: &DefaultClickHouseConfig,
		Livetail:   &DefaultLivetailConfig,
		Simulator:  &DefaultSimulatorConfig,
	}

	// DefaultKafkaConfig is the default kafka configuration.
	DefaultKafkaConfig = Kafka{
		Server:           "0.0.0.0:65007",
		GroupId:          "hlog-default",
		AutoOffsetReset:  "earliest",
		EnableAutoCommit: false,
	}

	// DefaultMongoDBConfig is the default MongoDB configuration.
	DefaultMongoDBConfig = MongoDB{
		Server:        "mongodb://localhost:27017/",
		Database:      "hlog-default",
		TopicCallback: "hlog-mongodb-callback",
		KafkaConfigs: Kafka{
			Server:           "0.0.0.0:65007",
			GroupId:          "hlog-default-mongodb",
			AutoOffsetReset:  "earliest",
			EnableAutoCommit: true,
		},
		KafkaTopics:     []string{"default"},
		ConsumeInterval: time.Millisecond * time.Duration(100),
	}

	// DefaultClickHouseConfig is the default ClickHouse configuration.
	DefaultClickHouseConfig = ClickHouse{
		Options: &clickhouse.Options{
			Addr: []string{"localhost:9000"},
			Auth: clickhouse.Auth{
				Username: "default",
				Database: "default",
			},
		},
		KafkaConfigs: Kafka{
			Server:           "0.0.0.0:65007",
			GroupId:          "hlog-default-clickhouse",
			AutoOffsetReset:  "earliest",
			EnableAutoCommit: false,
		},
		KafkaTopics:      []string{"default"},
		ConsumeInterval:  time.Duration(5) * time.Second,
		MinBatchableSize: 1,
		MaxBatchableSize: 100,
		MaxBatchableWait: time.Duration(10) * time.Second,
	}

	// DefaultLivetailConfig is the default Livetail configuration.
	DefaultLivetailConfig = Livetail{
		KafkaTopics: []string{"default"},
		KafkaConfigs: Kafka{
			Server:           "0.0.0.0:65007",
			GroupId:          "hlog-livetail-default",
			AutoOffsetReset:  "earliest",
			EnableAutoCommit: true,
		},
		ConsumeInterval:         time.Duration(100) * time.Millisecond,
		DefaultLevel:            logger.DEBUG,
		MaxWebsocketConnections: 5,
		WebsocketPort:           1337,
	}

	// DefaultSimulatorConfig is the default Simulator configuration.
	DefaultSimulatorConfig = Simulator{
		KafkaTopics: []string{"default"},
		KafkaConfigs: Kafka{
			Server: "0.0.0.0:65007",
		},
		ProduceInterval: time.Duration(5) * time.Second,
		MessageLength:   7,
	}
)

Functions

This section is empty.

Types

type ClickHouse

type ClickHouse struct {
	*clickhouse.Options

	KafkaConfigs     Kafka
	KafkaTopics      []string
	ConsumeInterval  time.Duration
	MinBatchableSize int
	MaxBatchableSize int
	MaxBatchableWait time.Duration
}

ClickHouse holds the configuration for ClickHouse

type Config

type Config struct {
	*Kafka
	*MongoDB
	*ClickHouse
	*Livetail
	*Simulator
}

Config is the top-level configuration for hlog

func FromYAML

func FromYAML(filename string) (*Config, error)

FromYAML reads configs.yaml and extracts the configurations

type Kafka

type Kafka struct {
	Server           string
	GroupId          string
	AutoOffsetReset  string
	EnableAutoCommit bool
}

Kafka holds the configuration for Kafka

type Livetail

type Livetail struct {
	KafkaTopics             []string
	KafkaConfigs            Kafka
	ConsumeInterval         time.Duration
	DefaultLevel            logger.Level
	MaxWebsocketConnections int
	WebsocketPort           int
}

Livetail holds the configuration for the terminal-base visualization of the entering logs

type MongoDB

type MongoDB struct {
	Server   string
	Database string
	// Kafka-related
	TopicCallback   string
	KafkaConfigs    Kafka
	KafkaTopics     []string
	ConsumeInterval time.Duration
}

MongoDB holds the configuration for MongoDB

type Simulator

type Simulator struct {
	KafkaTopics     []string
	KafkaConfigs    Kafka
	ProduceInterval time.Duration
	MessageLength   int
}

Simulator holds the configurations for the log producing simulator

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL