v1alpha2

package
v2.7.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2023 License: Apache-2.0 Imports: 20 Imported by: 36

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the logging v1alpha2 API group +kubebuilder:object:generate=true +groupName=fluentbit.fluent.io

Index

Constants

View Source
const CollectorFinalizerName = "collector.fluent.io"

CollectorFinalizerName is the name of the fluentbit finalizer

View Source
const FluentBitFinalizerName = "fluentbit.fluent.io"

FluentBitFinalizerName is the name of the fluentbit finalizer

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "fluentbit.fluent.io", Version: "v1alpha2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ByName

type ByName []Script

ByName implements sort.Interface for []Script based on the Name field.

func (ByName) Len

func (a ByName) Len() int

func (ByName) Less

func (a ByName) Less(i, j int) bool

func (ByName) Swap

func (a ByName) Swap(i, j int)

type ClusterFilter

type ClusterFilter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of desired Filter configuration.
	Spec FilterSpec `json:"spec,omitempty"`
}

ClusterFilter defines a cluster-level Filter configuration.

func (*ClusterFilter) DeepCopy

func (in *ClusterFilter) DeepCopy() *ClusterFilter

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

func (*ClusterFilter) DeepCopyInto

func (in *ClusterFilter) DeepCopyInto(out *ClusterFilter)

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

func (*ClusterFilter) DeepCopyObject

func (in *ClusterFilter) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterFilterList

type ClusterFilterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterFilter `json:"items"`
}

ClusterFilterList contains a list of ClusterFilter

func (*ClusterFilterList) DeepCopy

func (in *ClusterFilterList) DeepCopy() *ClusterFilterList

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

func (*ClusterFilterList) DeepCopyInto

func (in *ClusterFilterList) DeepCopyInto(out *ClusterFilterList)

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

func (*ClusterFilterList) DeepCopyObject

func (in *ClusterFilterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ClusterFilterList) Load

type ClusterFluentBitConfig

type ClusterFluentBitConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec FluentBitConfigSpec `json:"spec,omitempty"`
}

ClusterFluentBitConfig is the Schema for the cluster-level fluentbitconfigs API

func (*ClusterFluentBitConfig) DeepCopy

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

func (*ClusterFluentBitConfig) DeepCopyInto

func (in *ClusterFluentBitConfig) DeepCopyInto(out *ClusterFluentBitConfig)

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

func (*ClusterFluentBitConfig) DeepCopyObject

func (in *ClusterFluentBitConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ClusterFluentBitConfig) RenderLuaScript

func (cfg ClusterFluentBitConfig) RenderLuaScript(cl plugins.ConfigMapLoader, filters ClusterFilterList, namespace string) ([]Script, error)

func (ClusterFluentBitConfig) RenderMainConfig

func (cfg ClusterFluentBitConfig) RenderMainConfig(sl plugins.SecretLoader, inputs ClusterInputList, filters ClusterFilterList,
	outputs ClusterOutputList, nsFilterLists []FilterList, nsOutputLists []OutputList, rewriteTagConfigs []string) (string, error)

func (ClusterFluentBitConfig) RenderParserConfig

func (cfg ClusterFluentBitConfig) RenderParserConfig(sl plugins.SecretLoader, parsers ClusterParserList, nsParserLists []ParserList,
	nsClusterParserLists []ClusterParserList) (string, error)

type ClusterFluentBitConfigList

type ClusterFluentBitConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterFluentBitConfig `json:"items"`
}

ClusterFluentBitConfigList contains a list of ClusterFluentBitConfig

func (*ClusterFluentBitConfigList) DeepCopy

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

func (*ClusterFluentBitConfigList) DeepCopyInto

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

func (*ClusterFluentBitConfigList) DeepCopyObject

func (in *ClusterFluentBitConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterInput

type ClusterInput struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec InputSpec `json:"spec,omitempty"`
}

ClusterInput is the Schema for the inputs API

func (*ClusterInput) DeepCopy

func (in *ClusterInput) DeepCopy() *ClusterInput

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

func (*ClusterInput) DeepCopyInto

func (in *ClusterInput) DeepCopyInto(out *ClusterInput)

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

func (*ClusterInput) DeepCopyObject

func (in *ClusterInput) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterInputList

type ClusterInputList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterInput `json:"items"`
}

ClusterInputList contains a list of ClusterInput

func (*ClusterInputList) DeepCopy

func (in *ClusterInputList) DeepCopy() *ClusterInputList

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

func (*ClusterInputList) DeepCopyInto

func (in *ClusterInputList) DeepCopyInto(out *ClusterInputList)

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

func (*ClusterInputList) DeepCopyObject

func (in *ClusterInputList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ClusterInputList) Load

type ClusterOutput

type ClusterOutput struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec OutputSpec `json:"spec,omitempty"`
}

ClusterOutput is the Schema for the cluster-level outputs API

func (*ClusterOutput) DeepCopy

func (in *ClusterOutput) DeepCopy() *ClusterOutput

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

func (*ClusterOutput) DeepCopyInto

func (in *ClusterOutput) DeepCopyInto(out *ClusterOutput)

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

func (*ClusterOutput) DeepCopyObject

func (in *ClusterOutput) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterOutputList

type ClusterOutputList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterOutput `json:"items"`
}

ClusterOutputList contains a list of ClusterOutput

func (*ClusterOutputList) DeepCopy

func (in *ClusterOutputList) DeepCopy() *ClusterOutputList

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

