config

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ServerPort             string        `json:"server_port"`
	LogLevel               string        `json:"log_level"`
	WorldCollectionName    string        `json:"world_collection_name"`
	GraphCollectionName    string        `json:"graph_collection_name"`
	TemplateCollectionName string        `json:"template_collection_name"`
	MongoUrl               string        `json:"mongo_url"`
	MongoTable             string        `json:"mongo_table"`
	JsTimeout              time.Duration `json:"js_timeout"`
	ProtocolSegmentName    string        `json:"protocol_segment_name"`

	KafkaUrl           string `json:"kafka_url"`
	KafkaResponseTopic string `json:"kafka_response_topic"`
	KafkaGroupName     string `json:"kafka_group_name"`
	FatalKafkaError    bool   `json:"fatal_kafka_error"` // "true" || "false"; "" -> "true", else -> "false"
	Protocol           string `json:"protocol"`

	PermSearchUrl    string `json:"perm_search_url"`
	DeviceManagerUrl string `json:"device_manager_url"`
	DeviceRepoUrl    string `json:"device_repo_url"`

	AuthClientId             string  `json:"auth_client_id"`     //keycloak-client
	AuthClientSecret         string  `json:"auth_client_secret"` //keycloak-secret
	AuthExpirationTimeBuffer float64 `json:"auth_expiration_time_buffer"`
	AuthEndpoint             string  `json:"auth_endpoint"`

	JwtPrivateKey string `json:"jwt_private_key"`
	JwtExpiration int64  `json:"jwt_expiration"`
	JwtIssuer     string `json:"jwt_issuer"`

	GatewayLogTopic string `json:"gateway_log_topic"`
	DeviceLogTopic  string `json:"device_log_topic"`

	Debug bool `json:"debug"`

	DeviceExpiration         int64 `json:"device_expiration"`
	DeviceTypeExpiration     int64 `json:"device_type_expiration"`
	CharacteristicExpiration int64 `json:"characteristic_expiration"`

	KafkaPartitionNum      int `json:"kafka_partition_num"`
	KafkaReplicationFactor int `json:"kafka_replication_factor"`

	PublishToPostgres bool   `json:"publish_to_postgres"`
	PostgresHost      string `json:"postgres_host"`
	PostgresPort      int    `json:"postgres_port"`
	PostgresUser      string `json:"postgres_user"`
	PostgresPw        string `json:"postgres_pw"`
	PostgresDb        string `json:"postgres_db"`

	AsyncPgThreadMax    int64  `json:"async_pg_thread_max"`
	AsyncFlushMessages  int64  `json:"async_flush_messages"`
	AsyncFlushFrequency string `json:"async_flush_frequency"`
	AsyncCompression    string `json:"async_compression"`
	SyncCompression     string `json:"sync_compression"`

	KafkaConsumerMaxWait  string `json:"kafka_consumer_max_wait"`
	KafkaConsumerMinBytes int64  `json:"kafka_consumer_min_bytes"`
	KafkaConsumerMaxBytes int64  `json:"kafka_consumer_max_bytes"`

	IotCacheUrls         string `json:"iot_cache_urls"`
	IotCacheMaxIdleConns int64  `json:"iot_cache_max_idle_conns"`
	IotCacheTimeout      string `json:"iot_cache_timeout"`

	TokenCacheUrls       string `json:"token_cache_urls"`
	TokenCacheExpiration int64  `json:"token_cache_expiration"`

	DeviceTypeTopic string `json:"device_type_topic"`

	NotificationUrl string `json:"notification_url"`

	KafkaTopicConfigs map[string][]kafka.ConfigEntry `json:"kafka_topic_configs"`
}

func LoadConfig

func LoadConfig() (result Config, err error)

func LoadConfigFlag

func LoadConfigFlag(configLocationFlag string) (result Config, err error)

func LoadConfigLocation

func LoadConfigLocation(location string) (result Config, err error)

Jump to

Keyboard shortcuts

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