config

package
v0.48.0 Latest Latest
Warning

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

Go to latest
Published: May 5, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BackendConfig

type BackendConfig struct {
	ClientAuthCertificate tls.Certificate
	MaxConns              int64 `yaml:"max_conns"`

	TLSPem `yaml:",inline"` // embed to get cert_chain and private_key for client authentication
}

type BrokerConfig

type BrokerConfig struct {
	BrokerServiceID string `yaml:"broker_service_id"`
	BrokerPlanID    string `yaml:"broker_plan_id"`
	User            string `yaml:"user"`
	Pass            string `yaml:"pass"`
}

type Config

type Config struct {
	Gorouters         []GorouterConfig `yaml:"gorouters,omitempty"`
	Logging           Log              `yaml:"logging,omitempty"`
	Port              uint16           `yaml:"port,omitempty"`
	HealthCheckPort   uint16           `yaml:"health_check_port,omitempty"`
	EnableSSL         bool             `yaml:"enable_ssl,omitempty"`
	SSLCertificate    tls.Certificate  `yaml:"-"`
	TLSPEM            TLSPem           `yaml:"tls_pem,omitempty"`
	CACerts           string           `yaml:"ca_certs,omitempty"`
	CAPool            *x509.CertPool   `yaml:"-"`
	SkipSSLValidation bool             `yaml:"skip_ssl_validation,omitempty"`

	Backends BackendConfig `yaml:"backends,omitempty"`

	Broker BrokerConfig `yaml:"broker,omitempty"`

	DisableKeepAlives   bool `yaml:"disable_keep_alives"`
	MaxIdleConns        int  `yaml:"max_idle_conns,omitempty"`
	MaxIdleConnsPerHost int  `yaml:"max_idle_conns_per_host,omitempty"`

	DbConn                string   `yaml:"db_conn"`
	SQLCnxMaxIdle         int      `yaml:"sql_cnx_max_idle"`
	SQLCnxMaxOpen         int      `yaml:"sql_cnx_max_open"`
	SQLCnxMaxLife         string   `yaml:"sql_cnx_max_life"`
	NotExitWhenConnFailed bool     `yaml:"not_exit_when_conn_failed"`
	DB                    *gorm.DB `yaml:"-"`

	BaseURL string `yaml:"base_url"`

	ExternalExporters ExternalExporters `yaml:"external_exporters"`
}

func DefaultConfig

func DefaultConfig() (*Config, error)

func InitConfigFromFile

func InitConfigFromFile(file *os.File) (*Config, error)

func (*Config) Initialize

func (c *Config) Initialize(configYAML []byte) error

func (*Config) Process

func (c *Config) Process() error

type ExternalExporter added in v0.4.0

type ExternalExporter struct {
	Name        string                     `yaml:"name"`
	Host        string                     `yaml:"host"`
	MetricsPath string                     `yaml:"metrics_path"`
	Scheme      string                     `yaml:"scheme"`
	Params      map[string][]ValueTemplate `yaml:"params"`
	IsTls       bool                       `yaml:"-"`
}

func (*ExternalExporter) ParamsToURLValues added in v0.4.0

func (ee *ExternalExporter) ParamsToURLValues(tags models.Tags) (url.Values, error)

func (*ExternalExporter) ToRoute added in v0.4.0

func (ee *ExternalExporter) ToRoute(tags models.Tags) (*models.Route, error)

func (*ExternalExporter) UnmarshalYAML added in v0.4.0

func (ee *ExternalExporter) UnmarshalYAML(unmarshal func(interface{}) error) error

type ExternalExporters added in v0.4.0

type ExternalExporters []*ExternalExporter

type GorouterConfig

type GorouterConfig struct {
	Host string `yaml:"host"`
	Port uint16 `yaml:"port"`
	User string `yaml:"user"`
	Pass string `yaml:"pass"`
}

type Log

type Log struct {
	Level   string `yaml:"level"`
	NoColor bool   `yaml:"no_color"`
	InJson  bool   `yaml:"in_json"`
}

func (*Log) UnmarshalYAML

func (c *Log) UnmarshalYAML(unmarshal func(interface{}) error) error

type TLSPem

type TLSPem struct {
	CertChain  string `yaml:"cert_chain"`
	PrivateKey string `yaml:"private_key"`
}

type ValueTemplate added in v0.4.0

type ValueTemplate struct {
	Raw string
	// contains filtered or unexported fields
}

func (*ValueTemplate) ResolveTags added in v0.4.0

func (vt *ValueTemplate) ResolveTags(tags models.Tags) (string, error)

func (*ValueTemplate) UnmarshalYAML added in v0.4.0

func (vt *ValueTemplate) UnmarshalYAML(unmarshal func(interface{}) error) error

Jump to

Keyboard shortcuts

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