Documentation
¶
Index ¶
- Variables
- func ConfigureLog() error
- func ConfigureLoggers(c *LogConfig) error
- func GetHumanLogger() *zap.SugaredLogger
- func GetLogger() *zap.SugaredLogger
- func LoadPlugins(path string, list []string) map[string]PluginState
- type AcceptorConfig
- type AuthConfig
- type Config
- type ConsoleLogConfig
- type FileLogConfig
- type ListenersConfig
- type LogConfig
- type LogConfigBase
- type MqttConfig
- type Options
- type PluginState
- type PluginsConfig
- type PortConfig
- type SecurityConfig
- type SysLogConfig
- type SystemConfig
- type TLSConfig
Constants ¶
This section is empty.
Variables ¶
var PluginsDir string
PluginsDir absolute path to service plugins directory
var WorkDir string
WorkDir absolute path to service working directory
Functions ¶
func ConfigureLog ¶ added in v0.0.4
func ConfigureLog() error
func ConfigureLoggers ¶ added in v0.1.0
func GetHumanLogger ¶ added in v0.0.4
func GetHumanLogger() *zap.SugaredLogger
GetHumanLogger return production logger
func LoadPlugins ¶ added in v0.0.4
func LoadPlugins(path string, list []string) map[string]PluginState
LoadPlugins load plugins from path
Types ¶
type AcceptorConfig ¶ added in v0.2.5
AcceptorConfig amount of connections server can handle at same time
type AuthConfig ¶ added in v0.0.4
type Config ¶ added in v0.0.4
type Config struct {
System SystemConfig `yaml:"system"`
Plugins PluginsConfig `yaml:"plugins,omitempty"`
Mqtt MqttConfig `yaml:"mqtt,omitempty"`
Listeners ListenersConfig `yaml:"listeners,omitempty"`
Security SecurityConfig `yaml:"security,omitempty"`
Auth AuthConfig `yaml:"auth,omitempty"`
}
Config system-wide config
func DefaultConfig ¶ added in v0.0.4
func DefaultConfig() *Config
DefaultConfig Load minimum working configuration to allow server start without user provided one
type ConsoleLogConfig ¶ added in v0.0.4
type ConsoleLogConfig struct {
LogConfigBase `yaml:",inline"`
}
ConsoleLogConfig entry in system.log.console
type FileLogConfig ¶ added in v0.0.4
type FileLogConfig struct {
LogConfigBase `yaml:",inline"`
File string `yaml:"file,omitempty"`
MaxSize int `yaml:"maxSize,omitempty"`
MaxBackups int `yaml:"maxBackups,omitempty"`
MaxAge int `yaml:"maxAge,omitempty"`
}
FileLogConfig entry in system.log.file
type ListenersConfig ¶ added in v0.0.4
type ListenersConfig struct {
DefaultAddr string `yaml:"defaultAddr,omitempty"`
MQTT map[string]map[string]PortConfig `yaml:"mqtt,omitempty"`
}
ListenersConfig
type LogConfig ¶ added in v0.0.4
type LogConfig struct {
Console ConsoleLogConfig `yaml:"console"`
SysLog *SysLogConfig `yaml:"syslog,omitempty"`
File *FileLogConfig `yaml:"file,omitempty"`
}
LogConfig entry in system.log
type LogConfigBase ¶ added in v0.1.0
type LogConfigBase struct {
Timestamp *struct {
Format string `yaml:"format" default:"2006-01-02T15:04:05Z07:00"`
} `yaml:"timestamp,omitempty"`
Level string `yaml:"level"`
Backtrace bool `yaml:"backtrace"`
}
LogConfigBase base entry for all logger
func (*LogConfigBase) UnmarshalYAML ¶ added in v0.1.0
func (s *LogConfigBase) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshal log config
type MqttConfig ¶ added in v0.0.4
type MqttConfig struct {
Version []string `yaml:"version,omitempty"`
Systree struct {
Enabled bool `yaml:"enabled,omitempty"`
UpdateInterval int `yaml:"updateInterval,omitempty"`
} `yaml:"systree,omitempty"`
KeepAlive struct {
Period int `yaml:"period,omitempty"`
Force bool `yaml:"force,omitempty"`
} `yaml:"keepAlive,omitempty"`
Options struct {
ConnectTimeout int `yaml:"connectTimeout,omitempty"`
SessionDups bool `yaml:"sessionDups,omitempty"`
RetainAvailable bool `yaml:"retainAvailable,omitempty"`
SubsOverlap bool `yaml:"subsOverlap,omitempty"`
SubsID bool `yaml:"subsId,omitempty"`
SubsShared bool `yaml:"subsShared,omitempty"`
SubsWildcard bool `yaml:"subsWildcard,omitempty"`
ReceiveMax uint16 `yaml:"receiveMax,omitempty"`
MaxPacketSize uint32 `yaml:"maxPacketSize,omitempty"`
MaxTopicAlias uint16 `yaml:"maxTopicAlias,omitempty"`
MaxQoS mqttp.QosType `yaml:"maxQoS,omitempty"`
OfflineQoS0 bool `yaml:"offlineQoS0,omitempty"`
}
}
MqttConfig server config
type Options ¶
type Options struct {
// LogWithTs either display timestamp messages on log or not
LogWithTs bool
}
Options global MQTT config
type PluginState ¶ added in v0.0.4
type PluginState struct {
Plugin vlplugin.Plugin
Errors []error
}
PluginState status
type PluginsConfig ¶ added in v0.0.4
type PluginsConfig struct {
Enabled []string `yaml:"enabled,omitempty"`
Config map[string]interface{} `yaml:"config,omitempty"`
}
PluginsConfig entry in system.plugins
type PortConfig ¶ added in v0.0.4
type PortConfig struct {
Host string `yaml:"host,omitempty"`
Auth AuthConfig `yaml:"auth"`
TLS TLSConfig `yaml:"tls,omitempty"`
Path string `yaml:"path,omitempty"`
}
PortConfig configuration of tcp/ssl/ws(s) listeners
type SecurityConfig ¶ added in v0.0.4
type SecurityConfig struct {
TLS TLSConfig `yaml:"tls,omitempty"`
}
SecurityConfig system security config
type SysLogConfig ¶ added in v0.0.4
type SysLogConfig struct {
LogConfigBase `yaml:",inline"`
}
SysLogConfig entry in system.log.syslog
type SystemConfig ¶ added in v0.0.4
type SystemConfig struct {
Log LogConfig `yaml:"log"`
Http struct {
DefaultPort string `yaml:"defaultPort"`
} `yaml:"http"`
Acceptor AcceptorConfig `yaml:"acceptor"`
}
SystemConfig entry in system
type TLSConfig ¶ added in v0.0.4
TLSConfig used by SecurityConfig or ssl/ws listeners