app

package
v0.0.0-...-96cdf77 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BindingManager

type BindingManager interface {
	Run()
	GetDrains(string) []egress.Writer
}

type Cache

type Cache struct {
	URL             string                   `env:"CACHE_URL,                 report"`
	CAFile          string                   `env:"CACHE_CA_FILE_PATH,        report"`
	CertFile        string                   `env:"CACHE_CERT_FILE_PATH,      report"`
	KeyFile         string                   `env:"CACHE_KEY_FILE_PATH,       report"`
	CommonName      string                   `env:"CACHE_COMMON_NAME,         report"`
	PollingInterval time.Duration            `env:"CACHE_POLLING_INTERVAL,    report"`
	Blacklist       bindings.BlacklistRanges `env:"BLACKLISTED_SYSLOG_RANGES, report"`
}

type Config

type Config struct {
	UseRFC3339           bool          `env:"USE_RFC3339"`
	BindingsPerAppLimit  int           `env:"BINDING_PER_APP_LIMIT,  report"`
	DrainSkipCertVerify  bool          `env:"DRAIN_SKIP_CERT_VERIFY, report"`
	DrainCipherSuites    string        `env:"DRAIN_CIPHER_SUITES,    report"`
	DrainTrustedCAFile   string        `env:"DRAIN_TRUSTED_CA_FILE,  report"`
	DefaultDrainMetadata bool          `env:"DEFAULT_DRAIN_METADATA, report"`
	IdleDrainTimeout     time.Duration `env:"IDLE_DRAIN_TIMEOUT, report"`
	WarnOnInvalidDrains  bool          `env:"WARN_ON_INVALID_DRAINS,    report"`

	GRPC          GRPC
	Cache         Cache
	MetricsServer config.MetricsServer

	AggregateConnectionRefreshInterval time.Duration `env:"AGGREGATE_CONNECTION_REFRESH_INTERVAL, report"`
	AggregateDrainURLs                 []string      `env:"AGGREGATE_DRAIN_URLS,                  report"`
}

Config holds the configuration for the syslog agent

func LoadConfig

func LoadConfig() Config

LoadConfig will load the configuration for the syslog agent from the environment. If loading the config fails for any reason this function will panic.

type GRPC

type GRPC struct {
	Port         int      `env:"AGENT_PORT,                     report"`
	CAFile       string   `env:"AGENT_CA_FILE_PATH,   required, report"`
	CertFile     string   `env:"AGENT_CERT_FILE_PATH, required, report"`
	KeyFile      string   `env:"AGENT_KEY_FILE_PATH,  required, report"`
	CipherSuites []string `env:"AGENT_CIPHER_SUITES,            report"`
}

GRPC stores the configuration for the router as a server using a PORT with mTLS certs and as a client.

type Metrics

type Metrics interface {
	NewGauge(name, helpText string, options ...metrics.MetricOption) metrics.Gauge
	NewCounter(name, helpText string, options ...metrics.MetricOption) metrics.Counter
	RegisterDebugMetrics()
}

type SyslogAgent

type SyslogAgent struct {
	// contains filtered or unexported fields
}

SyslogAgent manages starting the syslog agent service.

func NewSyslogAgent

func NewSyslogAgent(
	cfg Config,
	m Metrics,
	l *log.Logger,
) *SyslogAgent

NewSyslogAgent initializes and returns a new syslog agent.

func (*SyslogAgent) Run

func (s *SyslogAgent) Run()

func (*SyslogAgent) Stop

func (s *SyslogAgent) Stop()

Jump to

Keyboard shortcuts

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