v1alpha2

package
v2.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

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) (string, error)

func (ClusterFluentBitConfig) RenderParserConfig

func (cfg ClusterFluentBitConfig) RenderParserConfig(sl plugins.SecretLoader, parsers 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

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 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"`
	// 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"`
}

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 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 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"`
	// 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 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 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"`
	// 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"`
	// 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"`
	// 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"`
	// 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"`
}

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"`
	// 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"`
}

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 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 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"`
	// AzureBlob defines AzureBlob Output Configuration
	AzureBlob *output.AzureBlob `json:"azureBlob,omitempty"`
	// AzureLogAnalytics defines AzureLogAnalytics Output Configuration
	AzureLogAnalytics *output.AzureLogAnalytics `json:"azureLogAnalytics,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"`
	// DataDog defines DataDog Output configuration.
	DataDog *output.DataDog `json:"datadog,omitempty"`
	// Firehose defines Firehose Output configuration.
	Fireose *output.Firehose `json:"firehose,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"`
	// PrometheusRemoteWrite_types defines Prometheus Remote Write configuration.
	PrometheusRemoteWrite *output.PrometheusRemoteWrite `json:"prometheusRemoteWrite,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 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 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:=error;warning;info;debug;trace
	LogLevel string `json:"logLevel,omitempty"`
	// Optional 'parsers' config file (can be multiple)
	ParsersFile string `json:"parsersFile,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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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