func (*ClusterOutputList) DeepCopyInto

func (in *ClusterOutputList) DeepCopyInto(out *ClusterOutputList)

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

func (*ClusterOutputList) DeepCopyObject

func (in *ClusterOutputList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ClusterOutputList) Load

type ClusterParser

type ClusterParser struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ParserSpec `json:"spec,omitempty"`
}

ClusterParser is the Schema for the cluster-level parsers API

func (*ClusterParser) DeepCopy

func (in *ClusterParser) DeepCopy() *ClusterParser

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

func (*ClusterParser) DeepCopyInto

func (in *ClusterParser) DeepCopyInto(out *ClusterParser)

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

func (*ClusterParser) DeepCopyObject

func (in *ClusterParser) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterParserList

type ClusterParserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterParser `json:"items"`
}

ClusterParserList contains a list of ClusterParser

func (*ClusterParserList) DeepCopy

func (in *ClusterParserList) DeepCopy() *ClusterParserList

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

func (*ClusterParserList) DeepCopyInto

func (in *ClusterParserList) DeepCopyInto(out *ClusterParserList)

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

func (*ClusterParserList) DeepCopyObject

func (in *ClusterParserList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ClusterParserList) Load

func (list ClusterParserList) Load(sl plugins.SecretLoader, existingParsers map[string]bool) (string, error)

type Collector

type Collector struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CollectorSpec   `json:"spec,omitempty"`
	Status CollectorStatus `json:"status,omitempty"`
}

Collector is the Schema for the fluentbits API

func (*Collector) AddFinalizer

func (co *Collector) AddFinalizer(finalizerName string)

AddFinalizer adds the specified finalizer

func (*Collector) DeepCopy

func (in *Collector) DeepCopy() *Collector

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

func (*Collector) DeepCopyInto

func (in *Collector) DeepCopyInto(out *Collector)

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

func (*Collector) DeepCopyObject

func (in *Collector) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Collector) HasFinalizer

func (co *Collector) HasFinalizer(finalizerName string) bool

HasFinalizer returns true if the item has the specified finalizer

func (*Collector) IsBeingDeleted

func (co *Collector) IsBeingDeleted() bool

IsBeingDeleted returns true if a deletion timestamp is set

func (*Collector) RemoveFinalizer

func (co *Collector) RemoveFinalizer(finalizerName string)

RemoveFinalizer removes the specified finalizer

type CollectorList

type CollectorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Collector `json:"items"`
}

CollectorList contains a list of Collector

func (*CollectorList) DeepCopy

func (in *CollectorList) DeepCopy() *CollectorList

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

func (*CollectorList) DeepCopyInto

func (in *CollectorList) DeepCopyInto(out *CollectorList)

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

func (*CollectorList) DeepCopyObject

func (in *CollectorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CollectorService

type CollectorService struct {
	// Name is the name of the FluentBit service.
	Name string `json:"name,omitempty"`
	// Annotations to add to each Fluentbit service.
	Annotations map[string]string `json:"annotations,omitempty"`
	// Labels to add to each FluentBit service
	Labels map[string]string `json:"labels,omitempty"`
}

CollectorService defines the service of the FluentBit

func (*CollectorService) DeepCopy

func (in *CollectorService) DeepCopy() *CollectorService

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

func (*CollectorService) DeepCopyInto

func (in *CollectorService) DeepCopyInto(out *CollectorService)

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

type CollectorSpec

type CollectorSpec struct {
	// Fluent Bit image.
	Image string `json:"image,omitempty"`
	// Fluent Bit Watcher command line arguments.
	Args []string `json:"args,omitempty"`
	// Fluent Bit image pull policy.
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Fluent Bit image pull secret
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// Compute Resources required by container.
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// NodeSelector
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Pod's scheduling constraints.
	Affinity *corev1.Affinity `json:"affinity,omitempty"`
	// Tolerations
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// Fluentbitconfig object associated with this Fluentbit
	FluentBitConfigName string `json:"fluentBitConfigName,omitempty"`
	// The Secrets are mounted into /fluent-bit/secrets/<secret-name>.
	Secrets []string `json:"secrets,omitempty"`
	// RuntimeClassName represents the container runtime configuration.
	RuntimeClassName string `json:"runtimeClassName,omitempty"`
	// PriorityClassName represents the pod's priority class.
	PriorityClassName string `json:"priorityClassName,omitempty"`
	// List of volumes that can be mounted by containers belonging to the pod.
	Volumes []corev1.Volume `json:"volumes,omitempty"`
	// Pod volumes to mount into the container's filesystem.
	VolumesMounts []corev1.VolumeMount `json:"volumesMounts,omitempty"`
	// Annotations to add to each Fluentbit pod.
	Annotations map[string]string `json:"annotations,omitempty"`
	// Annotations to add to the Fluentbit service account
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`
	// SecurityContext holds pod-level security attributes and common container settings.
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`
	// Host networking is requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.
	HostNetwork bool `json:"hostNetwork,omitempty"`
	// PVC definition
	PersistentVolumeClaim *corev1.PersistentVolumeClaim `json:"pvc,omitempty"`
	// RBACRules represents additional rbac rules which will be applied to the fluent-bit clusterrole.
	RBACRules []rbacv1.PolicyRule `json:"rbacRules,omitempty"`
	// By default will build the related service according to the globalinputs definition.
	DisableService bool `json:"disableService,omitempty"`
	// The path where buffer chunks are stored.
	BufferPath *string `json:"bufferPath,omitempty"`
	// Ports represents the pod's ports.
	Ports []corev1.ContainerPort `json:"ports,omitempty"`
	// Service represents configurations on the fluent-bit service.
	Service CollectorService `json:"service,omitempty"`
	// SchedulerName represents the desired scheduler for the Fluentbit collector pods
	SchedulerName string `json:"schedulerName,omitempty"`
}

CollectorSpec defines the desired state of FluentBit

func (*CollectorSpec) DeepCopy

func (in *CollectorSpec) DeepCopy() *CollectorSpec

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

func (*CollectorSpec) DeepCopyInto

func (in *CollectorSpec) DeepCopyInto(out *CollectorSpec)

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

type CollectorStatus

type CollectorStatus struct {
}

CollectorStatus defines the observed state of FluentBit

func (*CollectorStatus) DeepCopy

func (in *CollectorStatus) DeepCopy() *CollectorStatus

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

func (*CollectorStatus) DeepCopyInto

func (in *CollectorStatus) DeepCopyInto(out *CollectorStatus)

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

type Decorder

type Decorder struct {
	// If the content can be decoded in a structured message,
	// append that structure message (keys and values) to the original log message.
	DecodeField string `json:"decodeField,omitempty"`
	// Any content decoded (unstructured or structured) will be replaced in the same key/value,
	// no extra keys are added.
	DecodeFieldAs string `json:"decodeFieldAs,omitempty"`
}

func (*Decorder) DeepCopy

func (in *Decorder) DeepCopy() *Decorder

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

func (*Decorder) DeepCopyInto

func (in *Decorder) DeepCopyInto(out *Decorder)

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

type Filter

type Filter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec FilterSpec `json:"spec,omitempty"`
}

