v1beta1

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2023 License: Apache-2.0 Imports: 25 Imported by: 18

Documentation

Overview

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

Index

Constants

View Source
const (
	DefaultFluentbitImageRepository             = "fluent/fluent-bit"
	DefaultFluentbitImageTag                    = "2.1.8"
	DefaultFluentbitBufferVolumeImageRepository = "ghcr.io/kube-logging/node-exporter"
	DefaultFluentbitBufferVolumeImageTag        = "v0.7.1"
	DefaultFluentbitBufferStorageVolumeName     = "fluentbit-buffer"
	DefaultFluentdImageRepository               = "ghcr.io/kube-logging/fluentd"
	DefaultFluentdImageTag                      = "v1.15-ruby3"
	DefaultFluentdBufferStorageVolumeName       = "fluentd-buffer"
	DefaultFluentdDrainWatchImageRepository     = "ghcr.io/kube-logging/fluentd-drain-watch"
	DefaultFluentdDrainWatchImageTag            = "v0.2.1"
	DefaultFluentdDrainPauseImageRepository     = "k8s.gcr.io/pause"
	DefaultFluentdDrainPauseImageTag            = "3.2"
	DefaultFluentdVolumeModeImageRepository     = "busybox"
	DefaultFluentdVolumeModeImageTag            = "latest"
	DefaultFluentdConfigReloaderImageRepository = "ghcr.io/kube-logging/config-reloader"
	DefaultFluentdConfigReloaderImageTag        = "v0.0.5"
	DefaultFluentdBufferVolumeImageRepository   = "ghcr.io/kube-logging/node-exporter"
	DefaultFluentdBufferVolumeImageTag          = "v0.7.1"
)
View Source
const (
	HostPath = "/opt/logging-operator/%s/%s"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "logging.banzaicloud.io", Version: "v1beta1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var Log = ctrl.Log.WithName("Defaulter:v1beta1")

Functions

func APITypes

func APITypes() []runtime.Object

func FluentBitDefaults added in v0.10.0

func FluentBitDefaults(fluentbitSpec *FluentbitSpec) error

func GenerateLoggingRefLabels

func GenerateLoggingRefLabels(loggingRef string) map[string]string

func RepositoryWithTag

func RepositoryWithTag(repository, tag string) string

func SetupWebhookWithManager

func SetupWebhookWithManager(mgr ctrl.Manager, apiTypes ...runtime.Object) error

Types

type BufferMetrics

type BufferMetrics struct {
	Metrics   `json:",inline"`
	MountName string `json:"mount_name,omitempty"`
}

BufferMetrics defines the service monitor endpoints

func (*BufferMetrics) DeepCopy

func (in *BufferMetrics) DeepCopy() *BufferMetrics

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

func (*BufferMetrics) DeepCopyInto

func (in *BufferMetrics) DeepCopyInto(out *BufferMetrics)

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

type BufferStorage

type BufferStorage struct {
	// Set an optional location in the file system to store streams and chunks of data. If this parameter is not set, Input plugins can only use in-memory buffering.
	StoragePath string `json:"storage.path,omitempty"`
	// Configure the synchronization mode used to store the data into the file system. It can take the values normal or full. (default:normal)
	StorageSync string `json:"storage.sync,omitempty"`
	// Enable the data integrity check when writing and reading data from the filesystem. The storage layer uses the CRC32 algorithm. (default:Off)
	StorageChecksum string `json:"storage.checksum,omitempty"`
	// If storage.path is set, Fluent Bit will look for data chunks that were not delivered and are still in the storage layer, these are called backlog data. This option configure a hint of maximum value of memory to use when processing these records. (default:5M)
	StorageBacklogMemLimit string `json:"storage.backlog.mem_limit,omitempty"`
	// If http_server option has been enabled in the main Service configuration section, this option registers a new endpoint where internal metrics of the storage layer can be consumed. (default:Off)
	StorageMetrics string `json:"storage.metrics,omitempty"`
}

BufferStorage is the Service Section Configuration of fluent-bit

func (*BufferStorage) DeepCopy

func (in *BufferStorage) DeepCopy() *BufferStorage

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

func (*BufferStorage) DeepCopyInto

func (in *BufferStorage) DeepCopyInto(out *BufferStorage)

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

type ClusterExclude

type ClusterExclude struct {
	Namespaces     []string          `json:"namespaces,omitempty"`
	Labels         map[string]string `json:"labels,omitempty"`
	Hosts          []string          `json:"hosts,omitempty"`
	ContainerNames []string          `json:"container_names,omitempty"`
}

func (*ClusterExclude) DeepCopy

func (in *ClusterExclude) DeepCopy() *ClusterExclude

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

func (*ClusterExclude) DeepCopyInto

func (in *ClusterExclude) DeepCopyInto(out *ClusterExclude)

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

type ClusterFlow

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

	// Name of the logging cluster to be attached
	Spec   ClusterFlowSpec `json:"spec,omitempty"`
	Status FlowStatus      `json:"status,omitempty"`
}

ClusterFlow is the Schema for the clusterflows API

func (*ClusterFlow) DeepCopy

func (in *ClusterFlow) DeepCopy() *ClusterFlow

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

func (*ClusterFlow) DeepCopyInto

func (in *ClusterFlow) DeepCopyInto(out *ClusterFlow)

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

func (*ClusterFlow) DeepCopyObject

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

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

func (*ClusterFlow) Hub

func (c *ClusterFlow) Hub()

type ClusterFlowList

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

ClusterFlowList contains a list of ClusterFlow

func (*ClusterFlowList) DeepCopy

func (in *ClusterFlowList) DeepCopy() *ClusterFlowList

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

func (*ClusterFlowList) DeepCopyInto

func (in *ClusterFlowList) DeepCopyInto(out *ClusterFlowList)

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

func (*ClusterFlowList) DeepCopyObject

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

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

type ClusterFlowSpec

type ClusterFlowSpec struct {
	// Deprecated
	Selectors  map[string]string `json:"selectors,omitempty"`
	Match      []ClusterMatch    `json:"match,omitempty"`
	Filters    []Filter          `json:"filters,omitempty"`
	LoggingRef string            `json:"loggingRef,omitempty"`
	// Deprecated
	OutputRefs           []string `json:"outputRefs,omitempty"`
	GlobalOutputRefs     []string `json:"globalOutputRefs,omitempty"`
	FlowLabel            string   `json:"flowLabel,omitempty"`
	IncludeLabelInRouter *bool    `json:"includeLabelInRouter,omitempty"`
}

ClusterFlowSpec is the Kubernetes spec for ClusterFlows

func (*ClusterFlowSpec) DeepCopy

func (in *ClusterFlowSpec) DeepCopy() *ClusterFlowSpec

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

func (*ClusterFlowSpec) DeepCopyInto

func (in *ClusterFlowSpec) DeepCopyInto(out *ClusterFlowSpec)

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

type ClusterMatch

type ClusterMatch struct {
	*ClusterSelect  `json:"select,omitempty"`
	*ClusterExclude `json:"exclude,omitempty"`
}

func (*ClusterMatch) DeepCopy

func (in *ClusterMatch) DeepCopy() *ClusterMatch

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

func (*ClusterMatch) DeepCopyInto

func (in *ClusterMatch) DeepCopyInto(out *ClusterMatch)

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

type ClusterOutput

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

	Spec   ClusterOutputSpec `json:"spec"`
	Status OutputStatus      `json:"status,omitempty"`
}

ClusterOutput is the Schema for the clusteroutputs 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.

func (*ClusterOutput) Hub

func (c *ClusterOutput) Hub()

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.

type ClusterOutputSpec

type ClusterOutputSpec struct {
	OutputSpec        `json:",inline"`
	EnabledNamespaces []string `json:"enabledNamespaces,omitempty"`
}

ClusterOutputSpec contains Kubernetes spec for ClusterOutput

func (*ClusterOutputSpec) DeepCopy

func (in *ClusterOutputSpec) DeepCopy() *ClusterOutputSpec

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

func (*ClusterOutputSpec) DeepCopyInto

func (in *ClusterOutputSpec) DeepCopyInto(out *ClusterOutputSpec)

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

type ClusterSelect

type ClusterSelect struct {
	Namespaces     []string          `json:"namespaces,omitempty"`
	Labels         map[string]string `json:"labels,omitempty"`
	Hosts          []string          `json:"hosts,omitempty"`
	ContainerNames []string          `json:"container_names,omitempty"`
}

func (*ClusterSelect) DeepCopy

func (in *ClusterSelect) DeepCopy() *ClusterSelect

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

func (*ClusterSelect) DeepCopyInto

func (in *ClusterSelect) DeepCopyInto(out *ClusterSelect)

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

type ConfigCheck added in v0.11.0

type ConfigCheck struct {
	// Select the config check strategy to use.
	// `DryRun`: parse and validate configuration
	// `StartWithTimeout`: start with given configuration and exit after specified timeout
	// Default: `DryRun`
	Strategy ConfigCheckStrategy `json:"strategy,omitempty"`

	// Configure timeout in seconds if strategy is StartWithTimeout
	TimeoutSeconds int `json:"timeoutSeconds,omitempty"`
	// Labels to use for the configcheck pods on top of labels added by the operator by default. Default values can be overwritten.
	Labels map[string]string `json:"labels,omitempty"`
}

func (*ConfigCheck) DeepCopy added in v0.11.0

func (in *ConfigCheck) DeepCopy() *ConfigCheck

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

func (*ConfigCheck) DeepCopyInto added in v0.11.0

func (in *ConfigCheck) DeepCopyInto(out *ConfigCheck)

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

type ConfigCheckStrategy added in v0.11.0

type ConfigCheckStrategy string
const (
	ConfigCheckStrategyDryRun  ConfigCheckStrategy = "DryRun"
	ConfigCheckStrategyTimeout ConfigCheckStrategy = "StartWithTimeout"
)

type DefaultFlowSpec

type DefaultFlowSpec struct {
	Filters []Filter `json:"filters,omitempty"`
	// Deprecated
	OutputRefs           []string `json:"outputRefs,omitempty"`
	GlobalOutputRefs     []string `json:"globalOutputRefs,omitempty"`
	FlowLabel            string   `json:"flowLabel,omitempty"`
	IncludeLabelInRouter *bool    `json:"includeLabelInRouter,omitempty"`
}

DefaultFlowSpec is a Flow for logs that did not match any other Flow

func (*DefaultFlowSpec) DeepCopy

func (in *DefaultFlowSpec) DeepCopy() *DefaultFlowSpec

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

func (*DefaultFlowSpec) DeepCopyInto

func (in *DefaultFlowSpec) DeepCopyInto(out *DefaultFlowSpec)

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

type Exclude

type Exclude struct {
	Labels         map[string]string `json:"labels,omitempty"`
	Hosts          []string          `json:"hosts,omitempty"`
	ContainerNames []string          `json:"container_names,omitempty"`
}

func (*Exclude) DeepCopy

func (in *Exclude) DeepCopy() *Exclude

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

func (*Exclude) DeepCopyInto

func (in *Exclude) DeepCopyInto(out *Exclude)

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

type ExtraVolume

type ExtraVolume struct {
	VolumeName    string                   `json:"volumeName,omitempty"`
	Path          string                   `json:"path,omitempty"`
	ContainerName string                   `json:"containerName,omitempty"`
	Volume        *volume.KubernetesVolume `json:"volume,omitempty"`
}

ExtraVolume defines the fluentd extra volumes

func (*ExtraVolume) ApplyVolumeForPodSpec

func (e *ExtraVolume) ApplyVolumeForPodSpec(spec *corev1.PodSpec) error

func (*ExtraVolume) DeepCopy

func (in *ExtraVolume) DeepCopy() *ExtraVolume

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

func (*ExtraVolume) DeepCopyInto

func (in *ExtraVolume) DeepCopyInto(out *ExtraVolume)

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

