configuration

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2024 License: Apache-2.0 Imports: 9 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 {
	KafkaUrl           string `json:"kafka_url"`
	KafkaResponseTopic string `json:"kafka_response_topic"`
	KafkaGroupName     string `json:"kafka_group_name"`
	FatalKafkaError    bool   `json:"fatal_kafka_error"`
	Protocol           string `json:"protocol"`

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

	AuthClientId             string  `json:"auth_client_id" config:"secret"`
	AuthClientSecret         string  `json:"auth_client_secret" config:"secret"`
	AuthExpirationTimeBuffer float64 `json:"auth_expiration_time_buffer"`
	AuthEndpoint             string  `json:"auth_endpoint"`

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

	DeviceExpiration     int32    `json:"device_expiration"`
	DeviceTypeExpiration int32    `json:"device_type_expiration"`
	TokenCacheExpiration int32    `json:"token_cache_expiration"`
	IotCacheUrl          []string `json:"iot_cache_url"`
	TokenCacheUrl        []string `json:"token_cache_url" config:"secret"`
	SyncKafka            bool     `json:"sync_kafka"`
	SyncKafkaIdempotent  bool     `json:"sync_kafka_idempotent"`
	Debug                bool     `json:"debug"`

	MqttBroker     string `json:"mqtt_broker"`
	MqttClientId   string `json:"mqtt_client_id"`
	Qos            byte   `json:"qos"`
	MqttLogLevel   string `json:"mqtt_log_level"`
	MqttVersion    string `json:"mqtt_version"`
	MqttAuthMethod string `json:"mqtt_auth_method"` // Whether the MQTT broker uses a username/password or client certificate authetication

	WebhookPort             string `json:"webhook_port"`
	HttpCommandConsumerPort string `json:"http_command_consumer_port"`

	ActuatorTopicPattern string `json:"actuator_topic_pattern"`

	SerializationFallback string `json:"serialization_fallback"`

	Validate                  bool `json:"validate"`
	ValidateAllowUnknownField bool `json:"validate_allow_unknown_field"`
	ValidateAllowMissingField bool `json:"validate_allow_missing_field"`

	KafkaProducerSlowTimeoutSec int64 `json:"kafka_producer_slow_timeout_sec"`

	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" config:"secret"`
	PostgresPw        string `json:"postgres_pw" config:"secret"`
	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"`

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

	CommandWorkerCount int64 `json:"command_worker_count"`

	SubscriptionDbConStr string `json:"subscription_db_con_str"`
	DeviceLogTopic       string `json:"device_log_topic"`

	DeviceTypeTopic string `json:"device_type_topic"`

	NotificationUrl string `json:"notification_url"`
	PermQueryUrl    string `json:"perm_query_url"`

	NotificationsIgnoreDuplicatesWithinS int    `json:"notifications_ignore_duplicates_within_s"`
	NotificationUserOverwrite            string `json:"notification_user_overwrite"`
	DeveloperNotificationUrl             string `json:"developer_notification_url"`

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

func Load

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

func LoadConfig

func LoadConfig() (result Config, err error)

func LoadConfigFlag

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

Jump to

Keyboard shortcuts

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