Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the logging v1alpha2 API group +kubebuilder:object:generate=true +groupName=fluentbit.fluent.io
Index ¶
- Constants
- Variables
- type ByName
- type ClusterFilter
- type ClusterFilterList
- type ClusterFluentBitConfig
- func (in *ClusterFluentBitConfig) DeepCopy() *ClusterFluentBitConfig
- func (in *ClusterFluentBitConfig) DeepCopyInto(out *ClusterFluentBitConfig)
- func (in *ClusterFluentBitConfig) DeepCopyObject() runtime.Object
- func (cfg ClusterFluentBitConfig) RenderLuaScript(cl plugins.ConfigMapLoader, filters ClusterFilterList, namespace string) ([]Script, error)
- func (cfg ClusterFluentBitConfig) RenderMainConfig(sl plugins.SecretLoader, inputs ClusterInputList, filters ClusterFilterList, ...) (string, error)
- func (cfg ClusterFluentBitConfig) RenderParserConfig(sl plugins.SecretLoader, parsers ClusterParserList) (string, error)
- type ClusterFluentBitConfigList
- type ClusterInput
- type ClusterInputList
- type ClusterOutput
- type ClusterOutputList
- type ClusterParser
- type ClusterParserList
- type Collector
- func (co *Collector) AddFinalizer(finalizerName string)
- func (in *Collector) DeepCopy() *Collector
- func (in *Collector) DeepCopyInto(out *Collector)
- func (in *Collector) DeepCopyObject() runtime.Object
- func (co *Collector) HasFinalizer(finalizerName string) bool
- func (co *Collector) IsBeingDeleted() bool
- func (co *Collector) RemoveFinalizer(finalizerName string)
- type CollectorList
- type CollectorSpec
- type CollectorStatus
- type Decorder
- type FilterByName
- type FilterItem
- type FilterSpec
- type FluentBit
- func (fb *FluentBit) AddFinalizer(finalizerName string)
- func (in *FluentBit) DeepCopy() *FluentBit
- func (in *FluentBit) DeepCopyInto(out *FluentBit)
- func (in *FluentBit) DeepCopyObject() runtime.Object
- func (fb *FluentBit) HasFinalizer(finalizerName string) bool
- func (fb *FluentBit) IsBeingDeleted() bool
- func (fb *FluentBit) RemoveFinalizer(finalizerName string)
- type FluentBitConfigSpec
- type FluentBitList
- type FluentBitSpec
- type FluentBitStatus
- type InputByName
- type InputSpec
- type OutputByName
- type OutputSpec
- type ParserByName
- type ParserSpec
- type Script
- type Service
Constants ¶
const CollectorFinalizerName = "collector.fluent.io"
CollectorFinalizerName is the name of the fluentbit finalizer
const FluentBitFinalizerName = "fluentbit.fluent.io"
FluentBitFinalizerName is the name of the fluentbit finalizer
Variables ¶
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.
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 ¶
func (list ClusterFilterList) Load(sl plugins.SecretLoader) (string, error)
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 ¶
func (in *ClusterFluentBitConfig) DeepCopy() *ClusterFluentBitConfig
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 ¶
func (in *ClusterFluentBitConfigList) DeepCopy() *ClusterFluentBitConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFluentBitConfigList.
func (*ClusterFluentBitConfigList) DeepCopyInto ¶
func (in *ClusterFluentBitConfigList) DeepCopyInto(out *ClusterFluentBitConfigList)
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 ¶
func (list ClusterInputList) Load(sl plugins.SecretLoader) (string, error)
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 ¶
func (list ClusterOutputList) Load(sl plugins.SecretLoader) (string, error)
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) (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 ¶
AddFinalizer adds the specified finalizer
func (*Collector) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Collector.
func (*Collector) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Collector) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Collector) HasFinalizer ¶
HasFinalizer returns true if the item has the specified finalizer
func (*Collector) IsBeingDeleted ¶
IsBeingDeleted returns true if a deletion timestamp is set
func (*Collector) RemoveFinalizer ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Decorder.
func (*Decorder) DeepCopyInto ¶
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 ¶
AddFinalizer adds the specified finalizer
func (*FluentBit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FluentBit.
func (*FluentBit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FluentBit) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FluentBit) HasFinalizer ¶
HasFinalizer returns true if the item has the specified finalizer
func (*FluentBit) IsBeingDeleted ¶
IsBeingDeleted returns true if a deletion timestamp is set
func (*FluentBit) RemoveFinalizer ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputSpec.
func (*InputSpec) DeepCopyInto ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.