func (*ExtraVolume) GetVolume

func (e *ExtraVolume) GetVolume() (corev1.Volume, error)

type Filter

type Filter struct {
	StdOut              *filter.StdOutFilterConfig        `json:"stdout,omitempty"`
	Parser              *filter.ParserConfig              `json:"parser,omitempty"`
	TagNormaliser       *filter.TagNormaliser             `json:"tag_normaliser,omitempty"`
	Dedot               *filter.DedotFilterConfig         `json:"dedot,omitempty"`
	ElasticGenId        *filter.ElasticsearchGenId        `json:"elasticsearch_genid,omitempty"`
	RecordTransformer   *filter.RecordTransformer         `json:"record_transformer,omitempty"`
	RecordModifier      *filter.RecordModifier            `json:"record_modifier,omitempty"`
	GeoIP               *filter.GeoIP                     `json:"geoip,omitempty"`
	Concat              *filter.Concat                    `json:"concat,omitempty"`
	DetectExceptions    *filter.DetectExceptions          `json:"detectExceptions,omitempty"`
	Grep                *filter.GrepConfig                `json:"grep,omitempty"`
	Prometheus          *filter.PrometheusConfig          `json:"prometheus,omitempty"`
	Throttle            *filter.Throttle                  `json:"throttle,omitempty"`
	SumoLogic           *filter.SumoLogic                 `json:"sumologic,omitempty"`
	EnhanceK8s          *filter.EnhanceK8s                `json:"enhanceK8s,omitempty"`
	KubeEventsTimestamp *filter.KubeEventsTimestampConfig `json:"kube_events_timestamp,omitempty"`
}

Filter definition for FlowSpec

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.

type FilterAws

type FilterAws struct {
	// Specify which version of the instance metadata service to use. Valid values are 'v1' or 'v2' (default).
	ImdsVersion string `json:"imds_version,omitempty" plugin:"default:v2"`
	// The availability zone (default:true).
	AZ *bool `json:"az,omitempty" plugin:"default:true"`
	// The EC2 instance ID. (default:true)
	Ec2InstanceID *bool `json:"ec2_instance_id,omitempty" plugin:"default:true"`
	// The EC2 instance type. (default:false)
	Ec2InstanceType *bool `json:"ec2_instance_type,omitempty" plugin:"default:false"`
	// The EC2 instance private ip. (default:false)
	PrivateIP *bool `json:"private_ip,omitempty" plugin:"default:false"`
	// The EC2 instance image id. (default:false)
	AmiID *bool `json:"ami_id,omitempty" plugin:"default:false"`
	// The account ID for current EC2 instance. (default:false)
	AccountID *bool `json:"account_id,omitempty" plugin:"default:false"`
	// The hostname for current EC2 instance. (default:false)
	Hostname *bool `json:"hostname,omitempty" plugin:"default:false"`
	// The VPC ID for current EC2 instance. (default:false)
	VpcID *bool `json:"vpc_id,omitempty" plugin:"default:false"`
	// Match filtered records (default:*)
	Match string `json:"Match,omitempty" plugin:"default:*"`
}

FilterAws The AWS Filter Enriches logs with AWS Metadata.

func (*FilterAws) DeepCopy

func (in *FilterAws) DeepCopy() *FilterAws

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

func (*FilterAws) DeepCopyInto

func (in *FilterAws) DeepCopyInto(out *FilterAws)

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

type FilterKey

type FilterKey struct {
	Key string `json:"key,omitempty"`
}

func (*FilterKey) DeepCopy

func (in *FilterKey) DeepCopy() *FilterKey

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

func (*FilterKey) DeepCopyInto

func (in *FilterKey) DeepCopyInto(out *FilterKey)

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

type FilterKeyValue

type FilterKeyValue struct {
	Key   string `json:"key,omitempty"`
	Value string `json:"value,omitempty"`
}

func (*FilterKeyValue) DeepCopy

func (in *FilterKeyValue) DeepCopy() *FilterKeyValue

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

func (*FilterKeyValue) DeepCopyInto

func (in *FilterKeyValue) DeepCopyInto(out *FilterKeyValue)

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

type FilterKubernetes

type FilterKubernetes struct {
	// Match filtered records (default:kube.*)
	Match string `json:"Match,omitempty" plugin:"default:kubernetes.*"`
	// Set the buffer size for HTTP client when reading responses from Kubernetes API server. The value must be according to the Unit Size specification. A value of 0 results in no limit, and the buffer will expand as-needed. Note that if pod specifications exceed the buffer limit, the API response will be discarded when retrieving metadata, and some kubernetes metadata will fail to be injected to the logs. If this value is empty we will set it "0". (default:"0")
	BufferSize string `json:"Buffer_Size,omitempty"`
	// API Server end-point (default:https://kubernetes.default.svc:443)
	KubeURL string `json:"Kube_URL,omitempty" plugin:"default:https://kubernetes.default.svc:443"`
	//	CA certificate file (default:/var/run/secrets/kubernetes.io/serviceaccount/ca.crt)
	KubeCAFile string `json:"Kube_CA_File,omitempty" plugin:"default:/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"`
	// Absolute path to scan for certificate files
	KubeCAPath string `json:"Kube_CA_Path,omitempty"`
	// Token file  (default:/var/run/secrets/kubernetes.io/serviceaccount/token)
	KubeTokenFile string `json:"Kube_Token_File,omitempty" plugin:"default:/var/run/secrets/kubernetes.io/serviceaccount/token"`
	// Token TTL configurable 'time to live' for the K8s token. By default, it is set to 600 seconds. After this time, the token is reloaded from Kube_Token_File or the Kube_Token_Command.  (default:"600")
	KubeTokenTTL string `json:"Kube_Token_TTL,omitempty" plugin:"default:600"`
	// When the source records comes from Tail input plugin, this option allows to specify what's the prefix used in Tail configuration. (default:kube.var.log.containers.)
	KubeTagPrefix string `json:"Kube_Tag_Prefix,omitempty" plugin:"default:kubernetes.var.log.containers"`
	// When enabled, it checks if the log field content is a JSON string map, if so, it append the map fields as part of the log structure. (default:Off)
	MergeLog string `json:"Merge_Log,omitempty" plugin:"default:On"`
	// When Merge_Log is enabled, the filter tries to assume the log field from the incoming message is a JSON string message and make a structured representation of it at the same level of the log field in the map. Now if Merge_Log_Key is set (a string name), all the new structured fields taken from the original log content are inserted under the new key.
	MergeLogKey string `json:"Merge_Log_Key,omitempty"`
	// When Merge_Log is enabled, trim (remove possible \n or \r) field values.  (default:On)
	MergeLogTrim string `json:"Merge_Log_Trim,omitempty"`
	// Optional parser name to specify how to parse the data contained in the log key. Recommended use is for developers or testing only.
	MergeParser string `json:"Merge_Parser,omitempty"`
	// When Keep_Log is disabled, the log field is removed from the incoming message once it has been successfully merged (Merge_Log must be enabled as well). (default:On)
	KeepLog string `json:"Keep_Log,omitempty"`
	// Debug level between 0 (nothing) and 4 (every detail). (default:-1)
	TLSDebug string `json:"tls.debug,omitempty"`
	// When enabled, turns on certificate validation when connecting to the Kubernetes API server. (default:On)
	TLSVerify string `json:"tls.verify,omitempty"`
	// When enabled, the filter reads logs coming in Journald format. (default:Off)
	UseJournal string `json:"Use_Journal,omitempty"`
	// When enabled, metadata will be fetched from K8s when docker_id is changed. (default:Off)
	CacheUseDockerId string `json:"Cache_Use_Docker_Id,omitempty"`
	// Set an alternative Parser to process record Tag and extract pod_name, namespace_name, container_name and docker_id. The parser must be registered in a parsers file (refer to parser filter-kube-test as an example).
	RegexParser string `json:"Regex_Parser,omitempty"`
	// Allow Kubernetes Pods to suggest a pre-defined Parser (read more about it in Kubernetes Annotations section) (default:Off)
	K8SLoggingParser string `json:"K8S-Logging.Parser,omitempty"`
	// Allow Kubernetes Pods to exclude their logs from the log processor (read more about it in Kubernetes Annotations section). (default:On)
	K8SLoggingExclude string `json:"K8S-Logging.Exclude,omitempty"`
	// Include Kubernetes resource labels in the extra metadata. (default:On)
	Labels string `json:"Labels,omitempty"`
	// Include Kubernetes resource annotations in the extra metadata. (default:On)
	Annotations string `json:"Annotations,omitempty"`
	// If set, Kubernetes meta-data can be cached/pre-loaded from files in JSON format in this directory, named as namespace-pod.meta
	KubeMetaPreloadCacheDir string `json:"Kube_meta_preload_cache_dir,omitempty"`
	// If set, use dummy-meta data (for test/dev purposes) (default:Off)
	DummyMeta string `json:"Dummy_Meta,omitempty"`
	// DNS lookup retries N times until the network start working (default:6)
	DNSRetries string `json:"DNS_Retries,omitempty"`
	// DNS lookup interval between network status checks (default:30)
	DNSWaitTime string `json:"DNS_Wait_Time,omitempty"`
	// This is an optional feature flag to get metadata information from kubelet instead of calling Kube Server API to enhance the log. (default:Off)
	UseKubelet string `json:"Use_Kubelet,omitempty"`
	// kubelet port using for HTTP request, this only works when Use_Kubelet  set to On (default:10250)
	KubeletPort string `json:"Kubelet_Port,omitempty"`
	// Configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted. (default:0)
	KubeMetaCacheTTL string `json:"Kube_Meta_Cache_TTL,omitempty"`
}

FilterKubernetes Fluent Bit Kubernetes Filter allows to enrich your log files with Kubernetes metadata.

func (*FilterKubernetes) DeepCopy

func (in *FilterKubernetes) DeepCopy() *FilterKubernetes

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

func (*FilterKubernetes) DeepCopyInto

func (in *FilterKubernetes) DeepCopyInto(out *FilterKubernetes)

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

type FilterModify

type FilterModify struct {
	// FluentbitAgent Filter Modification Rule
	Rules []FilterModifyRule `json:"rules,omitempty"`
	// FluentbitAgent Filter Modification Condition
	Conditions []FilterModifyCondition `json:"conditions,omitempty"`
}

FilterModify The Modify Filter plugin allows you to change records using rules and conditions.

func (*FilterModify) DeepCopy

func (in *FilterModify) DeepCopy() *FilterModify

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

func (*FilterModify) DeepCopyInto

func (in *FilterModify) DeepCopyInto(out *FilterModify)

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

type FilterModifyCondition

type FilterModifyCondition struct {
	// Is true if KEY exists
	KeyExists *FilterKey `json:"Key_exists,omitempty"`
	// Is true if KEY does not exist
	KeyDoesNotExist *FilterKeyValue `json:"Key_does_not_exist,omitempty"`
	// Is true if a key matches regex KEY
	AKeyMatches *FilterKey `json:"A_key_matches,omitempty"`
	// Is true if no key matches regex KEY
	NoKeyMatches *FilterKey `json:"No_key_matches,omitempty"`
	// Is true if KEY exists and its value is VALUE
	KeyValueEquals *FilterKeyValue `json:"Key_value_equals,omitempty"`
	// Is true if KEY exists and its value is not VALUE
	KeyValueDoesNotEqual *FilterKeyValue `json:"Key_value_does_not_equal,omitempty"`
	// Is true if key KEY exists and its value matches VALUE
	KeyValueMatches *FilterKeyValue `json:"Key_value_matches,omitempty"`
	// Is true if key KEY exists and its value does not match VALUE
	KeyValueDoesNotMatch *FilterKeyValue `json:"Key_value_does_not_match,omitempty"`
	// Is true if all keys matching KEY have values that match VALUE
	MatchingKeysHaveMatchingValues *FilterKeyValue `json:"Matching_keys_have_matching_values,omitempty"`
	// Is true if all keys matching KEY have values that do not match VALUE
	MatchingKeysDoNotHaveMatchingValues *FilterKeyValue `json:"Matching_keys_do_not_have_matching_values,omitempty"`
}

