Documentation
¶
Index ¶
- func InsertKVField[T any](kvs *params.KVs, key string, value *T)
- func InsertKVSecret(kvs *params.KVs, key string, secret *Secret, sl SecretLoader) error
- func InsertKVString(kvs *params.KVs, key string, value string)
- type CommonParams
- type Config
- type ConfigMapLoader
- type Namespaceable
- type Networking
- type Plugin
- type Secret
- type SecretLoader
- type TLS
- type ValueSource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InsertKVField ¶ added in v3.5.0
InsertKVField is a generic helper to insert fields into KVs with type conversion
func InsertKVSecret ¶ added in v3.5.0
InsertKVSecret is a helper for secret fields with error handling
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 indefinitely. 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
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 ¶
MarshalJSON implements the Marshaler interface.
func (*Config) MarshalYAML ¶
MarshalYAML implements the yaml.Marshaler interface.
func (*Config) UnmarshalJSON ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretLoader ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.