Filter is the Schema for namespace level filter API

func (*Filter) DeepCopy

func (in *Filter) DeepCopy() *Filter

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

func (*Filter) DeepCopyInto

func (in *Filter) DeepCopyInto(out *Filter)

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

func (*Filter) DeepCopyObject

func (in *Filter) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FilterByName

type FilterByName []ClusterFilter

FilterByName implements sort.Interface for []ClusterFilter based on the Name field.

func (FilterByName) Len

func (a FilterByName) Len() int

func (FilterByName) Less

func (a FilterByName) Less(i, j int) bool

func (FilterByName) Swap

func (a FilterByName) Swap(i, j int)

type FilterItem

type FilterItem struct {
	// Grep defines Grep Filter configuration.
	Grep *filter.Grep `json:"grep,omitempty"`
	// RecordModifier defines Record Modifier Filter configuration.
	RecordModifier *filter.RecordModifier `json:"recordModifier,omitempty"`
	// Kubernetes defines Kubernetes Filter configuration.
	Kubernetes *filter.Kubernetes `json:"kubernetes,omitempty"`
	// Modify defines Modify Filter configuration.
	Modify *filter.Modify `json:"modify,omitempty"`
	// Nest defines Nest Filter configuration.
	Nest *filter.Nest `json:"nest,omitempty"`
	// Parser defines Parser Filter configuration.
	Parser *filter.Parser `json:"parser,omitempty"`
	// Lua defines Lua Filter configuration.
	Lua *filter.Lua `json:"lua,omitempty"`
	// Throttle defines a Throttle configuration.
	Throttle *filter.Throttle `json:"throttle,omitempty"`
	// RewriteTag defines a RewriteTag configuration.
	RewriteTag *filter.RewriteTag `json:"rewriteTag,omitempty"`
	// Aws defines a Aws configuration.
	AWS *filter.AWS `json:"aws,omitempty"`
	// Multiline defines a Multiline configuration.
	Multiline *filter.Multiline `json:"multiline,omitempty"`
	// CustomPlugin defines a Custom plugin configuration.
	CustomPlugin *custom.CustomPlugin `json:"customPlugin,omitempty"`
}

func (*FilterItem) DeepCopy

func (in *FilterItem) DeepCopy() *FilterItem

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

func (*FilterItem) DeepCopyInto

func (in *FilterItem) DeepCopyInto(out *FilterItem)

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

type FilterList

type FilterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Filter `json:"items"`
}

FilterList contains a list of Filters

func (*FilterList) DeepCopy

func (in *FilterList) DeepCopy() *FilterList

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

func (*FilterList) DeepCopyInto

func (in *FilterList) DeepCopyInto(out *FilterList)

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

func (*FilterList) DeepCopyObject

func (in *FilterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (FilterList) Load

func (list FilterList) Load(sl plugins.SecretLoader) (string, error)

type FilterSpec

type FilterSpec struct {
	// A pattern to match against the tags of incoming records.
	// It's case-sensitive and support the star (*) character as a wildcard.
	Match string `json:"match,omitempty"`
	// A regular expression to match against the tags of incoming records.
	// Use this option if you want to use the full regex syntax.
	MatchRegex string `json:"matchRegex,omitempty"`
	// +kubebuilder:validation:Enum:=off;error;warning;info;debug;trace
	LogLevel string `json:"logLevel,omitempty"`
	// A set of filter plugins in order.
	FilterItems []FilterItem `json:"filters,omitempty"`
}

FilterSpec defines the desired state of ClusterFilter

func (*FilterSpec) DeepCopy

func (in *FilterSpec) DeepCopy() *FilterSpec

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

func (*FilterSpec) DeepCopyInto

func (in *FilterSpec) DeepCopyInto(out *FilterSpec)

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

type FluentBit

type FluentBit struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FluentBitSpec   `json:"spec,omitempty"`
	Status FluentBitStatus `json:"status,omitempty"`
}