FilterModifyCondition The Modify Filter plugin allows you to change records using rules and conditions.

func (*FilterModifyCondition) DeepCopy

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

func (*FilterModifyCondition) DeepCopyInto

func (in *FilterModifyCondition) DeepCopyInto(out *FilterModifyCondition)

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

func (FilterModifyCondition) Operation

func (c FilterModifyCondition) Operation() (result Operation)

type FilterModifyRule

type FilterModifyRule struct {
	// Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten
	Set *FilterKeyValue `json:"Set,omitempty"`
	// Add a key/value pair with key KEY and value VALUE if KEY does not exist
	Add *FilterKeyValue `json:"Add,omitempty" `
	// Remove a key/value pair with key KEY if it exists
	Remove *FilterKey `json:"Remove,omitempty" `
	// Remove all key/value pairs with key matching wildcard KEY
	RemoveWildcard *FilterKey `json:"Remove_wildcard,omitempty" `
	// Remove all key/value pairs with key matching regexp KEY
	RemoveRegex *FilterKey `json:"Remove_regex,omitempty" `
	// Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist
	Rename *FilterKeyValue `json:"Rename,omitempty" `
	// Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten
	HardRename *FilterKeyValue `json:"Hard_rename,omitempty" `
	// Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist
	Copy *FilterKeyValue `json:"Copy,omitempty" `
	// Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten
	HardCopy *FilterKeyValue `json:"Hard_copy,omitempty" `
}

FilterModifyRule The Modify Filter plugin allows you to change records using rules and conditions.

func (*FilterModifyRule) DeepCopy

func (in *FilterModifyRule) DeepCopy() *FilterModifyRule

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

func (*FilterModifyRule) DeepCopyInto

func (in *FilterModifyRule) DeepCopyInto(out *FilterModifyRule)

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

func (FilterModifyRule) Operation

func (r FilterModifyRule) Operation() (result Operation)

type Flow

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

	Spec   FlowSpec   `json:"spec,omitempty"`
	Status FlowStatus `json:"status,omitempty"`
}

Flow Kubernetes object

func (*Flow) DeepCopy

func (in *Flow) DeepCopy() *Flow

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

func (*Flow) DeepCopyInto

func (in *Flow) DeepCopyInto(out *Flow)

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

func (*Flow) DeepCopyObject

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

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

func (*Flow) Hub

func (f *Flow) Hub()

type FlowList

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

FlowList contains a list of Flow

func (*FlowList) DeepCopy

func (in *FlowList) DeepCopy() *FlowList

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

func (*FlowList) DeepCopyInto

func (in *FlowList) DeepCopyInto(out *FlowList)

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

func (*FlowList) DeepCopyObject

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

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

type FlowSpec

type FlowSpec struct {
	// Deprecated
	Selectors  map[string]string `json:"selectors,omitempty"`
	Match      []Match           `json:"match,omitempty"`
	Filters    []Filter          `json:"filters,omitempty"`
	LoggingRef string            `json:"loggingRef,omitempty"`
	// Deprecated
	OutputRefs           []string `json:"outputRefs,omitempty"`
	GlobalOutputRefs     []string `json:"globalOutputRefs,omitempty"`
	LocalOutputRefs      []string `json:"localOutputRefs,omitempty"`
	FlowLabel            string   `json:"flowLabel,omitempty"`
	IncludeLabelInRouter *bool    `json:"includeLabelInRouter,omitempty"`
}

FlowSpec is the Kubernetes spec for Flows

func (*FlowSpec) DeepCopy

func (in *FlowSpec) DeepCopy() *FlowSpec

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

func (*FlowSpec) DeepCopyInto

func (in *FlowSpec) DeepCopyInto(out *FlowSpec)

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

type FlowStatus

type FlowStatus struct {
	Active        *bool    `json:"active,omitempty"`
	Problems      []string `json:"problems,omitempty"`
	ProblemsCount int      `json:"problemsCount,omitempty"`
}

FlowStatus defines the observed state of Flow

func (*FlowStatus) DeepCopy

func (in *FlowStatus) DeepCopy() *FlowStatus

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

func (*FlowStatus) DeepCopyInto

func (in *FlowStatus) DeepCopyInto(out *FlowStatus)

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

type FluentOutLogrotate

type FluentOutLogrotate struct {
	Enabled bool   `json:"enabled"`
	Path    string `json:"path,omitempty"`
	Age     string `json:"age,omitempty"`
	Size    string `json:"size,omitempty"`
}

func (*FluentOutLogrotate) DeepCopy

func (in *FluentOutLogrotate) DeepCopy() *FluentOutLogrotate

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

func (*FluentOutLogrotate) DeepCopyInto

func (in *FluentOutLogrotate) DeepCopyInto(out *FluentOutLogrotate)

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

type FluentbitAgent added in v0.10.0

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

	Spec   FluentbitSpec   `json:"spec,omitempty"`
	Status FluentbitStatus `json:"status,omitempty"`
}

FluentbitAgent is the Schema for the loggings API

func (*FluentbitAgent) DeepCopy added in v0.10.0

func (in *FluentbitAgent) DeepCopy() *FluentbitAgent

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

func (*FluentbitAgent) DeepCopyInto added in v0.10.0

func (in *FluentbitAgent) DeepCopyInto(out *FluentbitAgent)

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

func (*FluentbitAgent) DeepCopyObject added in v0.10.0

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

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

type FluentbitAgentList added in v0.10.0

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

FluentbitAgentList contains a list of FluentbitAgent

func (*FluentbitAgentList) DeepCopy added in v0.10.0

func (in *FluentbitAgentList) DeepCopy() *FluentbitAgentList

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

func (*FluentbitAgentList) DeepCopyInto added in v0.10.0

func (in *FluentbitAgentList) DeepCopyInto(out *FluentbitAgentList)

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

func (*FluentbitAgentList) DeepCopyObject added in v0.10.0

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

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

type FluentbitNetwork

type FluentbitNetwork struct {
	// Sets the timeout for connecting to an upstream (default: 10)
	ConnectTimeout *uint32 `json:"connectTimeout,omitempty"`
	// On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message (default: true)
	ConnectTimeoutLogError *bool `json:"connectTimeoutLogError,omitempty"`
	// Sets the primary transport layer protocol used by the asynchronous DNS resolver for connections established (default: UDP, UDP or TCP)
	DNSMode string `json:"dnsMode,omitempty"`
	// Prioritize IPv4 DNS results when trying to establish a connection (default: false)
	DNSPreferIPV4 *bool `json:"dnsPreferIpv4,omitempty"`
	// Select the primary DNS resolver type (default: ASYNC, LEGACY or ASYNC)
	DNSResolver string `json:"dnsResolver,omitempty"`
	// Whether or not TCP keepalive is used for the upstream connection (default: true)
	Keepalive *bool `json:"keepalive,omitempty"`
	// How long in seconds a TCP keepalive connection can be idle before being recycled (default: 30)
	KeepaliveIdleTimeout *uint32 `json:"keepaliveIdleTimeout,omitempty"`
	// How many times a TCP keepalive connection can be used before being recycled (default: 0, disabled)
	KeepaliveMaxRecycle *uint32 `json:"keepaliveMaxRecycle,omitempty"`
	// Specify network address (interface) to use for connection and data traffic. (default: disabled)
	SourceAddress string `json:"sourceAddress,omitempty"`
}

FluentbitNetwork defines network configuration for fluentbit

func (*FluentbitNetwork) DeepCopy

func (in *FluentbitNetwork) DeepCopy() *FluentbitNetwork

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

func (*FluentbitNetwork) DeepCopyInto

func (in *FluentbitNetwork) DeepCopyInto(out *FluentbitNetwork)

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

type FluentbitSpec

type FluentbitSpec struct {
	LoggingRef string `json:"loggingRef,omitempty"`

	DaemonSetAnnotations map[string]string `json:"daemonsetAnnotations,omitempty"`
	Annotations          map[string]string `json:"annotations,omitempty"`
	Labels               map[string]string `json:"labels,omitempty"`
	EnvVars              []corev1.EnvVar   `json:"envVars,omitempty"`
	Image                ImageSpec         `json:"image,omitempty"`
	TLS                  *FluentbitTLS     `json:"tls,omitempty"`
	TargetHost           string            `json:"targetHost,omitempty"`
	TargetPort           int32             `json:"targetPort,omitempty"`
	// Set the flush time in seconds.nanoseconds. The engine loop uses a Flush timeout to define when is required to flush the records ingested by input plugins through the defined output plugins. (default: 1)
	Flush int32 `json:"flush,omitempty"  plugin:"default:1"`
	// Set the grace time in seconds as Integer value. The engine loop uses a Grace timeout to define wait time on exit (default: 5)
	Grace int32 `json:"grace,omitempty" plugin:"default:5"`
	// Set the logging verbosity level. Allowed values are: error, warn, info, debug and trace. Values are accumulative, e.g: if 'debug' is set, it will include error, warning, info and debug.  Note that trace mode is only available if Fluent Bit was built with the WITH_TRACE option enabled. (default: info)
	LogLevel string `json:"logLevel,omitempty" plugin:"default:info"`
	// Set the coroutines stack size in bytes. The value must be greater than the page size of the running system. Don't set too small value (say 4096), or coroutine threads can overrun the stack buffer.
	// Do not change the default value of this parameter unless you know what you are doing. (default: 24576)
	CoroStackSize int32                       `json:"coroStackSize,omitempty" plugin:"default:24576"`
	Resources     corev1.ResourceRequirements `json:"resources,omitempty"`
	Tolerations   []corev1.Toleration         `json:"tolerations,omitempty"`
	NodeSelector  map[string]string           `json:"nodeSelector,omitempty"`
	Affinity      *corev1.Affinity            `json:"affinity,omitempty"`
	Metrics       *Metrics                    `json:"metrics,omitempty"`
	Security      *Security                   `json:"security,omitempty"`
	// +docLink:"volume.KubernetesVolume,https://github.com/cisco-open/operator-tools/tree/master/docs/types"
	PositionDB volume.KubernetesVolume `json:"positiondb,omitempty"`
	// Deprecated, use positiondb
	PosisionDBLegacy  *volume.KubernetesVolume `json:"position_db,omitempty"`
	MountPath         string                   `json:"mountPath,omitempty"`
	ExtraVolumeMounts []*VolumeMount           `json:"extraVolumeMounts,omitempty"`
	InputTail         InputTail                `json:"inputTail,omitempty"`
	FilterAws         *FilterAws               `json:"filterAws,omitempty"`
	FilterModify      []FilterModify           `json:"filterModify,omitempty"`
	// Deprecated, use inputTail.parser
	Parser string `json:"parser,omitempty"`
	// Parameters for Kubernetes metadata filter
	FilterKubernetes FilterKubernetes `json:"filterKubernetes,omitempty"`
	// Disable Kubernetes metadata filter
	DisableKubernetesFilter *bool         `json:"disableKubernetesFilter,omitempty"`
	BufferStorage           BufferStorage `json:"bufferStorage,omitempty"`
	// +docLink:"volume.KubernetesVolume,https://github.com/cisco-open/operator-tools/tree/master/docs/types"
	BufferStorageVolume     volume.KubernetesVolume        `json:"bufferStorageVolume,omitempty"`
	BufferVolumeMetrics     *Metrics                       `json:"bufferVolumeMetrics,omitempty"`
	BufferVolumeImage       ImageSpec                      `json:"bufferVolumeImage,omitempty"`
	BufferVolumeArgs        []string                       `json:"bufferVolumeArgs,omitempty"`
	BufferVolumeResources   corev1.ResourceRequirements    `json:"bufferVolumeResources,omitempty"`
	CustomConfigSecret      string                         `json:"customConfigSecret,omitempty"`
	PodPriorityClassName    string                         `json:"podPriorityClassName,omitempty"`
	LivenessProbe           *corev1.Probe                  `json:"livenessProbe,omitempty"`
	LivenessDefaultCheck    bool                           `json:"livenessDefaultCheck,omitempty"`
	ReadinessProbe          *corev1.Probe                  `json:"readinessProbe,omitempty"`
	Network                 *FluentbitNetwork              `json:"network,omitempty"`
	ForwardOptions          *ForwardOptions                `json:"forwardOptions,omitempty"`
	EnableUpstream          bool                           `json:"enableUpstream,omitempty"`
	ServiceAccountOverrides *typeoverride.ServiceAccount   `json:"serviceAccount,omitempty"`
	DNSPolicy               corev1.DNSPolicy               `json:"dnsPolicy,omitempty"`
	DNSConfig               *corev1.PodDNSConfig           `json:"dnsConfig,omitempty"`
	HostNetwork             bool                           `json:"HostNetwork,omitempty"`
	SyslogNGOutput          *FluentbitTCPOutput            `json:"syslogng_output,omitempty"`
	UpdateStrategy          appsv1.DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"`
	// Specify a custom parser file to load in addition to the default parsers file.
	// It must be a valid key in the configmap specified by customConfig
	CustomParsers string       `json:"customParsers,omitempty"`
	HealthCheck   *HealthCheck `json:"healthCheck,omitempty"`
}

