configure

package
v0.0.0-...-02c3adc Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MessageQueueModeRMQ = "RMQ"
	MessageQueueModeSQS = "SQS"
)

Variables

This section is empty.

Functions

func BindEnvs

func BindEnvs(config *viper.Viper, iface interface{}, parts ...string)

Types

type Config

type Config struct {
	Level         string `mapstructure:"level" json:"level"`
	ConfigFile    string `mapstructure:"config" json:"config"`
	NoHeader      bool   `mapstructure:"noheader" json:"noheader"`
	WebsiteURL    string `mapstructure:"website_url" json:"website_url"`
	OldWebsiteURL string `mapstructure:"website_old_url" json:"website_old_url"`
	CdnURL        string `mapstructure:"cdn_url" json:"cdn_url"`

	K8S struct {
		NodeName string `mapstructure:"node_name" json:"node_name"`
		PodName  string `mapstructure:"pod_name" json:"pod_name"`
	} `mapstructure:"k8s" json:"k8s"`

	Discord struct {
		GuildID       string            `mapstructure:"guild_id" json:"guild_id"`
		DefaultRoleId string            `mapstructure:"default_role_id" json:"default_role_id"`
		Token         string            `mapstructure:"token" json:"token"`
		Channels      map[string]string `mapstructure:"channels" json:"channels"`
	} `mapstructure:"discord" json:"discord"`

	Redis struct {
		Username   string   `mapstructure:"username" json:"username"`
		Password   string   `mapstructure:"password" json:"password"`
		Database   int      `mapstructure:"db" json:"db"`
		Sentinel   bool     `mapstructure:"sentinel" json:"sentinel"`
		Addresses  []string `mapstructure:"addresses" json:"addresses"`
		MasterName string   `mapstructure:"master_name" json:"master_name"`
	} `mapstructure:"redis" json:"redis"`

	Mongo struct {
		URI    string `mapstructure:"uri" json:"uri"`
		DB     string `mapstructure:"db" json:"db"`
		Direct bool   `mapstructure:"direct" json:"direct"`
	} `mapstructure:"mongo" json:"mongo"`

	Health struct {
		Enabled bool   `mapstructure:"enabled" json:"enabled"`
		Bind    string `mapstructure:"bind" json:"bind"`
	} `mapstructure:"health" json:"health"`

	Monitoring struct {
		Enabled bool   `mapstructure:"enabled" json:"enabled"`
		Bind    string `mapstructure:"bind" json:"bind"`
		Labels  Labels `mapstructure:"labels" json:"labels"`
	} `mapstructure:"monitoring" json:"monitoring"`

	Http struct {
		Addr string `mapstructure:"addr" json:"addr"`
		Port int    `mapstructure:"port" json:"port"`
	} `mapstructure:"http" json:"http"`
}

func New

func New() *Config

type Labels

type Labels []struct {
	Key   string `mapstructure:"key" json:"key"`
	Value string `mapstructure:"value" json:"value"`
}

func (Labels) ToPrometheus

func (l Labels) ToPrometheus() prometheus.Labels

type MessageQueueMode

type MessageQueueMode string

Jump to

Keyboard shortcuts

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