FluentBit is the Schema for the fluentbits API

func (*FluentBit) AddFinalizer

func (fb *FluentBit) AddFinalizer(finalizerName string)

AddFinalizer adds the specified finalizer

func (*FluentBit) DeepCopy

func (in *FluentBit) DeepCopy() *FluentBit

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

func (*FluentBit) DeepCopyInto

func (in *FluentBit) DeepCopyInto(out *FluentBit)

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

func (*FluentBit) DeepCopyObject

func (in *FluentBit) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FluentBit) HasFinalizer

func (fb *FluentBit) HasFinalizer(finalizerName string) bool

HasFinalizer returns true if the item has the specified finalizer

func (*FluentBit) IsBeingDeleted

func (fb *FluentBit) IsBeingDeleted() bool

IsBeingDeleted returns true if a deletion timestamp is set

func (*FluentBit) RemoveFinalizer

func (fb *FluentBit) RemoveFinalizer(finalizerName string)

RemoveFinalizer removes the specified finalizer

type FluentBitConfig

type FluentBitConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec NamespacedFluentBitCfgSpec `json:"spec,omitempty"`
}

FluentBitConfig is the Schema for the API

func (*FluentBitConfig) DeepCopy

func (in *FluentBitConfig) DeepCopy() *FluentBitConfig

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

func (*FluentBitConfig) DeepCopyInto

func (in *FluentBitConfig) DeepCopyInto(out *FluentBitConfig)

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

func (*FluentBitConfig) DeepCopyObject

func (in *FluentBitConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FluentBitConfigList

type FluentBitConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FluentBitConfig `json:"items"`
}

FluentBitConfigList contains a list of Collector

func (*FluentBitConfigList) DeepCopy

func (in *FluentBitConfigList) DeepCopy() *FluentBitConfigList

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

func (*FluentBitConfigList) DeepCopyInto

func (in *FluentBitConfigList) DeepCopyInto(out *FluentBitConfigList)

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

func (*FluentBitConfigList) DeepCopyObject

func (in *FluentBitConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FluentBitConfigSpec

type FluentBitConfigSpec struct {
	// Service defines the global behaviour of the Fluent Bit engine.
	Service *Service `json:"service,omitempty"`
	// Select input plugins
	InputSelector metav1.LabelSelector `json:"inputSelector,omitempty"`
	// Select filter plugins
	FilterSelector metav1.LabelSelector `json:"filterSelector,omitempty"`
	// Select output plugins
	OutputSelector metav1.LabelSelector `json:"outputSelector,omitempty"`
	// Select parser plugins
	ParserSelector metav1.LabelSelector `json:"parserSelector,omitempty"`
	// If namespace is defined, then the configmap and secret for fluent-bit is in this namespace.
	// If it is not defined, it is in the namespace of the fluentd-operator
	Namespace *string `json:"namespace,omitempty"`
}

FluentBitConfigSpec defines the desired state of ClusterFluentBitConfig

func (*FluentBitConfigSpec) DeepCopy

func (in *FluentBitConfigSpec) DeepCopy() *FluentBitConfigSpec

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

func (*FluentBitConfigSpec) DeepCopyInto

func (in *FluentBitConfigSpec) DeepCopyInto(out *FluentBitConfigSpec)

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

type FluentBitList

type FluentBitList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FluentBit `json:"items"`
}

FluentBitList contains a list of FluentBit

func (*FluentBitList) DeepCopy

func (in *FluentBitList) DeepCopy() *FluentBitList

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

func (*FluentBitList) DeepCopyInto

func (in *FluentBitList) DeepCopyInto(out *FluentBitList)

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

func (*FluentBitList) DeepCopyObject