FluentbitSpec defines the desired state of FluentbitAgent

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.

func (FluentbitSpec) GetPrometheusPortFromAnnotation

func (spec FluentbitSpec) GetPrometheusPortFromAnnotation() int32

GetPrometheusPortFromAnnotation gets the port value from annotation

type FluentbitStatus added in v0.10.0

type FluentbitStatus struct {
}

FluentbitStatus defines the resource status for FluentbitAgent

func (*FluentbitStatus) DeepCopy added in v0.10.0

func (in *FluentbitStatus) DeepCopy() *FluentbitStatus

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

func (*FluentbitStatus) DeepCopyInto added in v0.10.0

func (in *FluentbitStatus) DeepCopyInto(out *FluentbitStatus)

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

type FluentbitTCPOutput

type FluentbitTCPOutput struct {
	JsonDateKey    string `json:"json_date_key,omitempty" plugin:"default:ts"`
	JsonDateFormat string `json:"json_date_format,omitempty" plugin:"default:iso8601"`
	Workers        *int   `json:"Workers,omitempty"`
}

FluentbitTCPOutput defines the TLS configs

func (*FluentbitTCPOutput) DeepCopy

func (in *FluentbitTCPOutput) DeepCopy() *FluentbitTCPOutput

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

func (*FluentbitTCPOutput) DeepCopyInto

func (in *FluentbitTCPOutput) DeepCopyInto(out *FluentbitTCPOutput)

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

type FluentbitTLS

type FluentbitTLS struct {
	Enabled    *bool  `json:"enabled"`
	SecretName string `json:"secretName,omitempty"`
	SharedKey  string `json:"sharedKey,omitempty"`
}

FluentbitTLS defines the TLS configs

func (*FluentbitTLS) DeepCopy

func (in *FluentbitTLS) DeepCopy() *FluentbitTLS

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

func (*FluentbitTLS) DeepCopyInto

func (in *FluentbitTLS) DeepCopyInto(out *FluentbitTLS)

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

type FluentdDrainConfig

type FluentdDrainConfig struct {
	// Should buffers on persistent volumes left after scaling down the statefulset be drained
	Enabled bool `json:"enabled,omitempty"`
	// Annotations to use for the drain watch sidecar
	Annotations map[string]string `json:"annotations,omitempty"`
	// Labels to use for the drain watch sidecar on top of labels added by the operator by default. Default values can be overwritten.
	Labels map[string]string `json:"labels,omitempty"`
	// Should persistent volume claims be deleted after draining is done
	DeleteVolume bool      `json:"deleteVolume,omitempty"`
	Image        ImageSpec `json:"image,omitempty"`
	// Container image to use for the fluentd placeholder pod
	PauseImage ImageSpec `json:"pauseImage,omitempty"`
	// Configurable resource requirements for the drainer sidecar container. Default 20m cpu request, 20M memory limit
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	// Configurable security context, uses fluentd pods' security context by default
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
}

FluentdDrainConfig enables configuring the drain behavior when scaling down the fluentd statefulset

func (*FluentdDrainConfig) DeepCopy

func (in *FluentdDrainConfig) DeepCopy() *FluentdDrainConfig

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

func (*FluentdDrainConfig) DeepCopyInto

func (in *FluentdDrainConfig) DeepCopyInto(out *FluentdDrainConfig)

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

type FluentdScaling

type FluentdScaling struct {
	Replicas            int                `json:"replicas,omitempty"`
	PodManagementPolicy string             `json:"podManagementPolicy,omitempty"`
	Drain               FluentdDrainConfig `json:"drain,omitempty"`
}

FluentdScaling enables configuring the scaling behaviour of the fluentd statefulset

func (*FluentdScaling) DeepCopy

func (in *FluentdScaling) DeepCopy() *FluentdScaling

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

func (*FluentdScaling) DeepCopyInto

func (in *FluentdScaling) DeepCopyInto(out *FluentdScaling)

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

type FluentdSpec

type FluentdSpec struct {
	StatefulSetAnnotations map[string]string `json:"statefulsetAnnotations,omitempty"`
	Annotations            map[string]string `json:"annotations,omitempty"`
	ConfigCheckAnnotations map[string]string `json:"configCheckAnnotations,omitempty"`
	Labels                 map[string]string `json:"labels,omitempty"`
	EnvVars                []corev1.EnvVar   `json:"envVars,omitempty"`
	TLS                    FluentdTLS        `json:"tls,omitempty"`
	Image                  ImageSpec         `json:"image,omitempty"`
	DisablePvc             bool              `json:"disablePvc,omitempty"`
	// BufferStorageVolume is by default configured as PVC using FluentdPvcSpec
	// +docLink:"volume.KubernetesVolume,https://github.com/cisco-open/operator-tools/tree/master/docs/types"
	BufferStorageVolume volume.KubernetesVolume `json:"bufferStorageVolume,omitempty"`
	ExtraVolumes        []ExtraVolume           `json:"extraVolumes,omitempty"`
	// Deprecated, use bufferStorageVolume
	FluentdPvcSpec          *volume.KubernetesVolume    `json:"fluentdPvcSpec,omitempty"`
	VolumeMountChmod        bool                        `json:"volumeMountChmod,omitempty"`
	VolumeModImage          ImageSpec                   `json:"volumeModImage,omitempty"`
	ConfigReloaderImage     ImageSpec                   `json:"configReloaderImage,omitempty"`
	Resources               corev1.ResourceRequirements `json:"resources,omitempty"`
	ConfigCheckResources    corev1.ResourceRequirements `json:"configCheckResources,omitempty"`
	ConfigReloaderResources corev1.ResourceRequirements `json:"configReloaderResources,omitempty"`
	LivenessProbe           *corev1.Probe               `json:"livenessProbe,omitempty"`
	LivenessDefaultCheck    bool                        `json:"livenessDefaultCheck,omitempty"`
	ReadinessProbe          *corev1.Probe               `json:"readinessProbe,omitempty"`
	ReadinessDefaultCheck   ReadinessDefaultCheck       `json:"readinessDefaultCheck,omitempty"`
	// Fluentd port inside the container (24240 by default)
	// The headless service port is controlled by this field as well
	// Note, that the default ClusterIP service port is always 24240 regardless of this field
	Port                      int32                             `json:"port,omitempty"`
	Tolerations               []corev1.Toleration               `json:"tolerations,omitempty"`
	NodeSelector              map[string]string                 `json:"nodeSelector,omitempty"`
	Affinity                  *corev1.Affinity                  `json:"affinity,omitempty"`
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
	Metrics                   *Metrics                          `json:"metrics,omitempty"`
	BufferVolumeMetrics       *Metrics                          `json:"bufferVolumeMetrics,omitempty"`
	BufferVolumeImage         ImageSpec                         `json:"bufferVolumeImage,omitempty"`
	BufferVolumeArgs          []string                          `json:"bufferVolumeArgs,omitempty"`
	BufferVolumeResources     corev1.ResourceRequirements       `json:"bufferVolumeResources,omitempty"`
	Security                  *Security                         `json:"security,omitempty"`
	Scaling                   *FluentdScaling                   `json:"scaling,omitempty"`
	Workers                   int32                             `json:"workers,omitempty"`
	RootDir                   string                            `json:"rootDir,omitempty"`
	// +kubebuilder:validation:enum=fatal,error,warn,info,debug,trace
	LogLevel string `json:"logLevel,omitempty"`
	// Ignore same log lines
	// +docLink:"more info, https://docs.fluentd.org/deployment/logging#ignore_same_log_interval"
	IgnoreSameLogInterval string `json:"ignoreSameLogInterval,omitempty"`
	// Ignore repeated log lines
	// +docLink:"more info, https://docs.fluentd.org/deployment/logging#ignore_repeated_log_interval"
	IgnoreRepeatedLogInterval string `json:"ignoreRepeatedLogInterval,omitempty"`
	// Allows Time object in buffer's MessagePack serde
	// +docLink:"more info, https://docs.fluentd.org/deployment/system-config#enable_msgpack_time_support"
	EnableMsgpackTimeSupport bool   `json:"enableMsgpackTimeSupport,omitempty"`
	PodPriorityClassName     string `json:"podPriorityClassName,omitempty"`
	// +kubebuilder:validation:enum=stdout,null
	FluentLogDestination string `json:"fluentLogDestination,omitempty"`
	// FluentOutLogrotate sends fluent's stdout to file and rotates it
	FluentOutLogrotate      *FluentOutLogrotate          `json:"fluentOutLogrotate,omitempty"`
	ForwardInputConfig      *input.ForwardInputConfig    `json:"forwardInputConfig,omitempty"`
	ServiceAccountOverrides *typeoverride.ServiceAccount `json:"serviceAccount,omitempty"`
	DNSPolicy               corev1.DNSPolicy             `json:"dnsPolicy,omitempty"`
	DNSConfig               *corev1.PodDNSConfig         `json:"dnsConfig,omitempty"`
	ExtraArgs               []string                     `json:"extraArgs,omitempty"`
	CompressConfigFile      bool                         `json:"compressConfigFile,omitempty"`
}

FluentdSpec defines the desired state of Fluentd

func (*FluentdSpec) DeepCopy

func (in *FluentdSpec) DeepCopy() *FluentdSpec

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

func (*FluentdSpec) DeepCopyInto

func (in *FluentdSpec) DeepCopyInto(out *FluentdSpec)

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

type FluentdTLS

type FluentdTLS struct {
	Enabled    bool   `json:"enabled"`
	SecretName string `json:"secretName,omitempty"`
	SharedKey  string `json:"sharedKey,omitempty"`
}

FluentdTLS defines the TLS configs

func (*FluentdTLS) DeepCopy

func (in *FluentdTLS) DeepCopy() *FluentdTLS

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

func (*FluentdTLS) DeepCopyInto

func (in *FluentdTLS) DeepCopyInto(out *FluentdTLS)

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

type ForwardOptions

