Documentation
¶
Overview ¶
Package config defines the full configuration structure used by the Benthos service, including methods of normalising and linting user configuration.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrExceededRefLimit = errors.New("exceeded limit of nested references")
ErrExceededRefLimit is returned when a configuration hierarchy results in nested references beyond a hard coded limit. This is intended to prevent looped references from blocking the service.
Functions ¶
func AddExamples ¶
AddExamples takes a configuration struct and a variant list of type names to add to it and injects those types appropriately.
For example, your variant arguments could be "kafka" and "amqp", which case this function will create a configuration that reads from Kafka and writes over AMQP.
Types ¶
type SanitisedConfig ¶
type SanitisedConfig struct {
HTTP interface{} `json:"http" yaml:"http"`
Input interface{} `json:"input" yaml:"input"`
Buffer interface{} `json:"buffer" yaml:"buffer"`
Pipeline interface{} `json:"pipeline" yaml:"pipeline"`
Output interface{} `json:"output" yaml:"output"`
Manager interface{} `json:"resources" yaml:"resources"`
Logger interface{} `json:"logger" yaml:"logger"`
Metrics interface{} `json:"metrics" yaml:"metrics"`
Tracer interface{} `json:"tracer" yaml:"tracer"`
SystemCloseTimeout interface{} `json:"shutdown_timeout" yaml:"shutdown_timeout"`
}
SanitisedConfig is a config struct of generic types, this is returned by Sanitised() and is a generic structure containing only fields of relevance.
type Type ¶
type Type struct {
HTTP api.Config `json:"http" yaml:"http"`
stream.Config `json:",inline" yaml:",inline"`
Manager manager.Config `json:"resources" yaml:"resources"`
Logger log.Config `json:"logger" yaml:"logger"`
Metrics metrics.Config `json:"metrics" yaml:"metrics"`
Tracer tracer.Config `json:"tracer" yaml:"tracer"`
SystemCloseTimeout string `json:"shutdown_timeout" yaml:"shutdown_timeout"`
}
Type is the Benthos service configuration struct.
func (Type) Sanitised ¶
func (c Type) Sanitised() (*SanitisedConfig, error)
Sanitised returns a sanitised copy of the Benthos configuration, meaning fields of no consequence (unused inputs, outputs, processors etc) are excluded.