func (in *FluentBitList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FluentBitService

type FluentBitService struct {
	// Name is the name of the FluentBit service.
	Name string `json:"name,omitempty"`
	// Annotations to add to each Fluentbit service.
	Annotations map[string]string `json:"annotations,omitempty"`
	// Labels to add to each FluentBit service
	Labels map[string]string `json:"labels,omitempty"`
}

FluentBitService defines the service of the FluentBit

func (*FluentBitService) DeepCopy

func (in *FluentBitService) DeepCopy() *FluentBitService

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

func (*FluentBitService) DeepCopyInto

func (in *FluentBitService) DeepCopyInto(out *FluentBitService)

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

type FluentBitSpec

type FluentBitSpec struct {
	// DisableService tells if the fluentbit service should be deployed.
	DisableService bool `json:"disableService,omitempty"`
	// Fluent Bit image.
	Image string `json:"image,omitempty"`
	// Fluent Bit Watcher command line arguments.
	Args []string `json:"args,omitempty"`
	// Fluent Bit Watcher command.
	Command []string `json:"command,omitempty"`
	// Fluent Bit image pull policy.
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Fluent Bit image pull secret
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// MountPropagation option for internal mounts
	// +kubebuilder:validation:Enum:=None;HostToContainer;Bidirectional
	InternalMountPropagation *corev1.MountPropagationMode `json:"internalMountPropagation,omitempty"`
	// Storage for position db. You will use it if tail input is enabled.
	PositionDB corev1.VolumeSource `json:"positionDB,omitempty"`
	// Container log path
	ContainerLogRealPath string `json:"containerLogRealPath,omitempty"`
	// Compute Resources required by container.
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// NodeSelector
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Pod's scheduling constraints.
	Affinity *corev1.Affinity `json:"affinity,omitempty"`
	// Tolerations
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// Fluentbitconfig object associated with this Fluentbit
	FluentBitConfigName string `json:"fluentBitConfigName,omitempty"`
	// NamespacedFluentBitCfgSelector selects the namespace FluentBitConfig associated with this FluentBit
	NamespacedFluentBitCfgSelector metav1.LabelSelector `json:"namespaceFluentBitCfgSelector,omitempty"`
	// The Secrets are mounted into /fluent-bit/secrets/<secret-name>.
	Secrets []string `json:"secrets,omitempty"`
	// RuntimeClassName represents the container runtime configuration.
	RuntimeClassName string `json:"runtimeClassName,omitempty"`
	// PriorityClassName represents the pod's priority class.
	PriorityClassName string `json:"priorityClassName,omitempty"`
	// List of volumes that can be mounted by containers belonging to the pod.
	Volumes []corev1.Volume `json:"volumes,omitempty"`
	// Pod volumes to mount into the container's filesystem.
	VolumesMounts []corev1.VolumeMount `json:"volumesMounts,omitempty"`
	// DisableLogVolumes removes the hostPath mounts for varlibcontainers, varlogs and systemd.
	DisableLogVolumes bool `json:"disableLogVolumes,omitempty"`
	// Annotations to add to each Fluentbit pod.
	Annotations map[string]string `json:"annotations,omitempty"`
	// Annotations to add to the Fluentbit service account
	ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"`
	// Labels to add to each FluentBit pod
	Labels map[string]string `json:"labels,omitempty"`
	// SecurityContext holds pod-level security attributes and common container settings.
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`
	// ContainerSecurityContext holds container-level security attributes.
	ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"`
	// Host networking is requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.
	HostNetwork bool `json:"hostNetwork,omitempty"`
	// EnvVars represent environment variables that can be passed to fluentbit pods.
	EnvVars []corev1.EnvVar `json:"envVars,omitempty"`
	// LivenessProbe represents the pod's liveness probe.
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`
	// ReadinessProbe represents the pod's readiness probe.
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`
	// InitContainers represents the pod's init containers.
	InitContainers []corev1.Container `json:"initContainers,omitempty"`
	// Ports represents the pod's ports.
	Ports []corev1.ContainerPort `json:"ports,omitempty"`
	// RBACRules represents additional rbac rules which will be applied to the fluent-bit clusterrole.
	RBACRules []rbacv1.PolicyRule `json:"rbacRules,omitempty"`
	// Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are
	// 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.
	DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"`
	// MetricsPort is the port used by the metrics server. If this option is set, HttpPort from ClusterFluentBitConfig needs to match this value. Default is 2020.
	MetricsPort int32 `json:"metricsPort,omitempty"`
	// Service represents configurations on the fluent-bit service.
	Service FluentBitService `json:"service,omitempty"`
	// SchedulerName represents the desired scheduler for fluent-bit pods.
	SchedulerName string `json:"schedulerName,omitempty"`
}

FluentBitSpec defines the desired state of FluentBit

func (*FluentBitSpec) DeepCopy

func (in *FluentBitSpec) DeepCopy() *FluentBitSpec

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

func (*FluentBitSpec) DeepCopyInto

func (in *FluentBitSpec) DeepCopyInto(out *FluentBitSpec)

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

type FluentBitStatus

type FluentBitStatus struct {
}

FluentBitStatus defines the observed state of FluentBit

func (*FluentBitStatus) DeepCopy

func (in *FluentBitStatus) DeepCopy() *FluentBitStatus

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

func (*FluentBitStatus) DeepCopyInto

func (in *FluentBitStatus) DeepCopyInto(out *FluentBitStatus)

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

type InputByName

type InputByName []ClusterInput

+kubebuilder:object:generate:=false InputByName implements sort.Interface for []ClusterInput based on the Name field.

func (InputByName) Len

func (a InputByName) Len() int

func (InputByName) Less

func (a InputByName) Less(i, j int) bool

func (InputByName) Swap

func (a InputByName) Swap(i, j int)

type InputSpec

type InputSpec struct {
	// A user friendly alias name for this input plugin.
	// Used in metrics for distinction of each configured input.
	Alias string `json:"alias,omitempty"`
	// +kubebuilder:validation:Enum:=off;error;warning;info;debug;trace
	LogLevel string `json:"logLevel,omitempty"`
	// Dummy defines Dummy Input configuration.
	Dummy *input.Dummy `json:"dummy,omitempty"`
	// Tail defines Tail Input configuration.
	Tail *input.Tail `json:"tail,omitempty"`
	// Systemd defines Systemd Input configuration.
	Systemd *input.Systemd `json:"systemd,omitempty"`
	// NodeExporterMetrics defines Node Exporter Metrics Input configuration.
	NodeExporterMetrics *input.NodeExporterMetrics `json:"nodeExporterMetrics,omitempty"`
	// PrometheusScrapeMetrics  defines Prometheus Scrape Metrics Input configuration.
	PrometheusScrapeMetrics *input.PrometheusScrapeMetrics `json:"prometheusScrapeMetrics,omitempty"`
	// FluentBitMetrics defines Fluent Bit Metrics Input configuration.
	FluentBitMetrics *input.FluentbitMetrics `json:"fluentBitMetrics,omitempty"`
	// CustomPlugin defines Custom Input configuration.
	CustomPlugin *custom.CustomPlugin `json:"customPlugin,omitempty"`
	// Forward defines forward  input plugin configuration
	Forward *input.Forward `json:"forward,omitempty"`
	// OpenTelemetry defines the OpenTelemetry input plugin configuration
	OpenTelemetry *input.OpenTelemetry `json:"openTelemetry,omitempty"`
	// HTTP defines the HTTP input plugin configuration
	HTTP *input.HTTP `json:"http,omitempty"`
	// MQTT defines the MQTT input plugin configuration
	MQTT *input.MQTT `json:"mqtt,omitempty"`
	// Collectd defines the Collectd input plugin configuration
	Collectd *input.Collectd `json:"collectd,omitempty"`
	// StatsD defines the StatsD input plugin configuration
	StatsD *input.StatsD `json:"statsd,omitempty"`
	// Nginx defines the Nginx input plugin configuration
	Nginx *input.Nginx `json:"nginx,omitempty"`
	// Syslog defines the Syslog input plugin configuration
	Syslog *input.Syslog `json:"syslog,omitempty"`
	// TCP defines the TCP input plugin configuration
	TCP *input.TCP `json:"tcp,omitempty"`
}

InputSpec defines the desired state of ClusterInput

func (*InputSpec) DeepCopy

func (in *InputSpec) DeepCopy() *InputSpec

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

func (*InputSpec) DeepCopyInto

func (in *InputSpec) DeepCopyInto(out *InputSpec)

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

type NSFilterByName

type NSFilterByName []Filter

func (NSFilterByName) DeepCopy

func (in NSFilterByName) DeepCopy() NSFilterByName

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

func (NSFilterByName) DeepCopyInto

func (in NSFilterByName) DeepCopyInto(out *NSFilterByName)

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

func (NSFilterByName) Len

func (a NSFilterByName) Len() int

func (NSFilterByName) Less

func (a NSFilterByName) Less(i, j int) bool

func (NSFilterByName) Swap

func (a NSFilterByName) Swap(i, j int)

type NSOutputByName

type NSOutputByName []Output

func (NSOutputByName) DeepCopy

func (in NSOutputByName) DeepCopy() NSOutputByName

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

func (NSOutputByName) DeepCopyInto

func (in NSOutputByName) DeepCopyInto(out *NSOutputByName)

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

func (NSOutputByName) Len

func (a NSOutputByName) Len() int

func (NSOutputByName) Less

func (a NSOutputByName) Less(i, j int) bool

func (NSOutputByName) Swap

func (a NSOutputByName) Swap(i, j int)

type NSParserByName

type NSParserByName []Parser

func (NSParserByName) DeepCopy

func (in NSParserByName) DeepCopy() NSParserByName

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

func (NSParserByName) DeepCopyInto

func (in NSParserByName) DeepCopyInto(out *NSParserByName)

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

func (NSParserByName) Len

func (a NSParserByName) Len() int

func (NSParserByName) Less

func (a NSParserByName) Less(i, j int) bool

func (NSParserByName) Swap

func (a NSParserByName) Swap(i, j int)

type NamespacedFluentBitCfgSpec

type NamespacedFluentBitCfgSpec struct {
	// Select filter plugins
	FilterSelector metav1.LabelSelector `json:"filterSelector,omitempty"`
	// Select output plugins
	OutputSelector metav1.LabelSelector `json:"outputSelector,omitempty"`
	// Select parser plugins
	ParserSelector metav1.LabelSelector `json:"parserSelector,omitempty"`
	// Select cluster level parser config
	ClusterParserSelector metav1.LabelSelector `json:"clusterParserSelector,omitempty"`
}

NamespacedFluentBitCfgSpec defines the desired state of FluentBit

func (*NamespacedFluentBitCfgSpec) DeepCopy

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

func (*NamespacedFluentBitCfgSpec) DeepCopyInto

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

type Output

type Output struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec OutputSpec `json:"spec,omitempty"`
}