type ForwardOptions struct {
	TimeAsInteger      bool   `json:"Time_as_Integer,omitempty"`
	SendOptions        bool   `json:"Send_options,omitempty"`
	RequireAckResponse bool   `json:"Require_ack_response,omitempty"`
	Tag                string `json:"Tag,omitempty"`
	RetryLimit         string `json:"Retry_Limit,omitempty"`
	// `storage.total_limit_size` Limit the maximum number of Chunks in the filesystem for the current output logical destination.
	StorageTotalLimitSize string `json:"storage.total_limit_size,omitempty"`
	// Enables dedicated thread(s) for this output. Default value (2) is set since version 1.8.13. For previous versions is 0.
	Workers *int `json:"Workers,omitempty"`
}

ForwardOptions defines custom forward output plugin options, see https://docs.fluentbit.io/manual/pipeline/outputs/forward

func (*ForwardOptions) DeepCopy

func (in *ForwardOptions) DeepCopy() *ForwardOptions

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

func (*ForwardOptions) DeepCopyInto

func (in *ForwardOptions) DeepCopyInto(out *ForwardOptions)

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

type GlobalOptions

type GlobalOptions struct {
	// deprecated use stats/level from 4.1+
	StatsLevel *int `json:"stats_level,omitempty"`
	// deprecated use stats/freq from 4.1+
	StatsFreq *int `json:"stats_freq,omitempty"`
	// Stats https://axoflow.com/docs/axosyslog-core/chapter-global-options/reference-options/#global-option-stats
	Stats *Stats `json:"stats,omitempty"`
	// Log level https://axoflow.com/docs/axosyslog-core/chapter-global-options/reference-options/#global-options-log-level
	LogLevel *string `json:"log_level,omitempty"`
}

func (*GlobalOptions) DeepCopy

func (in *GlobalOptions) DeepCopy() *GlobalOptions

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

func (*GlobalOptions) DeepCopyInto

func (in *GlobalOptions) DeepCopyInto(out *GlobalOptions)

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

type HealthCheck added in v0.11.0

