plugins

package
v3.0.0-...-cc23366 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CommonParams

type CommonParams struct {

	// Alias for the plugin
	Alias string `json:"alias,omitempty"`
	// RetryLimit describes how many times fluent-bit should retry to send data to a specific output. If set to false fluent-bit will try indefinetly. If set to any integer N>0 it will try at most N+1 times. Leading zeros are not allowed (values such as 007, 0150, 01 do not work). If this property is not defined fluent-bit will use the default value: 1.
	// +kubebuilder:validation:Pattern="^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$"
	RetryLimit string `json:"retryLimit,omitempty"`
}

func (*CommonParams) AddCommonParams

func (c *CommonParams) AddCommonParams(kvs *params.KVs) error

func (*CommonParams) DeepCopy

func (in *CommonParams) DeepCopy() *CommonParams

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonParams.

func (*CommonParams) DeepCopyInto

func (in *CommonParams) DeepCopyInto(out *CommonParams)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Config

type Config struct {
	// Data holds the configuration keys and values.
	Data map[string]interface{} `json:"-"`
}

Config represents untyped YAML configuration. +kubebuilder:object:generate:=true +kubebuilder:validation:Type=object

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.

func (*Config) DeepCopyInto

func (c *Config) DeepCopyInto(out *Config)

DeepCopyInto is an ~autogenerated~ deepcopy function, copying the receiver, writing into out. in must be non-nil. This exists here to work around https://github.com/kubernetes/code-generator/issues/50

func (*Config) MarshalJSON

func (c *Config) MarshalJSON() ([]byte, error)

MarshalJSON implements the Marshaler interface.

func (*Config) MarshalYAML

func (c *Config) MarshalYAML() (interface{}, error)

MarshalYAML implements the yaml.Marshaler interface.

func (*Config) UnmarshalJSON

func (c *Config) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the Unmarshaler interface.

type ConfigMapLoader

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

func NewConfigMapLoader

func NewConfigMapLoader(c client.Client, ns string) ConfigMapLoader

func (ConfigMapLoader) LoadConfigMap

func (cl ConfigMapLoader) LoadConfigMap(selector v1.ConfigMapKeySelector, namespace string) (string, error)

type Namespaceable

type Namespaceable interface {
	MakeNamespaced(string)
}

The Namespaceable interface defines a method for adding a namespace to a plugins identifier.

type Networking

type Networking struct {
	// Set maximum time expressed in seconds to wait for a TCP connection to be established, this include the TLS handshake time.
	ConnectTimeout *int32 `json:"connectTimeout,omitempty"`
	// On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message.
	ConnectTimeoutLogError *bool `json:"connectTimeoutLogError,omitempty"`
	// Select the primary DNS connection type (TCP or UDP).
	// +kubebuilder:validation:Enum:="TCP";"UDP"
	DNSMode *string `json:"DNSMode,omitempty"`
	// Prioritize IPv4 DNS results when trying to establish a connection.
	DNSPreferIPv4 *bool `json:"DNSPreferIPv4,omitempty"`
	// Select the primary DNS resolver type (LEGACY or ASYNC).
	// +kubebuilder:validation:Enum:="LEGACY";"ASYNC"
	DNSResolver *string `json:"DNSResolver,omitempty"`
	// Enable or disable connection keepalive support. Accepts a boolean value: on / off.
	// +kubebuilder:validation:Enum:="on";"off"
	Keepalive *string `json:"keepalive,omitempty"`
	// Set maximum time expressed in seconds for an idle keepalive connection.
	KeepaliveIdleTimeout *int32 `json:"keepaliveIdleTimeout,omitempty"`
	// Set maximum number of times a keepalive connection can be used before it is retired.
	KeepaliveMaxRecycle *int32 `json:"keepaliveMaxRecycle,omitempty"`
	// Set maximum number of TCP connections that can be established per worker.
	MaxWorkerConnections *int32 `json:"maxWorkerConnections,omitempty"`
	// Specify network address to bind for data traffic.
	SourceAddress *string `json:"sourceAddress,omitempty"`
}

Fluent Bit implements a unified networking interface that is exposed to components like plugins. These are the functions from https://docs.fluentbit.io/manual/administration/networking and can be used on various output plugins

func (*Networking) DeepCopy

func (in *Networking) DeepCopy() *Networking

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Networking.

func (*Networking) DeepCopyInto

func (in *Networking) DeepCopyInto(out *Networking)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Networking) Params

func (t *Networking) Params(sl SecretLoader) (*params.KVs, error)

type Plugin

type Plugin interface {
	Name() string
	Params(SecretLoader) (*params.KVs, error)
}

The Plugin interface defines methods for transferring input, filter and output plugins to textual section content.

type Secret

type Secret struct {
	ValueFrom ValueSource `json:"valueFrom,omitempty"`
}

+kubebuilder:object:generate:=true Secret defines the key of a value.

func (*Secret) DeepCopy

func (in *Secret) DeepCopy() *Secret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.

func (*Secret) DeepCopyInto

func (in *Secret) DeepCopyInto(out *Secret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretLoader

type SecretLoader struct {
	Client client.Client
	// contains filtered or unexported fields
}

func NewSecretLoader

func NewSecretLoader(c client.Client, ns string) SecretLoader

func (SecretLoader) LoadSecret

func (sl SecretLoader) LoadSecret(s Secret) (string, error)

type TLS

type TLS struct {
	// Force certificate validation
	Verify *bool `json:"verify,omitempty"`
	// Set TLS debug verbosity level.
	// It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
	// +kubebuilder:validation:Enum:=0;1;2;3;4
	Debug *int32 `json:"debug,omitempty"`
	// Absolute path to CA certificate file
	CAFile string `json:"caFile,omitempty"`
	// Absolute path to scan for certificate files
	CAPath string `json:"caPath,omitempty"`
	// Absolute path to Certificate file
	CRTFile string `json:"crtFile,omitempty"`
	// Absolute path to private Key file
	KeyFile string `json:"keyFile,omitempty"`
	// Optional password for tls.key_file file
	KeyPassword *Secret `json:"keyPassword,omitempty"`
	// Hostname to be used for TLS SNI extension
	Vhost string `json:"vhost,omitempty"`
}

Fluent Bit provides integrated support for Transport Layer Security (TLS) and it predecessor Secure Sockets Layer (SSL) respectively.

func (*TLS) DeepCopy

func (in *TLS) DeepCopy() *TLS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.

func (*TLS) DeepCopyInto

func (in *TLS) DeepCopyInto(out *TLS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLS) Params

func (t *TLS) Params(sl SecretLoader) (*params.KVs, error)

type ValueSource

type ValueSource struct {
	// Selects a key of a secret in the pod's namespace
	// +optional
	SecretKeyRef corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

+kubebuilder:object:generate:=true ValueSource defines how to find a value's key.

func (*ValueSource) DeepCopy

func (in *ValueSource) DeepCopy() *ValueSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueSource.

func (*ValueSource) DeepCopyInto

func (in *ValueSource) DeepCopyInto(out *ValueSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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