Output is the schema for namespace level output API

func (*Output) DeepCopy

func (in *Output) DeepCopy() *Output

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

func (*Output) DeepCopyInto

func (in *Output) DeepCopyInto(out *Output)

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

func (*Output) DeepCopyObject

func (in *Output) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OutputByName

type OutputByName []ClusterOutput

OutputByName implements sort.Interface for []ClusterOutput based on the Name field.

func (OutputByName) Len

func (a OutputByName) Len() int

func (OutputByName) Less

func (a OutputByName) Less(i, j int) bool

func (OutputByName) Swap

func (a OutputByName) Swap(i, j int)

type OutputList

type OutputList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Output `json:"items"`
}

OutputList contains a list of Outputs

func (*OutputList) DeepCopy

func (in *OutputList) DeepCopy() *OutputList

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

func (*OutputList) DeepCopyInto

func (in *OutputList) DeepCopyInto(out *OutputList)

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

func (*OutputList) DeepCopyObject

func (in *OutputList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (OutputList) Load

func (list OutputList) Load(sl plugins.SecretLoader) (string, error)

type OutputSpec

type OutputSpec struct {
	// A pattern to match against the tags of incoming records.
	// It's case sensitive and support the star (*) character as a wildcard.
	Match string `json:"match,omitempty"`
	// A regular expression to match against the tags of incoming records.
	// Use this option if you want to use the full regex syntax.
	MatchRegex string `json:"matchRegex,omitempty"`
	// A user friendly alias name for this output plugin.
	// Used in metrics for distinction of each configured output.
	Alias string `json:"alias,omitempty"`
	// Set the plugin's logging verbosity level. Allowed values are: off, error, warn, info, debug and trace, Defaults to the SERVICE section's Log_Level
	// +kubebuilder:validation:Enum:=off;error;warning;info;debug;trace
	LogLevel string `json:"logLevel,omitempty"`

	// AzureBlob defines AzureBlob Output Configuration
	AzureBlob *output.AzureBlob `json:"azureBlob,omitempty"`
	// AzureLogAnalytics defines AzureLogAnalytics Output Configuration
	AzureLogAnalytics *output.AzureLogAnalytics `json:"azureLogAnalytics,omitempty"`
	// CloudWatch defines CloudWatch Output Configuration
	CloudWatch *output.CloudWatch `json:"cloudWatch,omitempty"`
	// RetryLimit represents configuration for the scheduler which can be set independently on each output section.
	// This option allows to disable retries or impose a limit to try N times and then discard the data after reaching that limit.
	RetryLimit string `json:"retry_limit,omitempty"`
	// Elasticsearch defines Elasticsearch Output configuration.
	Elasticsearch *output.Elasticsearch `json:"es,omitempty"`
	// File defines File Output configuration.
	File *output.File `json:"file,omitempty"`
	// Forward defines Forward Output configuration.
	Forward *output.Forward `json:"forward,omitempty"`
	// HTTP defines HTTP Output configuration.
	HTTP *output.HTTP `json:"http,omitempty"`
	// Kafka defines Kafka Output configuration.
	Kafka *output.Kafka `json:"kafka,omitempty"`
	// Null defines Null Output configuration.
	Null *output.Null `json:"null,omitempty"`
	// Stdout defines Stdout Output configuration.
	Stdout *output.Stdout `json:"stdout,omitempty"`
	// TCP defines TCP Output configuration.
	TCP *output.TCP `json:"tcp,omitempty"`
	// Loki defines Loki Output configuration.
	Loki *output.Loki `json:"loki,omitempty"`
	// Syslog defines Syslog Output configuration.
	Syslog *output.Syslog `json:"syslog,omitempty"`
	// InfluxDB defines InfluxDB Output configuration.
	InfluxDB *output.InfluxDB `json:"influxDB,omitempty"`
	// DataDog defines DataDog Output configuration.
	DataDog *output.DataDog `json:"datadog,omitempty"`
	// Firehose defines Firehose Output configuration.
	Firehose *output.Firehose `json:"firehose,omitempty"`
	// Kinesis defines Kinesis Output configuration.
	Kinesis *output.Kinesis `json:"kinesis,omitempty"`
	// Stackdriver defines Stackdriver Output Configuration
	Stackdriver *output.Stackdriver `json:"stackdriver,omitempty"`
	// Splunk defines Splunk Output Configuration
	Splunk *output.Splunk `json:"splunk,omitempty"`
	// OpenSearch defines OpenSearch Output configuration.
	OpenSearch *output.OpenSearch `json:"opensearch,omitempty"`
	// OpenTelemetry defines OpenTelemetry Output configuration.
	OpenTelemetry *output.OpenTelemetry `json:"opentelemetry,omitempty"`
	// PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit.
	PrometheusExporter *output.PrometheusExporter `json:"prometheusExporter,omitempty"`
	// PrometheusRemoteWrite_types defines Prometheus Remote Write configuration.
	PrometheusRemoteWrite *output.PrometheusRemoteWrite `json:"prometheusRemoteWrite,omitempty"`
	// S3 defines S3 Output configuration.
	S3 *output.S3 `json:"s3,omitempty"`
	// Gelf defines GELF Output configuration.
	Gelf *output.Gelf `json:"gelf,omitempty"`

	// CustomPlugin defines Custom Output configuration.
	CustomPlugin *custom.CustomPlugin `json:"customPlugin,omitempty"`
}

OutputSpec defines the desired state of ClusterOutput

func (*OutputSpec) DeepCopy

func (in *OutputSpec) DeepCopy() *OutputSpec

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

func (*OutputSpec) DeepCopyInto

func (in *OutputSpec) DeepCopyInto(out *OutputSpec)

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

type Parser

type Parser struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ParserSpec `json:"spec,omitempty"`
}