type HealthCheck struct {
	// The error count to meet the unhealthy requirement, this is a sum for all output plugins in a defined HC_Period. (default:5)
	HCErrorsCount int `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 (default:5)
	HCRetryFailureCount int `json:"hcRetryFailureCount,omitempty"`
	// The time period by second to count the error and retry failure data point (default:60)
	HCPeriod int `json:"hcPeriod,omitempty"`
}

HealthCheck configuration

func (*HealthCheck) DeepCopy added in v0.11.0

func (in *HealthCheck) DeepCopy() *HealthCheck

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

func (*HealthCheck) DeepCopyInto added in v0.11.0

func (in *HealthCheck) DeepCopyInto(out *HealthCheck)

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

type ImageSpec

type ImageSpec struct {
	Repository       string                        `json:"repository,omitempty"`
	Tag              string                        `json:"tag,omitempty"`
	PullPolicy       string                        `json:"pullPolicy,omitempty"`
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}

ImageSpec struct hold information about image specification

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

func (ImageSpec) RepositoryWithTag

func (s ImageSpec) RepositoryWithTag() string

type InlineNodeAgent added in v0.10.0

type InlineNodeAgent struct {
	//InlineNodeAgent unique name.
	Name string `json:"name,omitempty"`

	NodeAgentConfig `json:",inline"`
}

InlineNodeAgent @deprecated, replaced by NodeAgent

func (*InlineNodeAgent) DeepCopy added in v0.10.0

func (in *InlineNodeAgent) DeepCopy() *InlineNodeAgent

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

func (*InlineNodeAgent) DeepCopyInto added in v0.10.0

func (in *InlineNodeAgent) DeepCopyInto(out *InlineNodeAgent)

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

type InputTail

type InputTail struct {
	// Specify the buffering mechanism to use. It can be memory or filesystem. (default:memory)
	StorageType string `json:"storage.type,omitempty"`
	// Set the buffer size for HTTP client when reading responses from Kubernetes API server. The value must be according to the Unit Size specification. (default:32k)
	BufferChunkSize string `json:"Buffer_Chunk_Size,omitempty"`
	// Set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list. The value must be according to the Unit Size specification. (default:Buffer_Chunk_Size)
	BufferMaxSize string `json:"Buffer_Max_Size,omitempty"`
	// Pattern specifying a specific log files or multiple ones through the use of common wildcards.
	Path string `json:"Path,omitempty"`
	// If enabled, it appends the name of the monitored file as part of the record. The value assigned becomes the key in the map.
	PathKey string `json:"Path_Key,omitempty"`
	// Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: exclude_path=*.gz,*.zip
	ExcludePath string `json:"Exclude_Path,omitempty"`
	// For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.
	ReadFromHead bool `json:"Read_From_Head,omitempty"`
	// The interval of refreshing the list of watched files in seconds. (default:60)
	RefreshInterval string `json:"Refresh_Interval,omitempty"`
	// Specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed. (default:5)
	RotateWait string `json:"Rotate_Wait,omitempty"`
	// Ignores files that have been last modified before this time in seconds. Supports m,h,d (minutes, hours,days) syntax. Default behavior is to read all specified files.
	IgnoreOlder string `json:"Ignore_Older,omitempty"`
	// When a monitored file reach it buffer capacity due to a very long line (Buffer_Max_Size), the default behavior is to stop monitoring that file. Skip_Long_Lines alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer size. (default:Off)
	SkipLongLines string `json:"Skip_Long_Lines,omitempty"`
	// Specify the database file to keep track of monitored files and offsets.
	DB *string `json:"DB,omitempty"`
	// Set a default synchronization (I/O) method. Values: Extra, Full, Normal, Off. This flag affects how the internal SQLite engine do synchronization to disk, for more details about each option please refer to this section. (default:Full)
	DBSync string `json:"DB_Sync,omitempty"`
	// Specify that the database will be accessed only by Fluent Bit. Enabling this feature helps to increase performance when accessing the database but it restrict any external tool to query the content. (default: true)
	DBLocking *bool `json:"DB.locking,omitempty"`
	// sets the journal mode for databases (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems. (default: WAL)
	DBJournalMode string `json:"DB.journal_mode,omitempty"`
	// Set a limit of memory that Tail plugin can use when appending data to the Engine. If the limit is reach, it will be paused; when the data is flushed it resumes.
	MemBufLimit string `json:"Mem_Buf_Limit,omitempty"`
	// Specify the name of a parser to interpret the entry as a structured message.
	Parser string `json:"Parser,omitempty"`
	// When a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key. (default:log)
	Key string `json:"Key,omitempty"`
	// Set a tag (with regex-extract fields) that will be placed on lines read.
	Tag string `json:"Tag,omitempty"`
	// Set a regex to extract fields from the file.
	TagRegex string `json:"Tag_Regex,omitempty"`
	// If enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used. (default:Off)
	Multiline string `json:"Multiline,omitempty"`
	// Wait period time in seconds to process queued multiline messages (default:4)
	MultilineFlush string `json:"Multiline_Flush,omitempty"`
	// Name of the parser that machs the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture)
	ParserFirstline string `json:"Parser_Firstline,omitempty"`
	// Optional-extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1,  Parser_2 ab2, Parser_N abN.
	ParserN []string `json:"Parser_N,omitempty"`
	// If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline. (default:Off)
	DockerMode string `json:"Docker_Mode,omitempty"`
	// Specify an optional parser for the first line of the docker multiline mode.
	DockerModeParser string `json:"Docker_Mode_Parser,omitempty"`
	// Wait period time in seconds to flush queued unfinished split lines. (default:4)
	DockerModeFlush string `json:"Docker_Mode_Flush,omitempty"`
	// Specify one or multiple parser definitions to apply to the content. Part of the new Multiline Core support in 1.8 (default: "")
	MultilineParser []string `json:"multiline.parser,omitempty"`
}

InputTail defines FluentbitAgent tail input configuration The tail input plugin allows to monitor one or several text files. It has a similar behavior like tail -f shell command.

func (*InputTail) DeepCopy

func (in *InputTail) DeepCopy() *InputTail

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

func (*InputTail) DeepCopyInto

func (in *InputTail) DeepCopyInto(out *InputTail)

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

type Logging

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

	Spec   LoggingSpec   `json:"spec,omitempty"`
	Status LoggingStatus `json:"status,omitempty"`
}

Logging is the Schema for the loggings API

func (*Logging) ClusterDomainAsSuffix

func (l *Logging) ClusterDomainAsSuffix() string

ClusterDomainAsSuffix formats the cluster domain as a suffix, e.g.: .Spec.ClusterDomain == "", returns "" .Spec.ClusterDomain == "cluster.local.", returns ".cluster.local."

func (*Logging) DeepCopy

func (in *Logging) DeepCopy() *Logging

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

func (*Logging) DeepCopyInto

func (in *Logging) DeepCopyInto(out *Logging)

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

func (*Logging) DeepCopyObject

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

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

func (*Logging) Default

func (l *Logging) Default()

func (*Logging) FluentdObjectMeta

func (l *Logging) FluentdObjectMeta(name, component string) metav1.ObjectMeta

FluentdObjectMeta creates an objectMeta for resource fluentd

func (*Logging) GetFluentdLabels

func (l *Logging) GetFluentdLabels(component string) map[string]string

func (*Logging) GetFluentdMetricsPath added in v0.11.0

func (l *Logging) GetFluentdMetricsPath() string

GetFluentdMetricsPath returns the right Fluentd metrics endpoint depending on the number of workers and the user configuration

func (*Logging) GetSyslogNGLabels

func (l *Logging) GetSyslogNGLabels(component string) map[string]string

func (*Logging) Hub

func (l *Logging) Hub()

Hub marks these types as conversion hub.

func (*Logging) QualifiedName

func (l *Logging) QualifiedName(name string) string

QualifiedName is the "logging-resource" name combined

func (*Logging) SetDefaults

func (l *Logging) SetDefaults() error

SetDefaults fills empty attributes

func (*Logging) SetDefaultsOnCopy

func (l *Logging) SetDefaultsOnCopy() (*Logging, error)

SetDefaultsOnCopy makes a deep copy of the instance and sets defaults on the copy

func (*Logging) SyslogNGObjectMeta

func (l *Logging) SyslogNGObjectMeta(name, component string) metav1.ObjectMeta

SyslogNGObjectMeta creates an objectMeta for resource syslog-ng

func (*Logging) WatchAllNamespaces added in v0.11.0

func (logging *Logging) WatchAllNamespaces() bool

type LoggingList

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

LoggingList contains a list of Logging

func (*LoggingList) DeepCopy

func (in *LoggingList) DeepCopy() *LoggingList

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

func (*LoggingList) DeepCopyInto

func (in *LoggingList) DeepCopyInto(out *LoggingList)

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

func (*LoggingList) DeepCopyObject

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

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

type LoggingRoute added in v0.11.0

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

	Spec   LoggingRouteSpec   `json:"spec,omitempty"`
	Status LoggingRouteStatus `json:"status,omitempty"`
}

LoggingRoute (experimental) Connects a log collector with log aggregators from other logging domains and routes relevant logs based on watch namespaces

func (*LoggingRoute) DeepCopy added in v0.11.0

func (in *LoggingRoute) DeepCopy() *LoggingRoute

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

func (*LoggingRoute) DeepCopyInto added in v0.11.0

func (in *LoggingRoute) DeepCopyInto(out *LoggingRoute)

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

func (*LoggingRoute) DeepCopyObject added in v0.11.0

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

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

type LoggingRouteList added in v0.11.0

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

func (*LoggingRouteList) DeepCopy added in v0.11.0

func (in *LoggingRouteList) DeepCopy() *LoggingRouteList

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

func (*LoggingRouteList) DeepCopyInto added in v0.11.0

func (in *LoggingRouteList) DeepCopyInto(out *LoggingRouteList)

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

func (*LoggingRouteList) DeepCopyObject added in v0.11.0

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

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

type LoggingRouteSpec added in v0.11.0

type LoggingRouteSpec struct {
	// Source identifies the logging that this policy applies to
	Source string `json:"source"`

	// Targets refers to the list of logging resources specified by a label selector to forward logs to
	// Filtering of namespaces will happen based on the watchNamespaces and watchNamespaceSelector fields of the target logging resource
	Targets metav1.LabelSelector `json:"targets"`
}

LoggingRouteSpec defines the desired state of LoggingRoute

func (*LoggingRouteSpec) DeepCopy added in v0.11.0

func (in *LoggingRouteSpec) DeepCopy() *LoggingRouteSpec

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

func (*LoggingRouteSpec) DeepCopyInto added in v0.11.0

func (in *LoggingRouteSpec) DeepCopyInto(out *LoggingRouteSpec)

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

type LoggingRouteStatus added in v0.11.0

type LoggingRouteStatus struct {
	// Enumerate all loggings with all the destination namespaces expanded
	Tenants []Tenant `json:"tenants,omitempty"`

	// Enumerate problems that prohibits this route to take effect and populate the tenants field
	Problems []string `json:"problems,omitempty"`

	// Summarize the number of problems for the CLI output
	ProblemsCount int `json:"problemsCount,omitempty"`

	// Enumerate non-blocker issues the user should pay attention to
	Notices []string `json:"notices,omitempty"`

	// Summarize the number of notices for the CLI output
	NoticesCount int `json:"noticesCount,omitempty"`
}

LoggingRouteStatus defines the actual state of the LoggingRoute

func (*LoggingRouteStatus) DeepCopy added in v0.11.0

func (in *LoggingRouteStatus) DeepCopy() *LoggingRouteStatus

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

func (*LoggingRouteStatus) DeepCopyInto added in v0.11.0

func (in *LoggingRouteStatus) DeepCopyInto(out *LoggingRouteStatus)

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

type LoggingSpec

type LoggingSpec struct {
	// Reference to the logging system. Each of the `loggingRef`s can manage a fluentbit daemonset and a fluentd statefulset.
	LoggingRef string `json:"loggingRef,omitempty"`
	// Disable configuration check before applying new fluentd configuration.
	FlowConfigCheckDisabled bool `json:"flowConfigCheckDisabled,omitempty"`
	// Whether to skip invalid Flow and ClusterFlow resources
	SkipInvalidResources bool `json:"skipInvalidResources,omitempty"`
	// Override generated config. This is a *raw* configuration string for troubleshooting purposes.
	FlowConfigOverride string `json:"flowConfigOverride,omitempty"`
	// ConfigCheck settings that apply to both fluentd and syslog-ng
	ConfigCheck ConfigCheck `json:"configCheck,omitempty"`
	// FluentbitAgent daemonset configuration.
	// Deprecated, will be removed with next major version
	// Migrate to the standalone NodeAgent resource
	FluentbitSpec *FluentbitSpec `json:"fluentbit,omitempty"`
	// Fluentd statefulset configuration
	FluentdSpec *FluentdSpec `json:"fluentd,omitempty"`
	// Syslog-NG statefulset configuration
	SyslogNGSpec *SyslogNGSpec `json:"syslogNG,omitempty"`
	// Default flow for unmatched logs. This Flow configuration collects all logs that didn't matched any other Flow.
	DefaultFlowSpec *DefaultFlowSpec `json:"defaultFlow,omitempty"`
	// GlobalOutput name to flush ERROR events to
	ErrorOutputRef string `json:"errorOutputRef,omitempty"`
	// Global filters to apply on logs before any match or filter mechanism.
	GlobalFilters []Filter `json:"globalFilters,omitempty"`
	// Limit namespaces to watch Flow and Output custom resources.
	WatchNamespaces []string `json:"watchNamespaces,omitempty"`
	// WatchNamespaceSelector is a LabelSelector to find matching namespaces to watch as in WatchNamespaces
	WatchNamespaceSelector *metav1.LabelSelector `json:"watchNamespaceSelector,omitempty"`
	// Cluster domain name to be used when templating URLs to services (default: "cluster.local.").
	ClusterDomain *string `json:"clusterDomain,omitempty"`
	// Namespace for cluster wide configuration resources like CLusterFlow and ClusterOutput.
	// This should be a protected namespace from regular users.
	// Resources like fluentbit and fluentd will run in this namespace as well.
	ControlNamespace string `json:"controlNamespace"`
	// Allow configuration of cluster resources from any namespace. Mutually exclusive with ControlNamespace restriction of Cluster resources
	AllowClusterResourcesFromAllNamespaces bool `json:"allowClusterResourcesFromAllNamespaces,omitempty"`
	// InlineNodeAgent Configuration
	// Deprecated, will be removed with next major version
	NodeAgents []*InlineNodeAgent `json:"nodeAgents,omitempty"`
	// EnableRecreateWorkloadOnImmutableFieldChange enables the operator to recreate the
	// fluentbit daemonset and the fluentd statefulset (and possibly other resource in the future)
	// in case there is a change in an immutable field
	// that otherwise couldn't be managed with a simple update.
	EnableRecreateWorkloadOnImmutableFieldChange bool `json:"enableRecreateWorkloadOnImmutableFieldChange,omitempty"`
}

LoggingSpec defines the desired state of Logging

func (*LoggingSpec) DeepCopy

func (in *LoggingSpec) DeepCopy() *LoggingSpec

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

func (*LoggingSpec) DeepCopyInto

func (in *LoggingSpec) DeepCopyInto(out *LoggingSpec)

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

type LoggingStatus

type LoggingStatus struct {
	// Result of the config check. Under normal conditions there is a single item in the map with a bool value.
	ConfigCheckResults map[string]bool `json:"configCheckResults,omitempty"`

	// Problems with the logging resource
	Problems []string `json:"problems,omitempty"`
	// Count of problems for printcolumn
	ProblemsCount int `json:"problemsCount,omitempty"`
	// List of namespaces that watchNamespaces + watchNamespaceSelector is resolving to.
	// Not set means all namespaces.
	WatchNamespaces []string `json:"watchNamespaces,omitempty"`
}

LoggingStatus defines the observed state of Logging

func (*LoggingStatus) DeepCopy

func (in *LoggingStatus) DeepCopy() *LoggingStatus

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

func (*LoggingStatus) DeepCopyInto

func (in *LoggingStatus) DeepCopyInto(out *LoggingStatus)

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

type Match

type Match struct {
	*Select  `json:"select,omitempty"`
	*Exclude `json:"exclude,omitempty"`
}

func (*Match) DeepCopy

func (in *Match) DeepCopy() *Match

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

func (*Match) DeepCopyInto

func (in *Match) DeepCopyInto(out *Match)

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

type Metrics

type Metrics struct {
	Interval              string               `json:"interval,omitempty"`
	Timeout               string               `json:"timeout,omitempty"`
	Port                  int32                `json:"port,omitempty"`
	Path                  string               `json:"path,omitempty"`
	ServiceMonitor        bool                 `json:"serviceMonitor,omitempty"`
	ServiceMonitorConfig  ServiceMonitorConfig `json:"serviceMonitorConfig,omitempty"`
	PrometheusAnnotations bool                 `json:"prometheusAnnotations,omitempty"`
	PrometheusRules       bool                 `json:"prometheusRules,omitempty"`
}

Metrics defines the service monitor endpoints

func (*Metrics) DeepCopy

func (in *Metrics) DeepCopy() *Metrics

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

func (*Metrics) DeepCopyInto

func (in *Metrics) DeepCopyInto(out *Metrics)

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

type NodeAgent

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

	Spec   NodeAgentSpec   `json:"spec,omitempty"`
	Status NodeAgentStatus `json:"status,omitempty"`
}

NodeAgent

func (*NodeAgent) DeepCopy

func (in *NodeAgent) DeepCopy() *NodeAgent

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

func (*NodeAgent) DeepCopyInto

func (in *NodeAgent) DeepCopyInto(out *NodeAgent)

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

func (*NodeAgent) DeepCopyObject added in v0.10.0

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

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

type NodeAgentConfig added in v0.10.0

type NodeAgentConfig struct {
	Profile       string              `json:"profile,omitempty"`
	Metadata      types.MetaBase      `json:"metadata,omitempty"`
	FluentbitSpec *NodeAgentFluentbit `json:"nodeAgentFluentbit,omitempty"`
}

func (*NodeAgentConfig) DeepCopy added in v0.10.0

func (in *NodeAgentConfig) DeepCopy() *NodeAgentConfig

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

func (*NodeAgentConfig) DeepCopyInto added in v0.10.0

func (in *NodeAgentConfig) DeepCopyInto(out *NodeAgentConfig)

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

type NodeAgentFluentbit

type NodeAgentFluentbit struct {
	Enabled                 *bool                        `json:"enabled,omitempty"`
	DaemonSetOverrides      *typeoverride.DaemonSet      `json:"daemonSet,omitempty"`
	ServiceAccountOverrides *typeoverride.ServiceAccount `json:"serviceAccount,omitempty"`
	TLS                     *FluentbitTLS                `json:"tls,omitempty"`
	TargetHost              string                       `json:"targetHost,omitempty"`
	TargetPort              int32                        `json:"targetPort,omitempty"`
	// Set the flush time in seconds.nanoseconds. The engine loop uses a Flush timeout to define when is required to flush the records ingested by input plugins through the defined output plugins. (default: 1)
	Flush int32 `json:"flush,omitempty"  plugin:"default:1"`
	// Set the grace time in seconds as Integer value. The engine loop uses a Grace timeout to define wait time on exit (default: 5)
	Grace int32 `json:"grace,omitempty" plugin:"default:5"`
	// Set the logging verbosity level. Allowed values are: error, warn, info, debug and trace. Values are accumulative, e.g: if 'debug' is set, it will include error, warning, info and debug.  Note that trace mode is only available if Fluent Bit was built with the WITH_TRACE option enabled. (default: info)
	LogLevel string `json:"logLevel,omitempty" plugin:"default:info"`
	// Set the coroutines stack size in bytes. The value must be greater than the page size of the running system. Don't set too small value (say 4096), or coroutine threads can overrun the stack buffer.
	//Do not change the default value of this parameter unless you know what you are doing. (default: 24576)
	CoroStackSize  int32                 `json:"coroStackSize,omitempty" plugin:"default:24576"`
	Metrics        *Metrics              `json:"metrics,omitempty"`
	MetricsService *typeoverride.Service `json:"metricsService,omitempty"`
	Security       *Security             `json:"security,omitempty"`
	// +docLink:"volume.KubernetesVolume,https://github.com/cisco-open/operator-tools/tree/master/docs/types"
	PositionDB              volume.KubernetesVolume `json:"positiondb,omitempty"`
	ContainersPath          string                  `json:"containersPath,omitempty"`
	VarLogsPath             string                  `json:"varLogsPath,omitempty"`
	ExtraVolumeMounts       []*VolumeMount          `json:"extraVolumeMounts,omitempty"`
	InputTail               InputTail               `json:"inputTail,omitempty"`
	FilterAws               *FilterAws              `json:"filterAws,omitempty"`
	FilterKubernetes        FilterKubernetes        `json:"filterKubernetes,omitempty"`
	DisableKubernetesFilter *bool                   `json:"disableKubernetesFilter,omitempty"`
	BufferStorage           BufferStorage           `json:"bufferStorage,omitempty"`
	// +docLink:"volume.KubernetesVolume,https://github.com/cisco-open/operator-tools/tree/master/docs/types"
	BufferStorageVolume  volume.KubernetesVolume `json:"bufferStorageVolume,omitempty"`
	CustomConfigSecret   string                  `json:"customConfigSecret,omitempty"`
	PodPriorityClassName string                  `json:"podPriorityClassName,omitempty"`
	LivenessDefaultCheck *bool                   `json:"livenessDefaultCheck,omitempty" plugin:"default:true"`
	Network              *FluentbitNetwork       `json:"network,omitempty"`
	ForwardOptions       *ForwardOptions         `json:"forwardOptions,omitempty"`
	EnableUpstream       *bool                   `json:"enableUpstream,omitempty"`
}

func (*NodeAgentFluentbit) DeepCopy

func (in *NodeAgentFluentbit) DeepCopy() *NodeAgentFluentbit

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

func (*NodeAgentFluentbit) DeepCopyInto

func (in *NodeAgentFluentbit) DeepCopyInto(out *NodeAgentFluentbit)

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

type NodeAgentList added in v0.10.0

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

NodeAgentList

func (*NodeAgentList) DeepCopy added in v0.10.0

func (in *NodeAgentList) DeepCopy() *NodeAgentList

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

func (*NodeAgentList) DeepCopyInto added in v0.10.0

func (in *NodeAgentList) DeepCopyInto(out *NodeAgentList)

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

func (*NodeAgentList) DeepCopyObject added in v0.10.0

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

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

type NodeAgentSpec added in v0.10.0

type NodeAgentSpec struct {
	LoggingRef string `json:"loggingRef,omitempty"`

	//InlineNodeAgent
	NodeAgentConfig `json:",inline"`
}

NodeAgentSpec

func (*NodeAgentSpec) DeepCopy added in v0.10.0

func (in *NodeAgentSpec) DeepCopy() *NodeAgentSpec

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

func (*NodeAgentSpec) DeepCopyInto added in v0.10.0

func (in *NodeAgentSpec) DeepCopyInto(out *NodeAgentSpec)

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

type NodeAgentStatus added in v0.10.0

type NodeAgentStatus struct {
}

NodeAgentStatus

func (*NodeAgentStatus) DeepCopy added in v0.10.0

func (in *NodeAgentStatus) DeepCopy() *NodeAgentStatus

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

func (*NodeAgentStatus) DeepCopyInto added in v0.10.0

func (in *NodeAgentStatus) DeepCopyInto(out *NodeAgentStatus)

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

type Operation

type Operation struct {
	Op    string `json:"Op,omitempty"`
	Key   string `json:"Key,omitempty"`
	Value string `json:"Value,omitempty"`
}

Operation Doc stub

func (*Operation) DeepCopy

func (in *Operation) DeepCopy() *Operation

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

func (*Operation) DeepCopyInto

func (in *Operation) DeepCopyInto(out *Operation)

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"`
	Status OutputStatus `json:"status,omitempty"`
}

