config

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2022 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LogLevel   = ConfigKey("log.level")
	LogFile    = ConfigKey("log.file")
	LogConsole = ConfigKey("log.console")

	RunUser = ConfigKey("runas")

	WorkingDir = ConfigKey("working_dir")

	Mqtt              = ConfigKey("mqtt")
	MqttHost          = ConfigKey("mqtt.host")
	MqttPort          = ConfigKey("mqtt.port")
	MqttWebsocketPort = ConfigKey("mqtt.websocket_port")
	MqttUsername      = ConfigKey("mqtt.username")
	MqttPassword      = ConfigKey("mqtt.password")
	MqttTopics        = ConfigKey("mqtt.topics")
	MqttClientId      = ConfigKey("mqtt.client_id")

	TelegramBotEnabled = ConfigKey("telegram.enabled")
	TelegramBotToken   = ConfigKey("telegram.bot_token")
	TelegramChatIds    = ConfigKey("telegram.chat_ids")

	ConfigDirectory = ConfigKey("config.directory")
	CommandToken    = ConfigKey("config.command_token")

	ScriptsDirectory          = ConfigKey("config.scripts.directory")
	ScriptsTemplatesDirectory = ConfigKey("config.scripts.templates.directory")

	ScriptsTemplatesEventsMqttDirectory   = ConfigKey("config.scripts.templates.events.mqtt")
	ScriptsTemplatesEventsRestDirectory   = ConfigKey("config.scripts.templates.events.rest")
	ScriptsTemplatesCommandsMqttDirectory = ConfigKey("config.scripts.templates.commands.mqtt")
	ScriptsTemplatesCommandsRestDirectory = ConfigKey("config.scripts.templates.commands.rest")

	ScriptsNotificationDirectory = ConfigKey("config.scripts.notifications")
	ScriptsDefaultLib            = ConfigKey("config.scripts.default_lib")

	DatabaseStatesName      = ConfigKey("database.states.name")
	DatabaseStatesPersist   = ConfigKey("database.states.persist")
	DatabaseSettingsName    = ConfigKey("database.settings.name")
	DatabaseSettingsPersist = ConfigKey("database.settings.persist")

	ListenPort         = ConfigKey("web.listen.port")
	ListenHost         = ConfigKey("web.listen.host")
	WebFilesDir        = ConfigKey("web.web_files")
	JwtSecret          = ConfigKey("jwt.secret")
	CorsAllowedOrigins = ConfigKey("cors.allowed_origins")

	DeviceTimeout      = ConfigKey("config.device_timeout")
	DeviceConfig       = ConfigKey("config.devices")
	UserConfig         = ConfigKey("config.users")
	NotificationConfig = ConfigKey("config.notifications")

	Room = ConfigKey("config.room")
)
View Source
const (
	DefLogLevel = "info"

	DefMqttHost          = "localhost"
	DefMqttPort          = 1883
	DefMqttWebsocketPort = 8083
	DefMqttTopic         = "tele/#"
	DefMqttClientId      = "hanectl_mqtt_client"

	DefConfigDirectory                       = "config"
	DefScriptsDirectory                      = "scripts"
	DefScriptsNotificationDirectory          = "notification"
	DefScriptsDefaultLib                     = "_lib"
	DefScriptsTemplatesDirectory             = "templates"
	DefScriptsTemplatesEventsMqttDirectory   = "events/mqtt"
	DefScriptsTemplatesEventsRestDirectory   = "events/rest"
	DefScriptsTemplatesCommandsMqttDirectory = "commands/mqtt"
	DefScriptsTemplatesCommandsRestDirectory = "commands/rest"

	DefDatabaseStatesName      = "hanectl_states.db"
	DefDatabaseStatesPersist   = true
	DefDatabaseSettingsName    = "hanectl_settings.db"
	DefDatabaseSettingsPersist = true

	DefPort = 8500
	DefHost = "127.0.0.1"

	DefWebFilesDir = "web"
	DefWebUrl      = "/"

	DefDeviceTimeout = 60
)
View Source
const (
	EnvMqttHost          = "MQTT_HOST"
	EnvMqttPort          = "MQTT_PORT"
	EnvMqttWebsocketPort = "MQTT_WEBSOCKET_PORT"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigKey

type ConfigKey string

type Configuration

type Configuration struct {
	// contains filtered or unexported fields
}

func (*Configuration) GetBool

func (c *Configuration) GetBool(key ConfigKey, defaultValue bool) bool

func (*Configuration) GetInt

func (c *Configuration) GetInt(key ConfigKey, defaultValue int) int

func (*Configuration) GetList

func (c *Configuration) GetList(key ConfigKey) []interface{}

func (*Configuration) GetMap

func (c *Configuration) GetMap(key ConfigKey) map[interface{}]interface{}

func (*Configuration) GetStr

func (c *Configuration) GetStr(key ConfigKey, defaultValue string) string

func (*Configuration) ReadConfiguration

func (c *Configuration) ReadConfiguration(configFile string)

type IConfiguration

type IConfiguration interface {
	ReadConfiguration(configFile string)
	GetStr(key ConfigKey, defaultValue string) string
	GetInt(key ConfigKey, defaultValue int) int
	GetBool(key ConfigKey, defaultValue bool) bool
	GetList(key ConfigKey) []interface{}
	GetMap(key ConfigKey) map[interface{}]interface{}
}

Jump to

Keyboard shortcuts

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