Parser is the Schema for namespace level parser API

func (*Parser) DeepCopy

func (in *Parser) DeepCopy() *Parser

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

func (*Parser) DeepCopyInto

func (in *Parser) DeepCopyInto(out *Parser)

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

func (*Parser) DeepCopyObject

func (in *Parser) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ParserByName

type ParserByName []ClusterParser

ParserByName implements sort.Interface for []ClusterParser based on the Name field.

func (ParserByName) Len

func (a ParserByName) Len() int

func (ParserByName) Less

func (a ParserByName) Less(i, j int) bool

func (ParserByName) Swap

func (a ParserByName) Swap(i, j int)

type ParserList

type ParserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Parser `json:"items"`
}

ParserList contains a list of Parsers

func (*ParserList) DeepCopy

func (in *ParserList) DeepCopy() *ParserList

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

func (*ParserList) DeepCopyInto

func (in *ParserList) DeepCopyInto(out *ParserList)

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

func (*ParserList) DeepCopyObject

func (in *ParserList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ParserList) Load

func (list ParserList) Load(sl plugins.SecretLoader) (string, error)

type ParserSpec

type ParserSpec struct {

	// JSON defines json parser configuration.
	JSON *parser.JSON `json:"json,omitempty"`
	// Regex defines regex parser configuration.
	Regex *parser.Regex `json:"regex,omitempty"`
	// LTSV defines ltsv parser configuration.
	LTSV *parser.LSTV `json:"ltsv,omitempty"`
	// Logfmt defines logfmt parser configuration.
	Logfmt *parser.Logfmt `json:"logfmt,omitempty"`
	// Decoders are a built-in feature available through the Parsers file, each Parser definition can optionally set one or multiple decoders.
	// There are two type of decoders type: Decode_Field and Decode_Field_As.
	Decoders []Decorder `json:"decoders,omitempty"`
}