Output is the Schema for the outputs 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.

func (*Output) Hub

func (o *Output) Hub()

type OutputList

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

OutputList contains a list of Output

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.

type OutputSpec

type OutputSpec struct {
	LoggingRef                   string                               `json:"loggingRef,omitempty"`
	S3OutputConfig               *output.S3OutputConfig               `json:"s3,omitempty"`
	AzureStorage                 *output.AzureStorage                 `json:"azurestorage,omitempty"`
	GCSOutput                    *output.GCSOutput                    `json:"gcs,omitempty"`
	OSSOutput                    *output.OSSOutput                    `json:"oss,omitempty"`
	ElasticsearchOutput          *output.ElasticsearchOutput          `json:"elasticsearch,omitempty"`
	OpenSearchOutput             *output.OpenSearchOutput             `json:"opensearch,omitempty"`
	LogZOutput                   *output.LogZOutput                   `json:"logz,omitempty"`
	LokiOutput                   *output.LokiOutput                   `json:"loki,omitempty"`
	SumologicOutput              *output.SumologicOutput              `json:"sumologic,omitempty"`
	DatadogOutput                *output.DatadogOutput                `json:"datadog,omitempty"`
	ForwardOutput                *output.ForwardOutput                `json:"forward,omitempty"`
	FileOutput                   *output.FileOutputConfig             `json:"file,omitempty"`
	NullOutputConfig             *output.NullOutputConfig             `json:"nullout,omitempty"`
	KafkaOutputConfig            *output.KafkaOutputConfig            `json:"kafka,omitempty"`
	CloudWatchOutput             *output.CloudWatchOutput             `json:"cloudwatch,omitempty"`
	KinesisFirehoseOutputConfig  *output.KinesisFirehoseOutputConfig  `json:"kinesisFirehose,omitempty"`
	KinesisStreamOutputConfig    *output.KinesisStreamOutputConfig    `json:"kinesisStream,omitempty"`
	LogDNAOutput                 *output.LogDNAOutput                 `json:"logdna,omitempty"`
	NewRelicOutputConfig         *output.NewRelicOutputConfig         `json:"newrelic,omitempty"`
	SplunkHecOutput              *output.SplunkHecOutput              `json:"splunkHec,omitempty"`
	HTTPOutput                   *output.HTTPOutputConfig             `json:"http,omitempty"`
	AwsElasticsearchOutputConfig *output.AwsElasticsearchOutputConfig `json:"awsElasticsearch,omitempty"`
	RedisOutputConfig            *output.RedisOutputConfig            `json:"redis,omitempty"`
	SyslogOutputConfig           *output.SyslogOutputConfig           `json:"syslog,omitempty"`
	GELFOutputConfig             *output.GELFOutputConfig             `json:"gelf,omitempty"`
	SQSOutputConfig              *output.SQSOutputConfig              `json:"sqs,omitempty"`
	MattermostOutputConfig       *output.MattermostOutputConfig       `json:"mattermost,omitempty"`
	RelabelOutputConfig          *output.RelabelOutputConfig          `json:"relabel,omitempty"`
}

OutputSpec defines the desired state of Output

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 OutputStatus

type OutputStatus struct {
	Active        *bool    `json:"active,omitempty"`
	Problems      []string `json:"problems,omitempty"`
	ProblemsCount int      `json:"problemsCount,omitempty"`
}

OutputStatus defines the observed state of Output

func (*OutputStatus) DeepCopy

func (in *OutputStatus) DeepCopy() *OutputStatus

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

func (*OutputStatus) DeepCopyInto

func (in *OutputStatus) DeepCopyInto(out *OutputStatus)

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

type ReadinessDefaultCheck

type ReadinessDefaultCheck struct {
	// Enable default Readiness check it'll fail if the buffer volume free space exceeds the `readinessDefaultThreshold` percentage (90%).
	BufferFreeSpace          bool  `json:"bufferFreeSpace,omitempty"`
	BufferFreeSpaceThreshold int32 `json:"bufferFreeSpaceThreshold,omitempty"`
	BufferFileNumber         bool  `json:"bufferFileNumber,omitempty"`
	BufferFileNumberMax      int32 `json:"bufferFileNumberMax,omitempty"`
	InitialDelaySeconds      int32 `json:"initialDelaySeconds,omitempty"`
	TimeoutSeconds           int32 `json:"timeoutSeconds,omitempty"`
	PeriodSeconds            int32 `json:"periodSeconds,omitempty"`
	SuccessThreshold         int32 `json:"successThreshold,omitempty"`
	FailureThreshold         int32 `json:"failureThreshold,omitempty"`
}

ReadinessDefaultCheck Enable default readiness checks

func (*ReadinessDefaultCheck) DeepCopy

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

func (*ReadinessDefaultCheck) DeepCopyInto

func (in *ReadinessDefaultCheck) DeepCopyInto(out *ReadinessDefaultCheck)

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

type Security

type Security struct {
	ServiceAccount               string                     `json:"serviceAccount,omitempty"`
	RoleBasedAccessControlCreate *bool                      `json:"roleBasedAccessControlCreate,omitempty"`
	PodSecurityPolicyCreate      bool                       `json:"podSecurityPolicyCreate,omitempty"`
	SecurityContext              *corev1.SecurityContext    `json:"securityContext,omitempty"`
	PodSecurityContext           *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
}

Security defines Fluentd, FluentbitAgent deployment security properties

func (*Security) DeepCopy

func (in *Security) DeepCopy() *Security

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

func (*Security) DeepCopyInto

func (in *Security) DeepCopyInto(out *Security)

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

type Select

type Select struct {
	Labels         map[string]string `json:"labels,omitempty"`
	Hosts          []string          `json:"hosts,omitempty"`
	ContainerNames []string          `json:"container_names,omitempty"`
}

func (*Select) DeepCopy

func (in *Select) DeepCopy() *Select

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

func (*Select) DeepCopyInto

func (in *Select) DeepCopyInto(out *Select)

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

type ServiceMonitorConfig

type ServiceMonitorConfig struct {
	AdditionalLabels   map[string]string   `json:"additionalLabels,omitempty"`
	HonorLabels        bool                `json:"honorLabels,omitempty"`
	Relabelings        []*v1.RelabelConfig `json:"relabelings,omitempty"`
	MetricsRelabelings []*v1.RelabelConfig `json:"metricRelabelings,omitempty"`
	Scheme             string              `json:"scheme,omitempty"`
	TLSConfig          *v1.TLSConfig       `json:"tlsConfig,omitempty"`
}

ServiceMonitorConfig defines the ServiceMonitor properties

func (*ServiceMonitorConfig) DeepCopy

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

func (*ServiceMonitorConfig) DeepCopyInto

func (in *ServiceMonitorConfig) DeepCopyInto(out *ServiceMonitorConfig)

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

type Stats added in v0.10.0

type Stats struct {
	Level *int `json:"level,omitempty"`
	Freq  *int `json:"freq,omitempty"`
}

func (*Stats) DeepCopy added in v0.10.0

func (in *Stats) DeepCopy() *Stats

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

func (*Stats) DeepCopyInto added in v0.10.0

func (in *Stats) DeepCopyInto(out *Stats)

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

type SyslogNGClusterFlow

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

	Spec   SyslogNGClusterFlowSpec `json:"spec,omitempty"`
	Status SyslogNGFlowStatus      `json:"status,omitempty"`
}

SyslogNGClusterFlow is the Schema for the syslog-ng clusterflows API

func (*SyslogNGClusterFlow) DeepCopy

func (in *SyslogNGClusterFlow) DeepCopy() *SyslogNGClusterFlow

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

func (*SyslogNGClusterFlow) DeepCopyInto

func (in *SyslogNGClusterFlow) DeepCopyInto(out *SyslogNGClusterFlow)

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

func (*SyslogNGClusterFlow) DeepCopyObject

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

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

type SyslogNGClusterFlowList

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

SyslogNGClusterFlowList contains a list of SyslogNGClusterFlow

func (*SyslogNGClusterFlowList) DeepCopy

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

func (*SyslogNGClusterFlowList) DeepCopyInto

func (in *SyslogNGClusterFlowList) DeepCopyInto(out *SyslogNGClusterFlowList)

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

func (*SyslogNGClusterFlowList) DeepCopyObject

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

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

type SyslogNGClusterFlowSpec

type SyslogNGClusterFlowSpec struct {
	Match            *SyslogNGMatch   `json:"match,omitempty"`
	Filters          []SyslogNGFilter `json:"filters,omitempty"`
	LoggingRef       string           `json:"loggingRef,omitempty"`
	GlobalOutputRefs []string         `json:"globalOutputRefs,omitempty"`
}

SyslogNGClusterFlowSpec is the Kubernetes spec for Flows

func (*SyslogNGClusterFlowSpec) DeepCopy

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

func (*SyslogNGClusterFlowSpec) DeepCopyInto

func (in *SyslogNGClusterFlowSpec) DeepCopyInto(out *SyslogNGClusterFlowSpec)

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

type SyslogNGClusterMatch

type SyslogNGClusterMatch SyslogNGMatch

func (*SyslogNGClusterMatch) DeepCopy

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

func (*SyslogNGClusterMatch) DeepCopyInto

func (in *SyslogNGClusterMatch) DeepCopyInto(out *SyslogNGClusterMatch)

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

type SyslogNGClusterOutput

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

	Spec   SyslogNGClusterOutputSpec `json:"spec"`
	Status SyslogNGOutputStatus      `json:"status,omitempty"`
}

SyslogNGClusterOutput is the Schema for the syslog-ng clusteroutputs API

func (*SyslogNGClusterOutput) DeepCopy

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

