From 6fb1f92ab825022827111e4c2f9fe5a7730e0287 Mon Sep 17 00:00:00 2001 From: Anthony TREUILLIER Date: Tue, 19 Dec 2023 09:48:34 +0100 Subject: [PATCH 1/2] upgrade fluent-operator from v2.5.0 to v2.7.0 Signed-off-by: Anthony TREUILLIER --- .gitignore | 1 - charts/fluent-operator/Chart.yaml | 11 +- .../charts/fluent-bit-crds/.helmignore | 23 + .../charts/fluent-bit-crds/Chart.yaml | 14 + .../fluentbit.fluent.io_clusterfilters.yaml | 0 ...bit.fluent.io_clusterfluentbitconfigs.yaml | 0 .../fluentbit.fluent.io_clusterinputs.yaml | 139 +++ .../fluentbit.fluent.io_clusteroutputs.yaml | 0 .../fluentbit.fluent.io_clusterparsers.yaml | 0 .../crds/fluentbit.fluent.io_collectors.yaml | 0 .../crds/fluentbit.fluent.io_filters.yaml | 0 .../fluentbit.fluent.io_fluentbitconfigs.yaml | 0 .../crds/fluentbit.fluent.io_fluentbits.yaml | 4 + .../crds/fluentbit.fluent.io_outputs.yaml | 0 .../crds/fluentbit.fluent.io_parsers.yaml | 0 .../charts/fluent-bit-crds/values.yaml | 1 + .../charts/fluentd-crds/.helmignore | 23 + .../charts/fluentd-crds/Chart.yaml | 14 + .../fluentd.fluent.io_clusterfilters.yaml | 0 ...uentd.fluent.io_clusterfluentdconfigs.yaml | 45 + .../crds/fluentd.fluent.io_clusterinputs.yaml | 904 ++++++++++++++++++ .../fluentd.fluent.io_clusteroutputs.yaml | 60 ++ .../crds/fluentd.fluent.io_filters.yaml | 0 .../fluentd.fluent.io_fluentdconfigs.yaml | 90 ++ .../crds/fluentd.fluent.io_fluentds.yaml | 396 ++++++++ .../crds/fluentd.fluent.io_inputs.yaml | 904 ++++++++++++++++++ .../crds/fluentd.fluent.io_outputs.yaml | 60 ++ .../charts/fluentd-crds/values.yaml | 1 + .../fluent-operator-clusterRole.yaml | 2 + .../templates/fluentbit-fluentBit.yaml | 3 + .../fluentbitconfig-fluentBitConfig.yaml | 3 + .../fluentbitconfig-fluentbitconfig-edge.yaml | 4 + .../templates/fluentd-filter-kafka.yaml | 2 +- .../templates/fluentd-fluentd.yaml | 4 + .../templates/fluentd-output-opensearch.yaml | 1 + charts/fluent-operator/values.yaml | 8 +- 36 files changed, 2711 insertions(+), 6 deletions(-) create mode 100644 charts/fluent-operator/charts/fluent-bit-crds/.helmignore create mode 100644 charts/fluent-operator/charts/fluent-bit-crds/Chart.yaml rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_clusterfilters.yaml (100%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_clusterfluentbitconfigs.yaml (100%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_clusterinputs.yaml (80%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_clusteroutputs.yaml (100%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_clusterparsers.yaml (100%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_collectors.yaml (100%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_filters.yaml (100%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_fluentbitconfigs.yaml (100%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_fluentbits.yaml (99%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_outputs.yaml (100%) rename charts/fluent-operator/{ => charts/fluent-bit-crds}/crds/fluentbit.fluent.io_parsers.yaml (100%) create mode 100644 charts/fluent-operator/charts/fluent-bit-crds/values.yaml create mode 100644 charts/fluent-operator/charts/fluentd-crds/.helmignore create mode 100644 charts/fluent-operator/charts/fluentd-crds/Chart.yaml rename charts/fluent-operator/{ => charts/fluentd-crds}/crds/fluentd.fluent.io_clusterfilters.yaml (100%) rename charts/fluent-operator/{ => charts/fluentd-crds}/crds/fluentd.fluent.io_clusterfluentdconfigs.yaml (78%) create mode 100644 charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterinputs.yaml rename charts/fluent-operator/{ => charts/fluentd-crds}/crds/fluentd.fluent.io_clusteroutputs.yaml (96%) rename charts/fluent-operator/{ => charts/fluentd-crds}/crds/fluentd.fluent.io_filters.yaml (100%) rename charts/fluent-operator/{ => charts/fluentd-crds}/crds/fluentd.fluent.io_fluentdconfigs.yaml (73%) rename charts/fluent-operator/{ => charts/fluentd-crds}/crds/fluentd.fluent.io_fluentds.yaml (94%) create mode 100644 charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_inputs.yaml rename charts/fluent-operator/{ => charts/fluentd-crds}/crds/fluentd.fluent.io_outputs.yaml (96%) create mode 100644 charts/fluent-operator/charts/fluentd-crds/values.yaml diff --git a/.gitignore b/.gitignore index 26313b60..585ef16d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ .vscode # Helm chart automated files -/charts/*/charts /charts/*/requirements.lock diff --git a/charts/fluent-operator/Chart.yaml b/charts/fluent-operator/Chart.yaml index 1a254fb3..37a4379e 100644 --- a/charts/fluent-operator/Chart.yaml +++ b/charts/fluent-operator/Chart.yaml @@ -6,8 +6,8 @@ keywords: - fluent-bit - fluentd - operator -version: 2.5.0 -appVersion: 2.5.0 +version: 2.7.0 +appVersion: 2.7.0 icon: https://raw.githubusercontent.com/fluent/fluent-operator/master/docs/images/fluent-operator-icon.svg home: https://www.fluentd.org/ sources: @@ -15,3 +15,10 @@ sources: maintainers: - name: wenchajun email: dehaocheng@kubesphere.io +dependencies: + - name: fluent-bit-crds + repository: fluent-bit-crds + condition: fluentbit.crdsEnable + - name: fluentd-crds + repository: fluentd-crds + condition: fluentd.crdsEnable diff --git a/charts/fluent-operator/charts/fluent-bit-crds/.helmignore b/charts/fluent-operator/charts/fluent-bit-crds/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/charts/fluent-operator/charts/fluent-bit-crds/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/fluent-operator/charts/fluent-bit-crds/Chart.yaml b/charts/fluent-operator/charts/fluent-bit-crds/Chart.yaml new file mode 100644 index 00000000..56932d10 --- /dev/null +++ b/charts/fluent-operator/charts/fluent-bit-crds/Chart.yaml @@ -0,0 +1,14 @@ +apiVersion: v2 +name: fluent-bit-crds +description: A Helm chart delivering fluent-bit controller CRDS +keywords: + - logging + - fluent-bit + - operator +version: 2.7.0 +appVersion: "2.7.0" +sources: + - https://github.com/fluent/fluent-operator +maintainers: + - name: wenchajun + email: dehaocheng@kubesphere.io diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_clusterfilters.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterfilters.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_clusterfilters.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterfilters.yaml diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_clusterfluentbitconfigs.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterfluentbitconfigs.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_clusterfluentbitconfigs.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterfluentbitconfigs.yaml diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_clusterinputs.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterinputs.yaml similarity index 80% rename from charts/fluent-operator/crds/fluentbit.fluent.io_clusterinputs.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterinputs.yaml index f947812b..a552a3ef 100644 --- a/charts/fluent-operator/crds/fluentbit.fluent.io_clusterinputs.yaml +++ b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterinputs.yaml @@ -266,6 +266,27 @@ spec: minimum: 1 type: integer type: object + nginx: + description: Nginx defines the Nginx input plugin configuration + properties: + host: + description: 'Name of the target host or IP address to check, + default: localhost' + type: string + nginxPlus: + description: 'Turn on NGINX plus mode,default: true' + type: boolean + port: + description: 'Port of the target nginx service to connect to, + default: 80' + format: int32 + maximum: 65535 + minimum: 1 + type: integer + statusURL: + description: 'The URL of the Stub Status Handler,default: /status' + type: string + type: object nodeExporterMetrics: description: NodeExporterMetrics defines Node Exporter Metrics Input configuration. @@ -354,6 +375,85 @@ spec: plugin type: string type: object + statsd: + description: StatsD defines the StatsD input plugin configuration + properties: + listen: + description: 'Listener network interface, default: 0.0.0.0' + type: string + port: + description: 'UDP port where listening for connections, default: + 8125' + format: int32 + maximum: 65535 + minimum: 1 + type: integer + type: object + syslog: + description: Syslog defines the Syslog input plugin configuration + properties: + bufferChunkSize: + description: By default the buffer to store the incoming Syslog + messages, do not allocate the maximum memory allowed, instead + it allocate memory when is required. The rounds of allocations + are set by Buffer_Chunk_Size. If not set, Buffer_Chunk_Size + is equal to 32000 bytes (32KB). + pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$ + type: string + bufferMaxSize: + description: Specify the maximum buffer size to receive a Syslog + message. If not set, the default size will be the value of Buffer_Chunk_Size. + pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$ + type: string + listen: + description: 'If Mode is set to tcp or udp, specify the network + interface to bind, default: 0.0.0.0' + type: string + mode: + description: 'Defines transport protocol mode: unix_udp (UDP over + Unix socket), unix_tcp (TCP over Unix socket), tcp or udp' + enum: + - unix_udp + - unix_tcp + - tcp + - udp + type: string + parser: + description: Specify an alternative parser for the message. If + Mode is set to tcp or udp then the default parser is syslog-rfc5424 + otherwise syslog-rfc3164-local is used. If your syslog messages + have fractional seconds set this Parser value to syslog-rfc5424 + instead. + type: string + path: + description: If Mode is set to unix_tcp or unix_udp, set the absolute + path to the Unix socket file. + type: string + port: + description: If Mode is set to tcp or udp, specify the TCP port + to listen for incoming connections. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + receiveBufferSize: + description: Specify the maximum socket receive buffer size. If + not set, the default value is OS-dependant, but generally too + low to accept thousands of syslog messages per second without + loss on udp or unix_udp sockets. Note that on Linux the value + is capped by sysctl net.core.rmem_max. + pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$ + type: string + sourceAddressKey: + description: Specify the key where the source address will be + injected. + type: string + unixPerm: + description: 'If Mode is set to unix_tcp or unix_udp, set the + permission of the Unix socket file, default: 0644' + format: int32 + type: integer + type: object systemd: description: Systemd defines Systemd Input configuration. properties: @@ -602,6 +702,45 @@ spec: description: Set a regex to exctract fields from the file type: string type: object + tcp: + description: TCP defines the TCP input plugin configuration + properties: + bufferSize: + description: Specify the maximum buffer size in KB to receive + a JSON message. If not set, the default size will be the value + of Chunk_Size. + pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$ + type: string + chunkSize: + description: By default the buffer to store the incoming JSON + messages, do not allocate the maximum memory allowed, instead + it allocate memory when is required. The rounds of allocations + are set by Chunk_Size in KB. If not set, Chunk_Size is equal + to 32 (32KB). + pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$ + type: string + format: + description: Specify the expected payload format. It support the + options json and none. When using json, it expects JSON maps, + when is set to none, it will split every record using the defined + Separator (option below). + type: string + listen: + description: Listener network interface,default 0.0.0.0 + type: string + port: + description: TCP port where listening for connections,default + 5170 + format: int32 + maximum: 65535 + minimum: 1 + type: integer + separator: + description: When the expected Format is set to none, Fluent Bit + needs a separator string to split the records. By default it + uses the breakline character (LF or 0x10). + type: string + type: object type: object type: object served: true diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_clusteroutputs.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusteroutputs.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_clusteroutputs.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusteroutputs.yaml diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_clusterparsers.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterparsers.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_clusterparsers.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusterparsers.yaml diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_collectors.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_collectors.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_collectors.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_collectors.yaml diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_filters.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_filters.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_filters.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_filters.yaml diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_fluentbitconfigs.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_fluentbitconfigs.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_fluentbitconfigs.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_fluentbitconfigs.yaml diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_fluentbits.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_fluentbits.yaml similarity index 99% rename from charts/fluent-operator/crds/fluentbit.fluent.io_fluentbits.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_fluentbits.yaml index 820dee8d..c7513656 100644 --- a/charts/fluent-operator/crds/fluentbit.fluent.io_fluentbits.yaml +++ b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_fluentbits.yaml @@ -1043,6 +1043,10 @@ spec: type: string type: object type: object + disableLogVolumes: + description: DisableLogVolumes removes the hostPath mounts for varlibcontainers, + varlogs and systemd. + type: boolean disableService: description: DisableService tells if the fluentbit service should be deployed. diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_outputs.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_outputs.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_outputs.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_outputs.yaml diff --git a/charts/fluent-operator/crds/fluentbit.fluent.io_parsers.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_parsers.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentbit.fluent.io_parsers.yaml rename to charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_parsers.yaml diff --git a/charts/fluent-operator/charts/fluent-bit-crds/values.yaml b/charts/fluent-operator/charts/fluent-bit-crds/values.yaml new file mode 100644 index 00000000..890be839 --- /dev/null +++ b/charts/fluent-operator/charts/fluent-bit-crds/values.yaml @@ -0,0 +1 @@ +# Default values for fluent-bit-crds. diff --git a/charts/fluent-operator/charts/fluentd-crds/.helmignore b/charts/fluent-operator/charts/fluentd-crds/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/charts/fluent-operator/charts/fluentd-crds/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/fluent-operator/charts/fluentd-crds/Chart.yaml b/charts/fluent-operator/charts/fluentd-crds/Chart.yaml new file mode 100644 index 00000000..36082fd4 --- /dev/null +++ b/charts/fluent-operator/charts/fluentd-crds/Chart.yaml @@ -0,0 +1,14 @@ +apiVersion: v2 +name: fluentd-crds +description: A Helm chart delivering fluentd controller CRDS +keywords: + - logging + - fluentd + - operator +version: 2.7.0 +appVersion: "2.7.0" +sources: + - https://github.com/fluent/fluent-operator +maintainers: + - name: wenchajun + email: dehaocheng@kubesphere.io diff --git a/charts/fluent-operator/crds/fluentd.fluent.io_clusterfilters.yaml b/charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterfilters.yaml similarity index 100% rename from charts/fluent-operator/crds/fluentd.fluent.io_clusterfilters.yaml rename to charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterfilters.yaml diff --git a/charts/fluent-operator/crds/fluentd.fluent.io_clusterfluentdconfigs.yaml b/charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterfluentdconfigs.yaml similarity index 78% rename from charts/fluent-operator/crds/fluentd.fluent.io_clusterfluentdconfigs.yaml rename to charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterfluentdconfigs.yaml index b60f7e79..3352aab2 100644 --- a/charts/fluent-operator/crds/fluentd.fluent.io_clusterfluentdconfigs.yaml +++ b/charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterfluentdconfigs.yaml @@ -83,6 +83,51 @@ spec: type: object type: object x-kubernetes-map-type: atomic + clusterInputSelector: + description: Select cluster input plugins + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the key + and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship to + a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic clusterOutputSelector: description: Select cluster output plugins properties: diff --git a/charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterinputs.yaml b/charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterinputs.yaml new file mode 100644 index 00000000..f0629f3e --- /dev/null +++ b/charts/fluent-operator/charts/fluentd-crds/crds/fluentd.fluent.io_clusterinputs.yaml @@ -0,0 +1,904 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusterinputs.fluentd.fluent.io +spec: + group: fluentd.fluent.io + names: + kind: ClusterInput + listKind: ClusterInputList + plural: clusterinputs + shortNames: + - cfdi + singular: clusterinput + scope: Cluster + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterInput is the Schema for the clusterinputs API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterInputSpec defines the desired state of ClusterInput + properties: + inputs: + items: + description: Input defines all available input plugins and their + parameters + properties: + customPlugin: + description: Custom plugin type + properties: + config: + type: string + required: + - config + type: object + forward: + description: in_forward plugin + properties: + addTagPrefix: + description: Adds the prefix to the incoming event's tag. + type: string + bind: + description: The port to listen to, default is "0.0.0.0" + type: string + chunkSizeLimit: + description: The size limit of the received chunk. If the + chunk size is larger than this value, the received chunk + is dropped. + pattern: ^\d+(KB|MB|GB|TB)$ + type: string + chunkSizeWarnLimit: + description: The warning size limit of the received chunk. + If the chunk size is larger than this value, a warning + message will be sent. + pattern: ^\d+(KB|MB|GB|TB)$ + type: string + client: + description: The security section of client plugin + properties: + host: + description: The IP address or hostname of the client. + This is exclusive with Network. + type: string + network: + description: The network address specification. This + is exclusive with Host. + type: string + sharedKey: + description: The shared key per client. + type: string + users: + description: The array of usernames. + type: string + type: object + denyKeepalive: + description: The connections will be disconnected right + after receiving a message, if true. + type: boolean + lingerTimeout: + description: The timeout used to set the linger option. + type: integer + port: + description: The port to listen to, default is 24224. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + resolveHostname: + description: Tries to resolve hostname from IP addresses + or not. + type: boolean + security: + description: The security section of forward plugin + properties: + allowAnonymousSource: + description: Allows the anonymous source. sections + are required, if disabled. + type: string + selfHostname: + description: The hostname. + type: string + sharedKey: + description: The shared key for authentication. + type: string + user: + description: Defines user section directly. + properties: + password: + description: Secret defines the key of a value. + properties: + valueFrom: + description: ValueSource defines how to find + a value's key. + properties: + secretKeyRef: + description: Selects a key of a secret in + the pod's namespace + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + description: 'Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, + kind, uid?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + username: + description: Secret defines the key of a value. + properties: + valueFrom: + description: ValueSource defines how to find + a value's key. + properties: + secretKeyRef: + description: Selects a key of a secret in + the pod's namespace + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + description: 'Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, + kind, uid?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + type: object + userAuth: + description: If true, user-based authentication is used. + type: string + type: object + sendKeepalivePacket: + description: Enables the TCP keepalive for sockets. + type: boolean + skipInvalidEvent: + description: Skips the invalid incoming event. + type: boolean + sourceAddressKey: + description: The field name of the client's source address. + If set, the client's address will be set to its key. + type: string + sourceHostnameKey: + description: The field name of the client's hostname. If + set, the client's hostname will be set to its key. + type: string + tag: + description: in_forward uses incoming event's tag by default + (See Protocol Section). If the tag parameter is set, its + value is used instead. + type: string + transport: + description: The transport section of forward plugin + properties: + caCertPath: + description: for Cert generated + type: string + caPath: + description: for Cert signed by public CA + type: string + caPrivateKeyPassphrase: + type: string + caPrivateKeyPath: + type: string + certPath: + type: string + certVerifier: + description: other parameters + type: string + ciphers: + type: string + clientCertAuth: + type: boolean + insecure: + type: boolean + privateKeyPassphrase: + type: string + privateKeyPath: + type: string + protocol: + description: 'The protocal name of this plugin, i.e: + tls' + type: string + version: + type: string + type: object + user: + description: The security section of user plugin + properties: + password: + description: Secret defines the key of a value. + properties: + valueFrom: + description: ValueSource defines how to find a value's + key. + properties: + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: 'Name of the referent. More + info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, + kind, uid?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + username: + description: Secret defines the key of a value. + properties: + valueFrom: + description: ValueSource defines how to find a value's + key. + properties: + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: 'Name of the referent. More + info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, + kind, uid?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + type: object + type: object + http: + description: in_http plugin + properties: + addHttpHeaders: + description: Adds HTTP_ prefix headers to the record. + type: boolean + addRemoteAddr: + description: 'Adds REMOTE_ADDR field to the record. The + value of REMOTE_ADDR is the client''s address. i.e: X-Forwarded-For: + host1, host2' + type: string + bind: + description: The port to listen to, default is "0.0.0.0" + type: string + bodySizeLimit: + description: The size limit of the POSTed element. + pattern: ^\d+(KB|MB|GB|TB)$ + type: string + corsAllOrigins: + description: Whitelist domains for CORS. + type: string + corsAllowCredentials: + description: Add Access-Control-Allow-Credentials header. + It's needed when a request's credentials mode is include + type: string + keepaliveTimeout: + description: The timeout limit for keeping the connection + alive. + pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$ + type: string + parse: + description: The parse section of http plugin + properties: + customPatternPath: + description: Path to the file that includes custom grok + patterns. + type: string + estimateCurrentEvent: + description: If true, use Fluent::Eventnow(current time) + as a timestamp when time_key is specified. + type: boolean + expression: + description: Specifies the regular expression for matching + logs. Regular expression also supports i and m suffix. + type: string + grok: + description: Grok Sections + items: + properties: + keepTimeKey: + description: If true, keep time field in the record. + type: boolean + name: + description: The name of this grok section. + type: string + pattern: + description: The pattern of grok. Required parameter. + type: string + timeFormat: + description: Process value using specified format. + This is available only when time_type is string + type: string + timeKey: + description: Specify time field for event time. + If the event doesn't have this field, current + time is used. + type: string + timeZone: + description: Use specified timezone. one can parse/format + the time value in the specified timezone. + type: string + type: object + type: array + grokFailureKey: + description: The key has grok failure reason. + type: string + grokPattern: + description: The pattern of grok. + type: string + grokPatternSeries: + description: Specify grok pattern series set. + type: string + id: + description: The @id parameter specifies a unique name + for the configuration. + type: string + keepTimeKey: + description: If true, keep time field in th record. + type: boolean + localtime: + description: If true, uses local time. + type: boolean + logLevel: + description: The @log_level parameter specifies the + plugin-specific logging level + type: string + multiLineStartRegexp: + description: The regexp to match beginning of multiline. + This is only for "multiline_grok". + type: string + timeFormat: + description: Process value according to the specified + format. This is available only when time_type is string + type: string + timeFormatFallbacks: + description: Uses the specified time format as a fallback + in the specified order. You can parse undetermined + time format by using time_format_fallbacks. This options + is enabled when time_type is mixed. + type: string + timeKey: + description: Specify time field for event time. If the + event doesn't have this field, current time is used. + type: string + timeType: + description: parses/formats value according to this + type, default is string + enum: + - float + - unixtime + - string + - mixed + type: string + timeout: + description: Specify timeout for parse processing. + pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$ + type: string + timezone: + description: Uses the specified timezone. + type: string + type: + description: The @type parameter specifies the type + of the plugin. + enum: + - regexp + - apache2 + - apache_error + - nginx + - syslog + - csv + - tsv + - ltsv + - json + - multiline + - none + - grok + - multiline_grok + type: string + types: + description: 'Specify types for converting field into + another, i.e: types user_id:integer,paid:bool,paid_usd_amount:float' + type: string + utc: + description: If true, uses UTC. + type: boolean + required: + - type + type: object + port: + description: The port to listen to, default is 9880. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + respondsWithEmptyImg: + description: Responds with an empty GIF image of 1x1 pixel + (rather than an empty string). + type: boolean + transport: + description: The transport section of http plugin + properties: + caCertPath: + description: for Cert generated + type: string + caPath: + description: for Cert signed by public CA + type: string + caPrivateKeyPassphrase: + type: string + caPrivateKeyPath: + type: string + certPath: + type: string + certVerifier: + description: other parameters + type: string + ciphers: + type: string + clientCertAuth: + type: boolean + insecure: + type: boolean + privateKeyPassphrase: + type: string + privateKeyPath: + type: string + protocol: + description: 'The protocal name of this plugin, i.e: + tls' + type: string + version: + type: string + type: object + type: object + id: + description: The @id parameter specifies a unique name for the + configuration. + type: string + label: + description: The @label parameter is to route the input events + to