ParserSpec defines the desired state of ClusterParser

func (*ParserSpec) DeepCopy

func (in *ParserSpec) DeepCopy() *ParserSpec

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

func (*ParserSpec) DeepCopyInto

func (in *ParserSpec) DeepCopyInto(out *ParserSpec)

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

type Script

type Script struct {
	Name    string
	Content string
}

type Service

type Service struct {
	// If true go to background on start
	Daemon *bool `json:"daemon,omitempty"`
	// Interval to flush output
	FlushSeconds *int64 `json:"flushSeconds,omitempty"`
	// Wait time on exit
	GraceSeconds *int64 `json:"graceSeconds,omitempty"`
	// the error count to meet the unhealthy requirement, this is a sum for all output plugins in a defined HC_Period, example for output error: [2022/02/16 10:44:10] [ warn] [engine] failed to flush chunk '1-1645008245.491540684.flb', retry in 7 seconds: task_id=0, input=forward.1 > output=cloudwatch_logs.3 (out_id=3)
	// +kubebuilder:validation:Minimum:=1
	HcErrorsCount *int64 `json:"hcErrorsCount,omitempty"`
	// the retry failure count to meet the unhealthy requirement, this is a sum for all output plugins in a defined HC_Period, example for retry failure: [2022/02/16 20:11:36] [ warn] [engine] chunk '1-1645042288.260516436.flb' cannot be retried: task_id=0, input=tcp.3 > output=cloudwatch_logs.1
	// +kubebuilder:validation:Minimum:=1
	HcRetryFailureCount *int64 `json:"hcRetryFailureCount,omitempty"`
	// The time period by second to count the error and retry failure data point
	// +kubebuilder:validation:Minimum:=1
	HcPeriod *int64 `json:"hcPeriod,omitempty"`
	// enable Health check feature at http://127.0.0.1:2020/api/v1/health Note: Enabling this will not automatically configure kubernetes to use fluentbit's healthcheck endpoint
	HealthCheck *bool `json:"healthCheck,omitempty"`
	// Address to listen
	// +kubebuilder:validation:Pattern:="^\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}$"
	HttpListen string `json:"httpListen,omitempty"`
	// Port to listen
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=65535
	HttpPort *int32 `json:"httpPort,omitempty"`
	// If true enable statistics HTTP server
	HttpServer *bool `json:"httpServer,omitempty"`
	// File to log diagnostic output
	LogFile string `json:"logFile,omitempty"`
	// Diagnostic level (error/warning/info/debug/trace)
	// +kubebuilder:validation:Enum:=off;error;warning;info;debug;trace
	LogLevel string `json:"logLevel,omitempty"`
	// Optional 'parsers' config file (can be multiple)
	ParsersFile string `json:"parsersFile,omitempty"`
	// Configure a global environment for the storage layer in Service. It is recommended to configure the volume and volumeMount separately for this storage. The hostPath type should be used for that Volume in Fluentbit daemon set.
	Storage *Storage `json:"storage,omitempty"`
}

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

func (*Service) Params

func (s *Service) Params() *params.KVs

type Storage added in v2.4.0

type Storage struct {
	// Select an optional location in the file system to store streams and chunks of data/
	Path string `json:"path,omitempty"`
	// Configure the synchronization mode used to store the data into the file system
	// +kubebuilder:validation:Enum:=normal;full
	Sync string `json:"sync,omitempty"`
	// Enable the data integrity check when writing and reading data from the filesystem
	// +kubebuilder:validation:Enum:=on;off
	Checksum string `json:"checksum,omitempty"`
	// This option configure a hint of maximum value of memory to use when processing these records
	BacklogMemLimit string `json:"backlogMemLimit,omitempty"`
	// If the input plugin has enabled filesystem storage type, this property sets the maximum number of Chunks that can be up in memory
	MaxChunksUp *int64 `json:"maxChunksUp,omitempty"`
	// If http_server option has been enabled in the Service section, this option registers a new endpoint where internal metrics of the storage layer can be consumed
	// +kubebuilder:validation:Enum:=on;off
	Metrics string `json:"metrics,omitempty"`
	// When enabled, irrecoverable chunks will be deleted during runtime, and any other irrecoverable chunk located in the configured storage path directory will be deleted when Fluent-Bit starts.
	// +kubebuilder:validation:Enum:=on;off
	DeleteIrrecoverableChunks string `json:"deleteIrrecoverableChunks,omitempty"`
}

func (*Storage) DeepCopy added in v2.5.0

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto added in v2.5.0

func (in *Storage) DeepCopyInto(out *Storage)

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