func (*SyslogNGClusterOutput) DeepCopyInto

func (in *SyslogNGClusterOutput) DeepCopyInto(out *SyslogNGClusterOutput)

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

func (*SyslogNGClusterOutput) DeepCopyObject

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

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

type SyslogNGClusterOutputList

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

SyslogNGClusterOutputList contains a list of SyslogNGClusterOutput

func (*SyslogNGClusterOutputList) DeepCopy

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

func (*SyslogNGClusterOutputList) DeepCopyInto

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

func (*SyslogNGClusterOutputList) DeepCopyObject

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

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

type SyslogNGClusterOutputSpec

type SyslogNGClusterOutputSpec struct {
	SyslogNGOutputSpec `json:",inline"`
	EnabledNamespaces  []string `json:"enabledNamespaces,omitempty"`
}

SyslogNGClusterOutputSpec contains Kubernetes spec for SyslogNGClusterOutput

func (*SyslogNGClusterOutputSpec) DeepCopy

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

func (*SyslogNGClusterOutputSpec) DeepCopyInto

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

type SyslogNGFilter

type SyslogNGFilter struct {
	ID      string                 `json:"id,omitempty" syslog-ng:"ignore"`
	Match   *filter.MatchConfig    `json:"match,omitempty" syslog-ng:"xform-kind=filter"`
	Rewrite []filter.RewriteConfig `json:"rewrite,omitempty" syslog-ng:"xform-kind=rewrite"`
	Parser  *filter.ParserConfig   `json:"parser,omitempty" syslog-ng:"xform-kind=parser"`
}

Filter definition for SyslogNGFlowSpec

func (*SyslogNGFilter) DeepCopy

func (in *SyslogNGFilter) DeepCopy() *SyslogNGFilter

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

func (*SyslogNGFilter) DeepCopyInto

func (in *SyslogNGFilter) DeepCopyInto(out *SyslogNGFilter)

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

type SyslogNGFlow

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

	Spec   SyslogNGFlowSpec   `json:"spec,omitempty"`
	Status SyslogNGFlowStatus `json:"status,omitempty"`
}

Flow Kubernetes object

func (*SyslogNGFlow) DeepCopy

func (in *SyslogNGFlow) DeepCopy() *SyslogNGFlow

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

func (*SyslogNGFlow) DeepCopyInto

func (in *SyslogNGFlow) DeepCopyInto(out *SyslogNGFlow)

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

func (*SyslogNGFlow) DeepCopyObject

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

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

type SyslogNGFlowList

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

FlowList contains a list of Flow

func (*SyslogNGFlowList) DeepCopy

func (in *SyslogNGFlowList) DeepCopy() *SyslogNGFlowList

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

func (*SyslogNGFlowList) DeepCopyInto

func (in *SyslogNGFlowList) DeepCopyInto(out *SyslogNGFlowList)

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

func (*SyslogNGFlowList) DeepCopyObject

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

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

type SyslogNGFlowSpec

type SyslogNGFlowSpec struct {
	Match            *SyslogNGMatch   `json:"match,omitempty"`
	Filters          []SyslogNGFilter `json:"filters,omitempty"`
	LoggingRef       string           `json:"loggingRef,omitempty"`
	GlobalOutputRefs []string         `json:"globalOutputRefs,omitempty"`
	LocalOutputRefs  []string         `json:"localOutputRefs,omitempty"`
}

SyslogNGFlowSpec is the Kubernetes spec for SyslogNGFlows

func (*SyslogNGFlowSpec) DeepCopy

func (in *SyslogNGFlowSpec) DeepCopy() *SyslogNGFlowSpec

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

func (*SyslogNGFlowSpec) DeepCopyInto

func (in *SyslogNGFlowSpec) DeepCopyInto(out *SyslogNGFlowSpec)

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

type SyslogNGFlowStatus

type SyslogNGFlowStatus FlowStatus

func (*SyslogNGFlowStatus) DeepCopy

func (in *SyslogNGFlowStatus) DeepCopy() *SyslogNGFlowStatus

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

func (*SyslogNGFlowStatus) DeepCopyInto

func (in *SyslogNGFlowStatus) DeepCopyInto(out *SyslogNGFlowStatus)

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

type SyslogNGMatch

type SyslogNGMatch filter.MatchExpr

func (*SyslogNGMatch) DeepCopy

func (in *SyslogNGMatch) DeepCopy() *SyslogNGMatch

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

func (*SyslogNGMatch) DeepCopyInto

func (in *SyslogNGMatch) DeepCopyInto(out *SyslogNGMatch)

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

func (*SyslogNGMatch) IsEmpty

func (m *SyslogNGMatch) IsEmpty() bool

IsEmpty returns true if the match is not specified, i.e. empty.

type SyslogNGOutput

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

	Spec   SyslogNGOutputSpec   `json:"spec,omitempty"`
	Status SyslogNGOutputStatus `json:"status,omitempty"`
}

SyslogNGOutput is the Schema for the syslog-ng outputs API

func (*SyslogNGOutput) DeepCopy

func (in *SyslogNGOutput) DeepCopy() *SyslogNGOutput

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

func (*SyslogNGOutput) DeepCopyInto

func (in *SyslogNGOutput) DeepCopyInto(out *SyslogNGOutput)

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

func (*SyslogNGOutput) DeepCopyObject

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

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

type SyslogNGOutputList

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

SyslogNGOutputList contains a list of SyslogNGOutput

func (*SyslogNGOutputList) DeepCopy

func (in *SyslogNGOutputList) DeepCopy() *SyslogNGOutputList

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

func (*SyslogNGOutputList) DeepCopyInto

func (in *SyslogNGOutputList) DeepCopyInto(out *SyslogNGOutputList)

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

func (*SyslogNGOutputList) DeepCopyObject

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

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

type SyslogNGOutputSpec

type SyslogNGOutputSpec struct {
	LoggingRef      string                        `json:"loggingRef,omitempty"`
	Loggly          *output.Loggly                `json:"loggly,omitempty" syslog-ng:"dest-drv"`
	Syslog          *output.SyslogOutput          `json:"syslog,omitempty" syslog-ng:"dest-drv"`
	File            *output.FileOutput            `json:"file,omitempty" syslog-ng:"dest-drv"`
	MQTT            *output.MQTT                  `json:"mqtt,omitempty" syslog-ng:"dest-drv"`
	Redis           *output.RedisOutput           `json:"redis,omitempty" syslog-ng:"dest-drv"`
	MongoDB         *output.MongoDB               `json:"mongodb,omitempty" syslog-ng:"dest-drv"`
	SumologicHTTP   *output.SumologicHTTPOutput   `json:"sumologic-http,omitempty" syslog-ng:"dest-drv"`
	SumologicSyslog *output.SumologicSyslogOutput `json:"sumologic-syslog,omitempty" syslog-ng:"dest-drv"`
	HTTP            *output.HTTPOutput            `json:"http,omitempty" syslog-ng:"dest-drv"`
	Elasticsearch   *output.ElasticsearchOutput   `json:"elasticsearch,omitempty" syslog-ng:"dest-drv,name=elasticsearch-http"`
	LogScale        *output.LogScaleOutput        `json:"logscale,omitempty" syslog-ng:"dest-drv"`
	SplunkHEC       *output.SplunkHECOutput       `json:"splunk_hec_event,omitempty" syslog-ng:"dest-drv"`
	Loki            *output.LokiOutput            `json:"loki,omitempty" syslog-ng:"dest-drv"`
	S3              *output.S3Output              `json:"s3,omitempty" syslog-ng:"dest-drv"`
}

SyslogNGOutputSpec defines the desired state of SyslogNGOutput

func (*SyslogNGOutputSpec) DeepCopy

func (in *SyslogNGOutputSpec) DeepCopy() *SyslogNGOutputSpec

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

func (*SyslogNGOutputSpec) DeepCopyInto

func (in *SyslogNGOutputSpec) DeepCopyInto(out *SyslogNGOutputSpec)

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

type SyslogNGOutputStatus

type SyslogNGOutputStatus OutputStatus

func (*SyslogNGOutputStatus) DeepCopy

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

func (*SyslogNGOutputStatus) DeepCopyInto

func (in *SyslogNGOutputStatus) DeepCopyInto(out *SyslogNGOutputStatus)

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

type SyslogNGSpec

type SyslogNGSpec struct {
	TLS                                 SyslogNGTLS                  `json:"tls,omitempty"`
	ReadinessDefaultCheck               ReadinessDefaultCheck        `json:"readinessDefaultCheck,omitempty"`
	SkipRBACCreate                      bool                         `json:"skipRBACCreate,omitempty"`
	StatefulSetOverrides                *typeoverride.StatefulSet    `json:"statefulSet,omitempty"`
	ServiceOverrides                    *typeoverride.Service        `json:"service,omitempty"`
	ServiceAccountOverrides             *typeoverride.ServiceAccount `json:"serviceAccount,omitempty"`
	ConfigCheckPodOverrides             *typeoverride.PodSpec        `json:"configCheckPod,omitempty"`
	Metrics                             *Metrics                     `json:"metrics,omitempty"`
	MetricsServiceOverrides             *typeoverride.Service        `json:"metricsService,omitempty"`
	BufferVolumeMetrics                 *BufferMetrics               `json:"bufferVolumeMetrics,omitempty"`
	BufferVolumeMetricsServiceOverrides *typeoverride.Service        `json:"bufferVolumeMetricsService,omitempty"`
	GlobalOptions                       *GlobalOptions               `json:"globalOptions,omitempty"`
	JSONKeyPrefix                       string                       `json:"jsonKeyPrefix,omitempty"`
	JSONKeyDelimiter                    string                       `json:"jsonKeyDelim,omitempty"`
	MaxConnections                      int                          `json:"maxConnections,omitempty"`
	LogIWSize                           int                          `json:"logIWSize,omitempty"`
}

SyslogNGSpec defines the desired state of SyslogNG

func (*SyslogNGSpec) DeepCopy

func (in *SyslogNGSpec) DeepCopy() *SyslogNGSpec

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

func (*SyslogNGSpec) DeepCopyInto

func (in *SyslogNGSpec) DeepCopyInto(out *SyslogNGSpec)

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

type SyslogNGTLS

type SyslogNGTLS struct {
	Enabled    bool   `json:"enabled"`
	SecretName string `json:"secretName,omitempty"`
	SharedKey  string `json:"sharedKey,omitempty"`
}

SyslogNGTLS defines the TLS configs

func (*SyslogNGTLS) DeepCopy

func (in *SyslogNGTLS) DeepCopy() *SyslogNGTLS

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

func (*SyslogNGTLS) DeepCopyInto

func (in *SyslogNGTLS) DeepCopyInto(out *SyslogNGTLS)

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

type Tenant added in v0.11.0

type Tenant struct {
	Name       string   `json:"name"`
	Namespaces []string `json:"namespaces,omitempty"`
}

func (*Tenant) DeepCopy added in v0.11.0

func (in *Tenant) DeepCopy() *Tenant

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

func (*Tenant) DeepCopyInto added in v0.11.0

func (in *Tenant) DeepCopyInto(out *Tenant)

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

type VolumeMount

type VolumeMount struct {
	// Source folder
	// +kubebuilder:validation:Pattern=^/.+$
	Source string `json:"source"`
	// Destination Folder
	// +kubebuilder:validation:Pattern=^/.+$
	Destination string `json:"destination"`
	// Mount Mode
	ReadOnly *bool `json:"readOnly,omitempty"`
}

VolumeMount defines source and destination folders of a hostPath type pod mount

func (*VolumeMount) DeepCopy

func (in *VolumeMount) DeepCopy() *VolumeMount

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

func (*VolumeMount) DeepCopyInto

func (in *VolumeMount) DeepCopyInto(out *VolumeMount)

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

Jump to

Keyboard shortcuts

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