config

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2024 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 {
	Nats                        NatsConfig      `yaml:"nats,omitempty"`
	NatsClientPingInterval      time.Duration   `yaml:"nats_client_ping_interval,omitempty"`
	NatsClientMessageBufferSize int             `yaml:"-"`
	EnableHTTP2                 bool            `yaml:"enable_http2"`
	DropletStaleThreshold       time.Duration   `yaml:"droplet_stale_threshold,omitempty"`
	StartResponseDelayInterval  time.Duration   `yaml:"start_response_delay_interval,omitempty"`
	Index                       uint            `yaml:"index,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) NatsServers added in v1.0.0

func (c *Config) NatsServers() []string

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 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 NatsConfig added in v1.0.0

type NatsConfig struct {
	Hosts                 []NatsHost       `yaml:"hosts"`
	User                  string           `yaml:"user"`
	Pass                  string           `yaml:"pass"`
	TLSEnabled            bool             `yaml:"tls_enabled"`
	CACerts               string           `yaml:"ca_certs"`
	CAPool                *x509.CertPool   `yaml:"-"`
	ClientAuthCertificate tls.Certificate  `yaml:"-"`
	TLSPem                `yaml:",inline"` // embed to get cert_chain and private_key for client authentication
}

type NatsHost added in v1.0.0

type NatsHost struct {
	Hostname string
	Port     uint16
}

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