Documentation
¶
Index ¶
Constants ¶
View Source
const ( // FlagConfig is name of CLI flags for config. FlagConfig = "config" // DefaultConfigFile is default file name of config. DefaultConfigFile = "default.yaml" // DefaultGRPCPort is default port number of grpc service. DefaultGRPCPort = 19090 // DefaultHTTPPort is default port number of http service. DefaultHTTPPort = 19091 // DefaultHomePath default home directory of VATZ. DefaultHomePath = "~/.vatz" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudLoggingCredentialInfo ¶ added in v1.2.0
type Config ¶
type Config struct { Vatz VatzProtocolInfo `yaml:"vatz_protocol_info"` PluginInfos PluginInfo `yaml:"plugins_infos"` }
Config is Vatz config structure.
func InitConfig ¶
InitConfig - initializes VATZ config.
type GCPCloudLoggingInfo ¶ added in v1.2.0
type GCPCloudLoggingInfo struct { Enabled bool `yaml:"enabled"` GCPCredentialInfo CloudLoggingCredentialInfo `yaml:"cloud_logging_credential_info"` }
type MonitoringInfo ¶
type MonitoringInfo struct { GCP struct { GCPCloudLogging GCPCloudLoggingInfo `yaml:"gcp_cloud_logging_info"` } `yaml:"gcp"` Prometheus struct { Enabled bool `yaml:"enabled"` Address string `yaml:"address"` Port int `yaml:"port"` } `yaml:"prometheus"` }
MonitoringInfo is structure for RPC service configuration.
type NotificationInfo ¶
type NotificationInfo struct { HostName string `yaml:"host_name"` DefaultReminderSchedule []string `yaml:"default_reminder_schedule"` DispatchChannels []struct { Channel string `yaml:"channel"` Secret string `yaml:"secret"` ChatID string `yaml:"chat_id"` Subscriptions []string `yaml:"subscriptions,omitempty"` ReminderSchedule []string `yaml:"reminder_schedule"` } `yaml:"dispatch_channels"` }
NotificationInfo is notification structure.
type Plugin ¶
type Plugin struct { Name string `yaml:"plugin_name"` Address string `yaml:"plugin_address"` VerifyInterval int `yaml:"verify_interval"` ExecuteInterval int `yaml:"execute_interval"` Port int `yaml:"plugin_port"` ExecutableMethods []struct { Name string `yaml:"method_name"` } `yaml:"executable_methods"` }
Plugin contains specific plugin info.
type PluginInfo ¶
type PluginInfo struct { DefaultVerifyInterval int `yaml:"default_verify_interval"` DefaultExecuteInterval int `yaml:"default_execute_interval"` DefaultPluginName string `yaml:"default_plugin_name"` Plugins []Plugin `yaml:"plugins"` }
PluginInfo contains general plugin info.
type RPCInfo ¶
type RPCInfo struct { Enabled bool `yaml:"enabled"` Address string `yaml:"address"` GRPCPort int `yaml:"grpc_port"` HTTPPort int `yaml:"http_port"` }
RPCInfo is structure for RPC service configuration.
type VatzProtocolInfo ¶
type VatzProtocolInfo struct { ProtocolIdentifier string `yaml:"protocol_identifier"` Port int `yaml:"port"` NotificationInfo NotificationInfo `yaml:"notification_info"` HealthCheckerSchedule []string `yaml:"health_checker_schedule"` RPCInfo RPCInfo `yaml:"rpc_info"` MonitoringInfo MonitoringInfo `yaml:"monitoring_info"` HomePath string `yaml:"home_path"` }
VatzProtocolInfo is VATZ information.
func (VatzProtocolInfo) AbsoluteHomePath ¶
func (i VatzProtocolInfo) AbsoluteHomePath() (string, error)
AbsoluteHomePath is the default home path
Click to show internal directories.
Click to hide internal directories.