- Introduced Fluent Bit resources including FluentBit, Parser, Output, FluentBitConfig, and ClusterInput. - Configured default resource requests and limits for Fluent Bit. - Set up JSON parser with customizable time key and format. - Established output forwarding to Fluentd service in the logging system. - Enabled conditional deployment based on the `fluentbit.enabled` value in Helm chart. Signed-off-by: zhenyus <zhenyus@mathmast.com>
40082 lines
2.2 MiB
40082 lines
2.2 MiB
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusterfilters.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: ClusterFilter
|
|
listKind: ClusterFilterList
|
|
plural: clusterfilters
|
|
shortNames:
|
|
- cfbf
|
|
singular: clusterfilter
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterFilter defines a cluster-level Filter configuration.
|
|
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: Specification of desired Filter configuration.
|
|
properties:
|
|
filters:
|
|
description: A set of filter plugins in order.
|
|
items:
|
|
properties:
|
|
aws:
|
|
description: Aws defines a Aws configuration.
|
|
properties:
|
|
accountID:
|
|
description: The account ID for current EC2 instance.Default
|
|
is false.
|
|
type: boolean
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
amiID:
|
|
description: The EC2 instance image id.Default is false.
|
|
type: boolean
|
|
az:
|
|
description: The availability zone; for example, "us-east-1a".
|
|
Default is true.
|
|
type: boolean
|
|
ec2InstanceID:
|
|
description: The EC2 instance ID.Default is true.
|
|
type: boolean
|
|
ec2InstanceType:
|
|
description: The EC2 instance type.Default is false.
|
|
type: boolean
|
|
hostName:
|
|
description: The hostname for current EC2 instance.Default
|
|
is false.
|
|
type: boolean
|
|
imdsVersion:
|
|
description: Specify which version of the instance metadata
|
|
service to use. Valid values are 'v1' or 'v2'.
|
|
enum:
|
|
- v1
|
|
- v2
|
|
type: string
|
|
privateIP:
|
|
description: The EC2 instance private ip.Default is false.
|
|
type: boolean
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
vpcID:
|
|
description: The VPC ID for current EC2 instance.Default
|
|
is false.
|
|
type: boolean
|
|
type: object
|
|
customPlugin:
|
|
description: CustomPlugin defines a Custom plugin configuration.
|
|
properties:
|
|
config:
|
|
description: |-
|
|
Config holds any unsupported plugins classic configurations,
|
|
if ConfigFileFormat is set to yaml, this filed will be ignored
|
|
type: string
|
|
yamlConfig:
|
|
description: YamlConfig holds the unsupported plugins yaml
|
|
configurations, it only works when the ConfigFileFormat
|
|
is yaml
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: object
|
|
grep:
|
|
description: Grep defines Grep Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
exclude:
|
|
description: |-
|
|
Exclude records which field matches the regular expression.
|
|
Value Format: FIELD REGEX
|
|
type: string
|
|
regex:
|
|
description: |-
|
|
Keep records which field matches the regular expression.
|
|
Value Format: FIELD REGEX
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
type: object
|
|
kubernetes:
|
|
description: Kubernetes defines Kubernetes Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
annotations:
|
|
description: Include Kubernetes resource annotations in
|
|
the extra metadata.
|
|
type: boolean
|
|
bufferSize:
|
|
description: Set the buffer size for HTTP client when reading
|
|
responses from Kubernetes API server.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
cacheUseDockerId:
|
|
description: When enabled, metadata will be fetched from
|
|
K8s when docker_id is changed.
|
|
type: boolean
|
|
dnsRetries:
|
|
description: DNS lookup retries N times until the network
|
|
start working
|
|
format: int32
|
|
type: integer
|
|
dnsWaitTime:
|
|
description: DNS lookup interval between network status
|
|
checks
|
|
format: int32
|
|
type: integer
|
|
dummyMeta:
|
|
description: If set, use dummy-meta data (for test/dev purposes)
|
|
type: boolean
|
|
k8sLoggingExclude:
|
|
description: |-
|
|
Allow Kubernetes Pods to exclude their logs from the log processor
|
|
(read more about it in Kubernetes Annotations section).
|
|
type: boolean
|
|
k8sLoggingParser:
|
|
description: |-
|
|
Allow Kubernetes Pods to suggest a pre-defined Parser
|
|
(read more about it in Kubernetes Annotations section)
|
|
type: boolean
|
|
keepLog:
|
|
description: |-
|
|
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).
|
|
type: boolean
|
|
kubeCAFile:
|
|
description: CA certificate file
|
|
type: string
|
|
kubeCAPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
kubeMetaCacheTTL:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
kubeMetaNamespaceCacheTTL:
|
|
description: |-
|
|
Configurable TTL for K8s cached namespace metadata.
|
|
By default, it is set to 900 which means a 15min TTL for namespace cache entries.
|
|
Setting this to 0 will mean entries are evicted at random once the cache is full.
|
|
format: int32
|
|
type: integer
|
|
kubeMetaPreloadCacheDir:
|
|
description: |-
|
|
If set, Kubernetes meta-data can be cached/pre-loaded from files in JSON format in this directory,
|
|
named as namespace-pod.meta
|
|
type: string
|
|
kubeTagPrefix:
|
|
description: |-
|
|
When the source records comes from Tail input plugin,
|
|
this option allows to specify what's the prefix used in Tail configuration.
|
|
type: string
|
|
kubeTokenCommand:
|
|
description: |-
|
|
Command to get Kubernetes authorization token.
|
|
By default, it will be NULL and we will use token file to get token.
|
|
type: string
|
|
kubeTokenFile:
|
|
description: Token file
|
|
type: string
|
|
kubeTokenTTL:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
kubeURL:
|
|
description: API Server end-point
|
|
type: string
|
|
kubeletHost:
|
|
description: kubelet host using for HTTP request, this only
|
|
works when Use_Kubelet set to On.
|
|
type: string
|
|
kubeletPort:
|
|
description: kubelet port using for HTTP request, this only
|
|
works when useKubelet is set to On.
|
|
format: int32
|
|
type: integer
|
|
labels:
|
|
description: Include Kubernetes resource labels in the extra
|
|
metadata.
|
|
type: boolean
|
|
mergeLog:
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
mergeLogKey:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
mergeLogTrim:
|
|
description: When Merge_Log is enabled, trim (remove possible
|
|
\n or \r) field values.
|
|
type: boolean
|
|
mergeParser:
|
|
description: Optional parser name to specify how to parse
|
|
the data contained in the log key. Recommended use is
|
|
for developers or testing only.
|
|
type: string
|
|
namespaceAnnotations:
|
|
description: Include Kubernetes namespace resource annotations
|
|
in the extra metadata.
|
|
type: boolean
|
|
namespaceLabels:
|
|
description: Include Kubernetes namespace resource labels
|
|
in the extra metadata.
|
|
type: boolean
|
|
namespaceMetadataOnly:
|
|
description: |-
|
|
Include Kubernetes namespace metadata only and no pod metadata.
|
|
If this is set, the values of Labels and Annotations are ignored.
|
|
type: boolean
|
|
regexParser:
|
|
description: |-
|
|
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).
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
tlsDebug:
|
|
description: Debug level between 0 (nothing) and 4 (every
|
|
detail).
|
|
format: int32
|
|
type: integer
|
|
tlsVerify:
|
|
description: When enabled, turns on certificate validation
|
|
when connecting to the Kubernetes API server.
|
|
type: boolean
|
|
useJournal:
|
|
description: When enabled, the filter reads logs coming
|
|
in Journald format.
|
|
type: boolean
|
|
useKubelet:
|
|
description: |-
|
|
This is an optional feature flag to get metadata information from kubelet
|
|
instead of calling Kube Server API to enhance the log.
|
|
This could mitigate the Kube API heavy traffic issue for large cluster.
|
|
type: boolean
|
|
type: object
|
|
logToMetrics:
|
|
description: LogToMetrics defines a Log to Metrics Filter configuration.
|
|
properties:
|
|
addLabel:
|
|
description: Add a custom label NAME and set the value to
|
|
the value of KEY
|
|
items:
|
|
type: string
|
|
type: array
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
bucket:
|
|
description: Defines a bucket for histogram
|
|
items:
|
|
type: string
|
|
type: array
|
|
discardLogs:
|
|
description: |-
|
|
Flag that defines if logs should be discarded after processing. This applies
|
|
for all logs, no matter if they have emitted metrics or not.
|
|
type: boolean
|
|
emitterMemBufLimit:
|
|
description: set a buffer limit to restrict memory usage
|
|
of metrics emitter
|
|
type: string
|
|
emitterName:
|
|
description: Name of the emitter (advanced users)
|
|
type: string
|
|
exclude:
|
|
description: |-
|
|
Optional filter for records in which the content of KEY does not matches the regular expression.
|
|
Value Format: FIELD REGEX
|
|
items:
|
|
type: string
|
|
type: array
|
|
kubernetesMode:
|
|
description: |-
|
|
If enabled, it will automatically put pod_id, pod_name, namespace_name, docker_id and container_name
|
|
into the metric as labels. This option is intended to be used in combination with the kubernetes filter plugin.
|
|
type: boolean
|
|
labelField:
|
|
description: Includes a record field as label dimension
|
|
in the metric.
|
|
items:
|
|
type: string
|
|
type: array
|
|
metricDescription:
|
|
description: Sets a help text for the metric.
|
|
type: string
|
|
metricMode:
|
|
description: Defines the mode for the metric. Valid values
|
|
are [counter, gauge or histogram]
|
|
type: string
|
|
metricName:
|
|
description: Sets the name of the metric.
|
|
type: string
|
|
metricNamespace:
|
|
description: Namespace of the metric
|
|
type: string
|
|
metricSubsystem:
|
|
description: Sets a sub-system for the metric.
|
|
type: string
|
|
regex:
|
|
description: |-
|
|
Optional filter for records in which the content of KEY matches the regular expression.
|
|
Value Format: FIELD REGEX
|
|
items:
|
|
type: string
|
|
type: array
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
tag:
|
|
description: Defines the tag for the generated metrics record
|
|
type: string
|
|
valueField:
|
|
description: Specify the record field that holds a numerical
|
|
value
|
|
type: string
|
|
type: object
|
|
lua:
|
|
description: Lua defines Lua Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
call:
|
|
description: |-
|
|
Lua function name that will be triggered to do filtering.
|
|
It's assumed that the function is declared inside the Script defined above.
|
|
type: string
|
|
code:
|
|
description: Inline LUA code instead of loading from a path
|
|
via script.
|
|
type: string
|
|
protectedMode:
|
|
description: |-
|
|
If enabled, Lua script will be executed in protected mode.
|
|
It prevents to crash when invalid Lua script is executed. Default is true.
|
|
type: boolean
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
script:
|
|
description: Path to the Lua script that will be used.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
timeAsTable:
|
|
description: |-
|
|
By default when the Lua script is invoked, the record timestamp is passed as a
|
|
Floating number which might lead to loss precision when the data is converted back.
|
|
If you desire timestamp precision enabling this option will pass the timestamp as
|
|
a Lua table with keys sec for seconds since epoch and nsec for nanoseconds.
|
|
type: boolean
|
|
typeArrayKey:
|
|
description: |-
|
|
If these keys are matched, the fields are handled as array. If more than
|
|
one key, delimit by space. It is useful the array can be empty.
|
|
items:
|
|
type: string
|
|
type: array
|
|
typeIntKey:
|
|
description: |-
|
|
If these keys are matched, the fields are converted to integer.
|
|
If more than one key, delimit by space.
|
|
Note that starting from Fluent Bit v1.6 integer data types are preserved
|
|
and not converted to double as in previous versions.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- call
|
|
type: object
|
|
modify:
|
|
description: Modify defines Modify Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
conditions:
|
|
description: All conditions have to be true for the rules
|
|
to be applied.
|
|
items:
|
|
description: The plugin supports the following conditions
|
|
properties:
|
|
aKeyMatches:
|
|
description: Is true if a key matches regex KEY
|
|
type: string
|
|
keyDoesNotExist:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if KEY does not exist
|
|
type: object
|
|
keyExists:
|
|
description: Is true if KEY exists
|
|
type: string
|
|
keyValueDoesNotEqual:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if KEY exists and its value is
|
|
not VALUE
|
|
type: object
|
|
keyValueDoesNotMatch:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if key KEY exists and its value
|
|
does not match VALUE
|
|
type: object
|
|
keyValueEquals:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if KEY exists and its value is
|
|
VALUE
|
|
type: object
|
|
keyValueMatches:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if key KEY exists and its value
|
|
matches VALUE
|
|
type: object
|
|
matchingKeysDoNotHaveMatchingValues:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if all keys matching KEY have
|
|
values that do not match VALUE
|
|
type: object
|
|
matchingKeysHaveMatchingValues:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if all keys matching KEY have
|
|
values that match VALUE
|
|
type: object
|
|
noKeyMatches:
|
|
description: Is true if no key matches regex KEY
|
|
type: string
|
|
type: object
|
|
type: array
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
rules:
|
|
description: |-
|
|
Rules are applied in the order they appear,
|
|
with each rule operating on the result of the previous rule.
|
|
items:
|
|
description: The plugin supports the following rules
|
|
properties:
|
|
add:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a key/value pair with key KEY and
|
|
value VALUE if KEY does not exist
|
|
type: object
|
|
copy:
|
|
additionalProperties:
|
|
type: string
|
|
description: Copy a key/value pair with key KEY to
|
|
COPIED_KEY if KEY exists AND COPIED_KEY does not
|
|
exist
|
|
type: object
|
|
hardCopy:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Copy a key/value pair with key KEY to COPIED_KEY if KEY exists.
|
|
If COPIED_KEY already exists, this field is overwritten
|
|
type: object
|
|
hardRename:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists.
|
|
If RENAMED_KEY already exists, this field is overwritten
|
|
type: object
|
|
remove:
|
|
description: Remove a key/value pair with key KEY
|
|
if it exists
|
|
type: string
|
|
removeRegex:
|
|
description: Remove all key/value pairs with key matching
|
|
regexp KEY
|
|
type: string
|
|
removeWildcard:
|
|
description: Remove all key/value pairs with key matching
|
|
wildcard KEY
|
|
type: string
|
|
rename:
|
|
additionalProperties:
|
|
type: string
|
|
description: Rename a key/value pair with key KEY
|
|
to RENAMED_KEY if KEY exists AND RENAMED_KEY does
|
|
not exist
|
|
type: object
|
|
set:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a key/value pair with key KEY and
|
|
value VALUE. If KEY already exists, this field is
|
|
overwritten
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
multiline:
|
|
description: Multiline defines a Multiline configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
buffer:
|
|
default: false
|
|
type: boolean
|
|
emitterMemBufLimit:
|
|
default: 10
|
|
description: Set a limit on the amount of memory in MB the
|
|
emitter can consume if the outputs provide backpressure.
|
|
The default for this limit is 10M. The pipeline will pause
|
|
once the buffer exceeds the value of this setting. For
|
|
example, if the value is set to 10MB then the pipeline
|
|
will pause if the buffer exceeds 10M. The pipeline will
|
|
remain paused until the output drains the buffer below
|
|
the 10M limit.
|
|
type: integer
|
|
emitterName:
|
|
description: Name for the emitter input instance which re-emits
|
|
the completed records at the beginning of the pipeline.
|
|
type: string
|
|
emitterType:
|
|
default: memory
|
|
description: The storage type for the emitter input instance.
|
|
This option supports the values memory (default) and filesystem.
|
|
enum:
|
|
- memory
|
|
- filesystem
|
|
type: string
|
|
flushMs:
|
|
default: 2000
|
|
type: integer
|
|
keyContent:
|
|
description: |-
|
|
Key name that holds the content to process.
|
|
Note that a Multiline Parser definition can already specify the key_content to use, but this option allows to overwrite that value for the purpose of the filter.
|
|
type: string
|
|
mode:
|
|
enum:
|
|
- parser
|
|
- partial_message
|
|
type: string
|
|
parser:
|
|
description: |-
|
|
Specify one or multiple Multiline Parsing definitions to apply to the content.
|
|
You can specify multiple multiline parsers to detect different formats by separating them with a comma.
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
required:
|
|
- parser
|
|
type: object
|
|
nest:
|
|
description: Nest defines Nest Filter configuration.
|
|
properties:
|
|
addPrefix:
|
|
description: Prefix affected keys with this string
|
|
type: string
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
nestUnder:
|
|
description: Nest records matching the Wildcard under this
|
|
key
|
|
type: string
|
|
nestedUnder:
|
|
description: Lift records nested under the Nested_under
|
|
key
|
|
type: string
|
|
operation:
|
|
description: Select the operation nest or lift
|
|
enum:
|
|
- nest
|
|
- lift
|
|
type: string
|
|
removePrefix:
|
|
description: Remove prefix from affected keys if it matches
|
|
this string
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
wildcard:
|
|
description: Nest records which field matches the wildcard
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
parser:
|
|
description: Parser defines Parser Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
keyName:
|
|
description: Specify field name in record to parse.
|
|
type: string
|
|
parser:
|
|
description: |-
|
|
Specify the parser name to interpret the field.
|
|
Multiple Parser entries are allowed (split by comma).
|
|
type: string
|
|
preserveKey:
|
|
description: |-
|
|
Keep original Key_Name field in the parsed result.
|
|
If false, the field will be removed.
|
|
type: boolean
|
|
reserveData:
|
|
description: |-
|
|
Keep all other original fields in the parsed result.
|
|
If false, all other original fields will be removed.
|
|
type: boolean
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
unescapeKey:
|
|
description: 'If the key is a escaped string (e.g: stringify
|
|
JSON), unescape the string before to apply the parser.'
|
|
type: boolean
|
|
type: object
|
|
recordModifier:
|
|
description: RecordModifier defines Record Modifier Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
allowlistKeys:
|
|
description: If the key is not matched, that field is removed.
|
|
items:
|
|
type: string
|
|
type: array
|
|
records:
|
|
description: Append fields. This parameter needs key and
|
|
value pair.
|
|
items:
|
|
type: string
|
|
type: array
|
|
removeKeys:
|
|
description: If the key is matched, that field is removed.
|
|
items:
|
|
type: string
|
|
type: array
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
uuidKeys:
|
|
description: If set, the plugin appends uuid to each record.
|
|
The value assigned becomes the key in the map.
|
|
items:
|
|
type: string
|
|
type: array
|
|
whitelistKeys:
|
|
description: An alias of allowlistKeys for backwards compatibility.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
rewriteTag:
|
|
description: RewriteTag defines a RewriteTag configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
emitterMemBufLimit:
|
|
type: string
|
|
emitterName:
|
|
description: |-
|
|
When the filter emits a record under the new Tag, there is an internal emitter
|
|
plugin that takes care of the job. Since this emitter expose metrics as any other
|
|
component of the pipeline, you can use this property to configure an optional name for it.
|
|
type: string
|
|
emitterStorageType:
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
rules:
|
|
description: |-
|
|
Defines the matching criteria and the format of the Tag for the matching record.
|
|
The Rule format have four components: KEY REGEX NEW_TAG KEEP.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
throttle:
|
|
description: Throttle defines a Throttle configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
interval:
|
|
description: Interval is the time interval expressed in
|
|
"sleep" format. e.g. 3s, 1.5m, 0.5h, etc.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
printStatus:
|
|
description: PrintStatus represents whether to print status
|
|
messages with current rate and the limits to information
|
|
logs.
|
|
type: boolean
|
|
rate:
|
|
description: Rate is the amount of messages for the time.
|
|
format: int64
|
|
type: integer
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
window:
|
|
description: Window is the amount of intervals to calculate
|
|
average over.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
wasm:
|
|
description: Wasm defines a Wasm configuration.
|
|
properties:
|
|
accessiblePaths:
|
|
description: Specify the whitelist of paths to be able to
|
|
access paths from WASM programs.
|
|
items:
|
|
type: string
|
|
type: array
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
eventFormat:
|
|
description: 'Define event format to interact with Wasm
|
|
programs: msgpack or json. Default: json'
|
|
type: string
|
|
functionName:
|
|
description: Wasm function name that will be triggered to
|
|
do filtering. It's assumed that the function is built
|
|
inside the Wasm program specified above.
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
wasmHeapSize:
|
|
description: Size of the heap size of Wasm execution. Review
|
|
unit sizes for allowed values.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
wasmPath:
|
|
description: Path to the built Wasm program that will be
|
|
used. This can be a relative path against the main configuration
|
|
file.
|
|
type: string
|
|
wasmStackSize:
|
|
description: Size of the stack size of Wasm execution. Review
|
|
unit sizes for allowed values.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
logLevel:
|
|
enum:
|
|
- "off"
|
|
- error
|
|
- warning
|
|
- info
|
|
- debug
|
|
- trace
|
|
type: string
|
|
match:
|
|
description: |-
|
|
A pattern to match against the tags of incoming records.
|
|
It's case-sensitive and support the star (*) character as a wildcard.
|
|
type: string
|
|
matchRegex:
|
|
description: |-
|
|
A regular expression to match against the tags of incoming records.
|
|
Use this option if you want to use the full regex syntax.
|
|
type: string
|
|
ordinal:
|
|
description: An ordinal to influence filter ordering
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusterfilters.fluentd.fluent.io
|
|
spec:
|
|
group: fluentd.fluent.io
|
|
names:
|
|
kind: ClusterFilter
|
|
listKind: ClusterFilterList
|
|
plural: clusterfilters
|
|
shortNames:
|
|
- cfdf
|
|
singular: clusterfilter
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterFilter is the Schema for the clusterfilters 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: ClusterFilterSpec defines the desired state of ClusterFilter
|
|
properties:
|
|
filters:
|
|
items:
|
|
description: Filter defines all available filter plugins and their
|
|
parameters.
|
|
properties:
|
|
customPlugin:
|
|
description: Custom plugin type
|
|
properties:
|
|
config:
|
|
type: string
|
|
required:
|
|
- config
|
|
type: object
|
|
grep:
|
|
description: The filter_grep filter plugin
|
|
properties:
|
|
and:
|
|
items:
|
|
description: And defines the parameters for the "and"
|
|
plugin
|
|
properties:
|
|
exclude:
|
|
description: Exclude defines the parameters for the
|
|
exclude plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
regexp:
|
|
description: Regexp defines the parameters for the
|
|
regexp plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
exclude:
|
|
items:
|
|
description: Exclude defines the parameters for the exclude
|
|
plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
or:
|
|
items:
|
|
description: Or defines the parameters for the "or" plugin
|
|
properties:
|
|
exclude:
|
|
description: Exclude defines the parameters for the
|
|
exclude plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
regexp:
|
|
description: Regexp defines the parameters for the
|
|
regexp plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
regexp:
|
|
items:
|
|
description: Regexp defines the parameters for the regexp
|
|
plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
parser:
|
|
description: The filter_parser filter plugin
|
|
properties:
|
|
emitInvalidRecordToError:
|
|
description: |-
|
|
Emits invalid record to @ERROR label. Invalid cases are: key does not exist;the format is not matched;an unexpected error.
|
|
If you want to ignore these errors, set false.
|
|
type: boolean
|
|
hashValueField:
|
|
description: Stores the parsed values as a hash value in
|
|
a field.
|
|
type: string
|
|
injectKeyPrefix:
|
|
description: Stores the parsed values with the specified
|
|
key name prefix.
|
|
type: string
|
|
keyName:
|
|
description: |-
|
|
Specifies the field name in the record to parse. Required parameter.
|
|
i.e: If set keyName to log, {"key":"value","log":"{\"time\":1622473200,\"user\":1}"} => {"user":1}
|
|
type: string
|
|
parse:
|
|
description: Parse defines various parameters for the parse
|
|
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
|
|
removeKeyNameField:
|
|
description: Removes key_name field when parsing is succeeded.
|
|
type: boolean
|
|
replaceInvalidSequence:
|
|
description: If true, invalid string is replaced with safe
|
|
characters and re-parse it.
|
|
type: boolean
|
|
reserveData:
|
|
description: |-
|
|
Keeps the original key-value pair in the parsed result. Default is false.
|
|
i.e: If set keyName to log, reverseData to true,
|
|
{"key":"value","log":"{\"user\":1,\"num\":2}"} => {"key":"value","log":"{\"user\":1,\"num\":2}","user":1,"num":2}
|
|
type: boolean
|
|
reserveTime:
|
|
description: Keeps the original event time in the parsed
|
|
result. Default is false.
|
|
type: boolean
|
|
required:
|
|
- keyName
|
|
- parse
|
|
type: object
|
|
recordTransformer:
|
|
description: The filter_record_transformer filter plugin
|
|
properties:
|
|
autoTypecast:
|
|
description: |-
|
|
Automatically casts the field types. Default is false.
|
|
This option is effective only for field values comprised of a single placeholder.
|
|
type: boolean
|
|
enableRuby:
|
|
description: |-
|
|
When set to true, the full Ruby syntax is enabled in the ${...} expression. The default value is false.
|
|
i.e: jsonized_record ${record.to_json}
|
|
type: boolean
|
|
keepKeys:
|
|
description: A list of keys to keep. Only relevant if renew_record
|
|
is set to true.
|
|
type: string
|
|
records:
|
|
items:
|
|
description: The parameters inside <record> directives
|
|
are considered to be new key-value pairs
|
|
properties:
|
|
key:
|
|
description: New field can be defined as key
|
|
type: string
|
|
value:
|
|
description: |-
|
|
The value must from Record properties.
|
|
See https://docs.fluentd.org/filter/record_transformer#less-than-record-greater-than-directive
|
|
type: string
|
|
required:
|
|
- key
|
|
- value
|
|
type: object
|
|
type: array
|
|
removeKeys:
|
|
description: A list of keys to delete. Supports nested field
|
|
via record_accessor syntax since v1.1.0.
|
|
type: string
|
|
renewRecord:
|
|
description: By default, the record transformer filter mutates
|
|
the incoming data. However, if this parameter is set to
|
|
true, it modifies a new empty hash instead.
|
|
type: boolean
|
|
renewTimeKey:
|
|
description: renew_time_key foo overwrites the time of events
|
|
with a value of the record field foo if exists. The value
|
|
of foo must be a Unix timestamp.
|
|
type: string
|
|
type: object
|
|
stdout:
|
|
description: The filter_stdout filter plugin
|
|
properties:
|
|
format:
|
|
description: The format section
|
|
properties:
|
|
delimiter:
|
|
description: Delimiter for each field.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique name
|
|
for the configuration.
|
|
type: string
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
logLevel:
|
|
description: The @log_level parameter specifies the
|
|
plugin-specific logging level
|
|
type: string
|
|
newline:
|
|
description: Specify newline characters.
|
|
enum:
|
|
- lf
|
|
- crlf
|
|
type: string
|
|
outputTag:
|
|
description: Output tag field if true.
|
|
type: boolean
|
|
outputTime:
|
|
description: Output time field if true.
|
|
type: boolean
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this
|
|
type, default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type
|
|
of the plugin.
|
|
enum:
|
|
- out_file
|
|
- json
|
|
- ltsv
|
|
- csv
|
|
- msgpack
|
|
- hash
|
|
- single_value
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
type: object
|
|
inject:
|
|
description: The inject section
|
|
properties:
|
|
hostname:
|
|
description: Hostname value
|
|
type: string
|
|
hostnameKey:
|
|
description: The field name to inject hostname
|
|
type: string
|
|
inline:
|
|
description: Time section
|
|
properties:
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this
|
|
type, default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
type: object
|
|
tagKey:
|
|
description: The field name to inject tag
|
|
type: string
|
|
timeKey:
|
|
description: The field name to inject time
|
|
type: string
|
|
workerIdKey:
|
|
description: The field name to inject worker_id
|
|
type: string
|
|
type: object
|
|
type: object
|
|
tag:
|
|
description: Which tag to be matched.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: ClusterFilterStatus defines the observed state of ClusterFilter
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusterfluentbitconfigs.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: ClusterFluentBitConfig
|
|
listKind: ClusterFluentBitConfigList
|
|
plural: clusterfluentbitconfigs
|
|
shortNames:
|
|
- cfbc
|
|
singular: clusterfluentbitconfig
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterFluentBitConfig is the Schema for the cluster-level fluentbitconfigs
|
|
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: FluentBitConfigSpec defines the desired state of ClusterFluentBitConfig
|
|
properties:
|
|
configFileFormat:
|
|
description: |-
|
|
ConfigFileFormat defines the format of the config file, default is "classic",
|
|
available options are "classic" and "yaml"
|
|
enum:
|
|
- classic
|
|
- yaml
|
|
type: string
|
|
filterSelector:
|
|
description: Select filter 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
inputSelector:
|
|
description: Select 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
multilineParserSelector:
|
|
description: Select multiline parser 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespace:
|
|
description: |-
|
|
If namespace is defined, then the configmap and secret for fluent-bit is in this namespace.
|
|
If it is not defined, it is in the namespace of the fluentd-operator
|
|
type: string
|
|
outputSelector:
|
|
description: Select output 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
parserSelector:
|
|
description: Select parser 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
service:
|
|
description: Service defines the global behaviour of the Fluent Bit
|
|
engine.
|
|
properties:
|
|
daemon:
|
|
description: If true go to background on start
|
|
type: boolean
|
|
emitterMemBufLimit:
|
|
type: string
|
|
emitterName:
|
|
description: Per-namespace re-emitter configuration
|
|
type: string
|
|
emitterStorageType:
|
|
type: string
|
|
flushSeconds:
|
|
description: Interval to flush output
|
|
type: number
|
|
graceSeconds:
|
|
description: Wait time on exit
|
|
format: int64
|
|
type: integer
|
|
hcErrorsCount:
|
|
description: 'the error count to meet the unhealthy requirement,
|
|
this is a sum for all output plugins in a defined HC_Period,
|
|
example for output error: [2022/02/16 10:44:10] [ warn] [engine]
|
|
failed to flush chunk ''1-1645008245.491540684.flb'', retry
|
|
in 7 seconds: task_id=0, input=forward.1 > output=cloudwatch_logs.3
|
|
(out_id=3)'
|
|
format: int64
|
|
minimum: 1
|
|
type: integer
|
|
hcPeriod:
|
|
description: The time period by second to count the error and
|
|
retry failure data point
|
|
format: int64
|
|
minimum: 1
|
|
type: integer
|
|
hcRetryFailureCount:
|
|
description: 'the retry failure count to meet the unhealthy requirement,
|
|
this is a sum for all output plugins in a defined HC_Period,
|
|
example for retry failure: [2022/02/16 20:11:36] [ warn] [engine]
|
|
chunk ''1-1645042288.260516436.flb'' cannot be retried: task_id=0,
|
|
input=tcp.3 > output=cloudwatch_logs.1'
|
|
format: int64
|
|
minimum: 1
|
|
type: integer
|
|
healthCheck:
|
|
description: 'enable Health check feature at http://127.0.0.1:2020/api/v1/health
|
|
Note: Enabling this will not automatically configure kubernetes
|
|
to use fluentbit''s healthcheck endpoint'
|
|
type: boolean
|
|
hotReload:
|
|
description: If true enable reloading via HTTP
|
|
type: boolean
|
|
httpListen:
|
|
description: Address to listen
|
|
pattern: ^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$
|
|
type: string
|
|
httpPort:
|
|
description: Port to listen
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
httpServer:
|
|
description: If true enable statistics HTTP server
|
|
type: boolean
|
|
logFile:
|
|
description: File to log diagnostic output
|
|
type: string
|
|
logLevel:
|
|
description: Diagnostic level (error/warning/info/debug/trace)
|
|
enum:
|
|
- "off"
|
|
- error
|
|
- warning
|
|
- info
|
|
- debug
|
|
- trace
|
|
type: string
|
|
parsersFile:
|
|
description: Optional 'parsers' config file (can be multiple)
|
|
type: string
|
|
parsersFiles:
|
|
description: backward compatible
|
|
items:
|
|
type: string
|
|
type: array
|
|
storage:
|
|
description: Configure a global environment for the storage layer
|
|
in Service. It is recommended to configure the volume and volumeMount
|
|
separately for this storage. The hostPath type should be used
|
|
for that Volume in Fluentbit daemon set.
|
|
properties:
|
|
backlogMemLimit:
|
|
description: This option configure a hint of maximum value
|
|
of memory to use when processing these records
|
|
type: string
|
|
checksum:
|
|
description: Enable the data integrity check when writing
|
|
and reading data from the filesystem
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
deleteIrrecoverableChunks:
|
|
description: When enabled, irrecoverable chunks will be deleted
|
|
during runtime, and any other irrecoverable chunk located
|
|
in the configured storage path directory will be deleted
|
|
when Fluent-Bit starts.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
maxChunksUp:
|
|
description: If the input plugin has enabled filesystem storage
|
|
type, this property sets the maximum number of Chunks that
|
|
can be up in memory
|
|
format: int64
|
|
type: integer
|
|
metrics:
|
|
description: If http_server option has been enabled in the
|
|
Service section, this option registers a new endpoint where
|
|
internal metrics of the storage layer can be consumed
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
path:
|
|
description: Select an optional location in the file system
|
|
to store streams and chunks of data/
|
|
type: string
|
|
sync:
|
|
description: Configure the synchronization mode used to store
|
|
the data into the file system
|
|
enum:
|
|
- normal
|
|
- full
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusterfluentdconfigs.fluentd.fluent.io
|
|
spec:
|
|
group: fluentd.fluent.io
|
|
names:
|
|
kind: ClusterFluentdConfig
|
|
listKind: ClusterFluentdConfigList
|
|
plural: clusterfluentdconfigs
|
|
shortNames:
|
|
- cfdc
|
|
singular: clusterfluentdconfig
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterFluentdConfig is the Schema for the clusterfluentdconfigs
|
|
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: ClusterFluentdConfigSpec defines the desired state of ClusterFluentdConfig
|
|
properties:
|
|
clusterFilterSelector:
|
|
description: Select cluster filter 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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:
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
emit_mode:
|
|
description: |-
|
|
Emit mode. If batch, the plugin will emit events per labels matched. Enum: record, batch.
|
|
will make no effect if EnableFilterKubernetes is set false.
|
|
enum:
|
|
- record
|
|
- batch
|
|
type: string
|
|
stickyTags:
|
|
description: |-
|
|
Sticky tags will match only one record from an event stream. The same tag will be treated the same way.
|
|
will make no effect if EnableFilterKubernetes is set false.
|
|
type: string
|
|
watchedConstainers:
|
|
description: A set of container names. Ignored if left empty.
|
|
items:
|
|
type: string
|
|
type: array
|
|
watchedHosts:
|
|
description: A set of hosts. Ignored if left empty.
|
|
items:
|
|
type: string
|
|
type: array
|
|
watchedLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Use this field to filter the logs, will make no effect
|
|
if EnableFilterKubernetes is set false.
|
|
type: object
|
|
watchedNamespaces:
|
|
description: A set of namespaces. The whole namespaces would be watched
|
|
if left empty.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: ClusterFluentdConfigStatus defines the observed state of
|
|
ClusterFluentdConfig
|
|
properties:
|
|
messages:
|
|
description: Messages defines the plugin errors which is selected
|
|
by this fluentdconfig
|
|
type: string
|
|
state:
|
|
description: The state of this fluentd config
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusterinputs.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: ClusterInput
|
|
listKind: ClusterInputList
|
|
plural: clusterinputs
|
|
shortNames:
|
|
- cfbi
|
|
singular: clusterinput
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterInput is the Schema for the inputs 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: InputSpec defines the desired state of ClusterInput
|
|
properties:
|
|
alias:
|
|
description: |-
|
|
A user friendly alias name for this input plugin.
|
|
Used in metrics for distinction of each configured input.
|
|
type: string
|
|
collectd:
|
|
description: Collectd defines the Collectd input plugin configuration
|
|
properties:
|
|
listen:
|
|
description: 'Set the address to listen to, default: 0.0.0.0'
|
|
type: string
|
|
port:
|
|
description: 'Set the port to listen to, default: 25826'
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
typesDB:
|
|
description: 'Set the data specification file,default: /usr/share/collectd/types.db'
|
|
type: string
|
|
type: object
|
|
customPlugin:
|
|
description: CustomPlugin defines Custom Input configuration.
|
|
properties:
|
|
config:
|
|
description: |-
|
|
Config holds any unsupported plugins classic configurations,
|
|
if ConfigFileFormat is set to yaml, this filed will be ignored
|
|
type: string
|
|
yamlConfig:
|
|
description: YamlConfig holds the unsupported plugins yaml configurations,
|
|
it only works when the ConfigFileFormat is yaml
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: object
|
|
dummy:
|
|
description: Dummy defines Dummy Input configuration.
|
|
properties:
|
|
dummy:
|
|
description: Dummy JSON record.
|
|
type: string
|
|
rate:
|
|
description: Events number generated per second.
|
|
format: int32
|
|
type: integer
|
|
samples:
|
|
description: Sample events to generate.
|
|
format: int32
|
|
type: integer
|
|
tag:
|
|
description: Tag name associated to all records comming from this
|
|
plugin.
|
|
type: string
|
|
type: object
|
|
execWasi:
|
|
description: ExecWasi defines the exec wasi input plugin configuration
|
|
properties:
|
|
accessiblePaths:
|
|
description: Specify the whitelist of paths to be able to access
|
|
paths from WASM programs.
|
|
items:
|
|
type: string
|
|
type: array
|
|
bufSize:
|
|
description: Size of the buffer (check unit sizes for allowed
|
|
values)
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
intervalNSec:
|
|
description: Polling interval (nanoseconds).
|
|
format: int64
|
|
type: integer
|
|
intervalSec:
|
|
description: Polling interval (seconds).
|
|
format: int32
|
|
type: integer
|
|
parser:
|
|
description: Specify the name of a parser to interpret the entry
|
|
as a structured message.
|
|
type: string
|
|
threaded:
|
|
description: 'Indicates whether to run this input in its own thread.
|
|
Default: false.'
|
|
type: boolean
|
|
wasiPath:
|
|
description: The place of a WASM program file.
|
|
type: string
|
|
wasmHeapSize:
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
wasmStackSize:
|
|
description: Size of the stack size of Wasm execution. Review
|
|
unit sizes for allowed values.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
type: object
|
|
fluentBitMetrics:
|
|
description: FluentBitMetrics defines Fluent Bit Metrics Input configuration.
|
|
properties:
|
|
scrapeInterval:
|
|
description: The rate at which metrics are collected from the
|
|
host operating system. default is 2 seconds.
|
|
type: string
|
|
scrapeOnStart:
|
|
description: Scrape metrics upon start, useful to avoid waiting
|
|
for 'scrape_interval' for the first round of metrics.
|
|
type: boolean
|
|
tag:
|
|
type: string
|
|
type: object
|
|
forward:
|
|
description: Forward defines forward input plugin configuration
|
|
properties:
|
|
bufferMaxSize:
|
|
description: |-
|
|
Specify maximum buffer memory size used to recieve a forward message.
|
|
The value must be according to the Unit Size specification.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
bufferchunkSize:
|
|
description: |-
|
|
Set the initial buffer size to store incoming data.
|
|
This value is used too to increase buffer size as required.
|
|
The value must be according to the Unit Size specification.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
listen:
|
|
description: Listener network interface.
|
|
type: string
|
|
port:
|
|
description: Port for forward plugin instance.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
tag:
|
|
description: in_forward uses the tag value for incoming logs.
|
|
If not set it uses tag from incoming log.
|
|
type: string
|
|
tagPrefix:
|
|
description: Adds the prefix to incoming event's tag
|
|
type: string
|
|
threaded:
|
|
description: Threaded mechanism allows input plugin to run in
|
|
a separate thread which helps to desaturate the main pipeline.
|
|
type: string
|
|
unixPath:
|
|
description: Specify the path to unix socket to recieve a forward
|
|
message. If set, Listen and port are ignnored.
|
|
type: string
|
|
unixPerm:
|
|
description: Set the permission of unix socket file.
|
|
type: string
|
|
type: object
|
|
http:
|
|
description: HTTP defines the HTTP input plugin configuration
|
|
properties:
|
|
bufferChunkSize:
|
|
description: |-
|
|
This sets the chunk size for incoming incoming JSON messages.
|
|
These chunks are then stored/managed in the space available by buffer_max_size,default 512K.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
bufferMaxSize:
|
|
description: Specify the maximum buffer size in KB to receive
|
|
a JSON message,default 4M.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
listen:
|
|
description: The address to listen on,default 0.0.0.0
|
|
type: string
|
|
port:
|
|
description: The port for Fluent Bit to listen on,default 9880
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
successfulHeader:
|
|
description: 'Add an HTTP header key/value pair on success. Multiple
|
|
headers can be set. Example: X-Custom custom-answer.'
|
|
type: string
|
|
successfulResponseCode:
|
|
description: It allows to set successful response code. 200, 201
|
|
and 204 are supported,default 201.
|
|
format: int32
|
|
type: integer
|
|
tagKey:
|
|
description: Specify the key name to overwrite a tag. If set,
|
|
the tag will be overwritten by a value of the key.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
type: object
|
|
kubernetesEvents:
|
|
description: KubernetesEvents defines the KubernetesEvents input plugin
|
|
configuration
|
|
properties:
|
|
db:
|
|
description: Set a database file to keep track of recorded Kubernetes
|
|
events
|
|
type: string
|
|
dbSync:
|
|
description: 'Set a database sync method. values: extra, full,
|
|
normal and off'
|
|
type: string
|
|
intervalNsec:
|
|
description: 'Set the polling interval for each channel (sub seconds:
|
|
nanoseconds).'
|
|
format: int64
|
|
type: integer
|
|
intervalSec:
|
|
description: Set the polling interval for each channel.
|
|
format: int32
|
|
type: integer
|
|
kubeCAFile:
|
|
description: CA certificate file
|
|
type: string
|
|
kubeCAPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
kubeNamespace:
|
|
description: Kubernetes namespace to query events from. Gets events
|
|
from all namespaces by default
|
|
type: string
|
|
kubeRequestLimit:
|
|
description: kubernetes limit parameter for events query, no limit
|
|
applied when set to 0.
|
|
format: int32
|
|
type: integer
|
|
kubeRetentionTime:
|
|
description: Kubernetes retention time for events.
|
|
type: string
|
|
kubeTokenFile:
|
|
description: Token file
|
|
type: string
|
|
kubeTokenTTL:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
kubeURL:
|
|
description: API Server end-point
|
|
type: string
|
|
tag:
|
|
description: Tag name associated to all records comming from this
|
|
plugin.
|
|
type: string
|
|
tlsDebug:
|
|
description: Debug level between 0 (nothing) and 4 (every detail).
|
|
format: int32
|
|
type: integer
|
|
tlsVerify:
|
|
description: When enabled, turns on certificate validation when
|
|
connecting to the Kubernetes API server.
|
|
type: boolean
|
|
tlsVhost:
|
|
description: Set optional TLS virtual host.
|
|
type: string
|
|
type: object
|
|
logLevel:
|
|
enum:
|
|
- "off"
|
|
- error
|
|
- warning
|
|
- info
|
|
- debug
|
|
- trace
|
|
type: string
|
|
mqtt:
|
|
description: MQTT defines the MQTT input plugin configuration
|
|
properties:
|
|
listen:
|
|
description: 'Listener network interface, default: 0.0.0.0'
|
|
type: string
|
|
port:
|
|
description: 'TCP port where listening for connections, default:
|
|
1883'
|
|
format: int32
|
|
maximum: 65535
|
|
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.
|
|
properties:
|
|
path:
|
|
properties:
|
|
procfs:
|
|
description: The mount point used to collect process information
|
|
and metrics.
|
|
type: string
|
|
sysfs:
|
|
description: The path in the filesystem used to collect system
|
|
metrics.
|
|
type: string
|
|
type: object
|
|
scrapeInterval:
|
|
description: The rate at which metrics are collected from the
|
|
host operating system, default is 5 seconds.
|
|
type: string
|
|
tag:
|
|
description: Tag name associated to all records comming from this
|
|
plugin.
|
|
type: string
|
|
type: object
|
|
openTelemetry:
|
|
description: OpenTelemetry defines the OpenTelemetry input plugin
|
|
configuration
|
|
properties:
|
|
bufferChunkSize:
|
|
description: This sets the chunk size for incoming incoming JSON
|
|
messages. These chunks are then stored/managed in the space
|
|
available by buffer_max_size(default 512K).
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
bufferMaxSize:
|
|
description: Specify the maximum buffer size in KB to receive
|
|
a JSON message(default 4M).
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
listen:
|
|
description: The address to listen on,default 0.0.0.0
|
|
type: string
|
|
port:
|
|
description: The port for Fluent Bit to listen on.default 4318.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
rawTraces:
|
|
description: Route trace data as a log message(default false).
|
|
type: boolean
|
|
successfulResponseCode:
|
|
description: It allows to set successful response code. 200, 201
|
|
and 204 are supported(default 201).
|
|
format: int32
|
|
type: integer
|
|
tag:
|
|
description: opentelemetry uses the tag value for incoming metrics.
|
|
type: string
|
|
tagFromURI:
|
|
description: If true, tag will be created from uri. e.g. v1_metrics
|
|
from /v1/metrics
|
|
type: boolean
|
|
tagKey:
|
|
description: Specify the key name to overwrite a tag. If set,
|
|
the tag will be overwritten by a value of the key.
|
|
type: string
|
|
type: object
|
|
processors:
|
|
description: Processors defines the processors configuration
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
prometheusScrapeMetrics:
|
|
description: PrometheusScrapeMetrics defines Prometheus Scrape Metrics
|
|
Input configuration.
|
|
properties:
|
|
host:
|
|
description: The host of the prometheus metric endpoint that you
|
|
want to scrape
|
|
type: string
|
|
metricsPath:
|
|
description: 'The metrics URI endpoint, that must start with a
|
|
forward slash, deflaut: /metrics'
|
|
type: string
|
|
port:
|
|
description: The port of the promethes metric endpoint that you
|
|
want to scrape
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
scrapeInterval:
|
|
description: 'The interval to scrape metrics, default: 10s'
|
|
type: string
|
|
tag:
|
|
description: Tag name associated to all records comming from this
|
|
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:
|
|
db:
|
|
description: Specify the database file to keep track of monitored
|
|
files and offsets.
|
|
type: string
|
|
dbSync:
|
|
description: |-
|
|
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.
|
|
note: this option was introduced on Fluent Bit v1.4.6.
|
|
enum:
|
|
- Extra
|
|
- Full
|
|
- Normal
|
|
- "Off"
|
|
type: string
|
|
maxEntries:
|
|
description: |-
|
|
When Fluent Bit starts, the Journal might have a high number of logs in the queue.
|
|
In order to avoid delays and reduce memory usage, this option allows to specify the maximum number of log entries that can be processed per round.
|
|
Once the limit is reached, Fluent Bit will continue processing the remaining log entries once Journald performs the notification.
|
|
type: integer
|
|
maxFields:
|
|
description: Set a maximum number of fields (keys) allowed per
|
|
record.
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
Optional path to the Systemd journal directory,
|
|
if not set, the plugin will use default paths to read local-only logs.
|
|
type: string
|
|
pauseOnChunksOverlimit:
|
|
description: Specifies if the input plugin should be paused (stop
|
|
ingesting new data) when the storage.max_chunks_up value is
|
|
reached.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
readFromTail:
|
|
description: Start reading new entries. Skip entries already stored
|
|
in Journald.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
storageType:
|
|
description: Specify the buffering mechanism to use. It can be
|
|
memory or filesystem
|
|
enum:
|
|
- filesystem
|
|
- memory
|
|
type: string
|
|
stripUnderscores:
|
|
description: Remove the leading underscore of the Journald field
|
|
(key). For example the Journald field _PID becomes the key PID.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
systemdFilter:
|
|
description: |-
|
|
Allows to perform a query over logs that contains a specific Journald key/value pairs, e.g: _SYSTEMD_UNIT=UNIT.
|
|
The Systemd_Filter option can be specified multiple times in the input section to apply multiple filters as required.
|
|
items:
|
|
type: string
|
|
type: array
|
|
systemdFilterType:
|
|
description: |-
|
|
Define the filter type when Systemd_Filter is specified multiple times. Allowed values are And and Or.
|
|
With And a record is matched only when all of the Systemd_Filter have a match.
|
|
With Or a record is matched when any of the Systemd_Filter has a match.
|
|
enum:
|
|
- And
|
|
- Or
|
|
type: string
|
|
tag:
|
|
description: |-
|
|
The tag is used to route messages but on Systemd plugin there is an extra functionality:
|
|
if the tag includes a star/wildcard, it will be expanded with the Systemd Unit file (e.g: host.* => host.UNIT_NAME).
|
|
type: string
|
|
type: object
|
|
tail:
|
|
description: Tail defines Tail Input configuration.
|
|
properties:
|
|
bufferChunkSize:
|
|
description: |-
|
|
Set the initial buffer size to read files data.
|
|
This value is used too to increase buffer size.
|
|
The value must be according to the Unit Size specification.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
bufferMaxSize:
|
|
description: |-
|
|
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.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
db:
|
|
description: Specify the database file to keep track of monitored
|
|
files and offsets.
|
|
type: string
|
|
dbSync:
|
|
description: 'Set a default synchronization (I/O) method. Values:
|
|
Extra, Full, Normal, Off.'
|
|
enum:
|
|
- Extra
|
|
- Full
|
|
- Normal
|
|
- "Off"
|
|
type: string
|
|
disableInotifyWatcher:
|
|
description: DisableInotifyWatcher will disable inotify and use
|
|
the file stat watcher instead.
|
|
type: boolean
|
|
dockerMode:
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
dockerModeFlushSeconds:
|
|
description: Wait period time in seconds to flush queued unfinished
|
|
split lines.
|
|
format: int64
|
|
type: integer
|
|
dockerModeParser:
|
|
description: Specify an optional parser for the first line of
|
|
the docker multiline mode. The parser name to be specified must
|
|
be registered in the parsers.conf file.
|
|
type: string
|
|
excludePath:
|
|
description: |-
|
|
Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria,
|
|
e.g: exclude_path=*.gz,*.zip
|
|
type: string
|
|
ignoredOlder:
|
|
description: |-
|
|
Ignores records which are older than this time in seconds.
|
|
Supports m,h,d (minutes, hours, days) syntax.
|
|
Default behavior is to read all records from specified files.
|
|
Only available when a Parser is specificied and it can parse the time of a record.
|
|
pattern: ^\d+(m|h|d)?$
|
|
type: string
|
|
key:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
memBufLimit:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
multiline:
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
multilineFlushSeconds:
|
|
description: Wait period time in seconds to process queued multiline
|
|
messages
|
|
format: int64
|
|
type: integer
|
|
multilineParser:
|
|
description: |-
|
|
This will help to reassembly multiline messages originally split by Docker or CRI
|
|
Specify one or Multiline Parser definition to apply to the content.
|
|
type: string
|
|
offsetKey:
|
|
description: |-
|
|
If enabled, Fluent Bit appends the offset of the current monitored file as part of the record.
|
|
The value assigned becomes the key in the map
|
|
type: string
|
|
parser:
|
|
description: Specify the name of a parser to interpret the entry
|
|
as a structured message.
|
|
type: string
|
|
parserFirstline:
|
|
description: |-
|
|
Name of the parser that matchs the beginning of a multiline message.
|
|
Note that the regular expression defined in the parser must include a group name (named capture)
|
|
type: string
|
|
parserN:
|
|
description: |-
|
|
Optional-extra parser to interpret and structure multiline entries.
|
|
This option can be used to define multiple parsers.
|
|
items:
|
|
type: string
|
|
type: array
|
|
path:
|
|
description: Pattern specifying a specific log files or multiple
|
|
ones through the use of common wildcards.
|
|
type: string
|
|
pathKey:
|
|
description: |-
|
|
If enabled, it appends the name of the monitored file as part of the record.
|
|
The value assigned becomes the key in the map.
|
|
type: string
|
|
pauseOnChunksOverlimit:
|
|
description: Specifies if the input plugin should be paused (stop
|
|
ingesting new data) when the storage.max_chunks_up value is
|
|
reached.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
readFromHead:
|
|
description: |-
|
|
For new discovered files on start (without a database offset/position),
|
|
read the content from the head of the file, not tail.
|
|
type: boolean
|
|
refreshIntervalSeconds:
|
|
description: The interval of refreshing the list of watched files
|
|
in seconds.
|
|
format: int64
|
|
type: integer
|
|
rotateWaitSeconds:
|
|
description: Specify the number of extra time in seconds to monitor
|
|
a file once is rotated in case some pending data is flushed.
|
|
format: int64
|
|
type: integer
|
|
skipEmptyLines:
|
|
description: Skips empty lines in the log file from any further
|
|
processing or output.
|
|
type: boolean
|
|
skipLongLines:
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
storageType:
|
|
description: Specify the buffering mechanism to use. It can be
|
|
memory or filesystem
|
|
enum:
|
|
- filesystem
|
|
- memory
|
|
type: string
|
|
tag:
|
|
description: |-
|
|
Set a tag (with regex-extract fields) that will be placed on lines read.
|
|
E.g. kube.<namespace_name>.<pod_name>.<container_name>
|
|
type: string
|
|
tagRegex:
|
|
description: Set a regex to exctract fields from the file
|
|
type: string
|
|
threaded:
|
|
description: Threaded mechanism allows input plugin to run in
|
|
a separate thread which helps to desaturate the main pipeline.
|
|
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
|
|
udp:
|
|
description: UDP defines the UDP input plugin configuration
|
|
properties:
|
|
bufferSize:
|
|
description: |-
|
|
BufferSize 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: |-
|
|
Format 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: 'Listen Listener network interface, default: 0.0.0.0'
|
|
type: string
|
|
port:
|
|
description: 'Port Specify the UDP port where listening for connections,
|
|
default: 5170'
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
separator:
|
|
description: Separator 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
|
|
sourceAddressKey:
|
|
description: SourceAddressKey Specify the key where the source
|
|
address will be injected.
|
|
type: string
|
|
threaded:
|
|
description: Threaded mechanism allows input plugin to run in
|
|
a separate thread which helps to desaturate the main pipeline.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
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. <client> 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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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 <label> sections.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
monitorAgent:
|
|
description: monitor_agent plugin
|
|
properties:
|
|
bind:
|
|
description: The bind address to listen to.
|
|
type: string
|
|
emitInterval:
|
|
description: The interval time between event emits. This
|
|
will be used when "tag" is configured.
|
|
format: int64
|
|
type: integer
|
|
includeConfig:
|
|
description: You can set this option to false to remove
|
|
the config field from the response.
|
|
type: boolean
|
|
includeRetry:
|
|
description: You can set this option to false to remove
|
|
the retry field from the response.
|
|
type: boolean
|
|
port:
|
|
description: The port to listen to.
|
|
format: int64
|
|
type: integer
|
|
tag:
|
|
description: If you set this parameter, this plugin emits
|
|
metrics as records.
|
|
type: string
|
|
type: object
|
|
sample:
|
|
description: in_sample plugin
|
|
properties:
|
|
autoIncrementKey:
|
|
description: If specified, each generated event has an auto-incremented
|
|
key field.
|
|
type: string
|
|
rate:
|
|
description: It configures how many events to generate per
|
|
second.
|
|
format: int64
|
|
type: integer
|
|
sample:
|
|
description: The sample data to be generated. It should
|
|
be either an array of JSON hashes or a single JSON hash.
|
|
If it is an array of JSON hashes, the hashes in the array
|
|
are cycled through in order.
|
|
type: string
|
|
size:
|
|
description: The number of events in the event stream of
|
|
each emit.
|
|
format: int64
|
|
type: integer
|
|
tag:
|
|
description: The tag of the event. The value is the tag
|
|
assigned to the generated events.
|
|
type: string
|
|
type: object
|
|
tail:
|
|
description: in_tail plugin
|
|
properties:
|
|
emitUnmatchedLines:
|
|
description: Emits unmatched lines when <parse> format is
|
|
not matched for incoming logs.
|
|
type: boolean
|
|
enableStatWatcher:
|
|
description: |-
|
|
Enables the additional inotify-based watcher. Setting this parameter to false will disable the inotify events and use only timer watcher for file tailing.
|
|
This option is mainly for avoiding the stuck issue with inotify.
|
|
type: boolean
|
|
enableWatchTimer:
|
|
description: |-
|
|
Enables the additional watch timer. Setting this parameter to false will significantly reduce CPU and I/O consumption when tailing a large number of files on systems with inotify support.
|
|
The default is true which results in an additional 1 second timer being used.
|
|
type: boolean
|
|
encoding:
|
|
description: |-
|
|
Specifies the encoding of reading lines. By default, in_tail emits string value as ASCII-8BIT encoding.
|
|
If encoding is specified, in_tail changes string to encoding.
|
|
If encoding and fromEncoding both are specified, in_tail tries to encode string from fromEncoding to encoding.
|
|
type: string
|
|
excludePath:
|
|
description: The paths excluded from the watcher list.
|
|
items:
|
|
type: string
|
|
type: array
|
|
followInodes:
|
|
description: Avoid to read rotated files duplicately. You
|
|
should set true when you use * or strftime format in path.
|
|
type: boolean
|
|
fromEncoding:
|
|
description: |-
|
|
Specifies the encoding of reading lines. By default, in_tail emits string value as ASCII-8BIT encoding.
|
|
If encoding is specified, in_tail changes string to encoding.
|
|
If encoding and fromEncoding both are specified, in_tail tries to encode string from fromEncoding to encoding.
|
|
type: string
|
|
group:
|
|
description: |-
|
|
The in_tail plugin can assign each log file to a group, based on user defined rules.
|
|
The limit parameter controls the total number of lines collected for a group within a rate_period time interval.
|
|
properties:
|
|
pattern:
|
|
description: |-
|
|
Specifies the regular expression for extracting metadata (namespace, podname) from log file path.
|
|
Default value of the pattern regexp extracts information about namespace, podname, docker_id, container of the log (K8s specific).
|
|
type: string
|
|
ratePeriod:
|
|
description: Time period in which the group line limit
|
|
is applied. in_tail resets the counter after every
|
|
rate_period interval.
|
|
format: int32
|
|
type: integer
|
|
rule:
|
|
description: Grouping rules for log files.
|
|
properties:
|
|
limit:
|
|
description: Maximum number of lines allowed from
|
|
a group in rate_period time interval. The default
|
|
value of -1 doesn't throttle log files of that
|
|
group.
|
|
format: int32
|
|
type: integer
|
|
match:
|
|
additionalProperties:
|
|
type: string
|
|
description: match parameter is used to check if
|
|
a file belongs to a particular group based on
|
|
hash keys (named captures from pattern) and hash
|
|
values (regexp in string)
|
|
type: object
|
|
type: object
|
|
required:
|
|
- rule
|
|
type: object
|
|
ignoreRepeatedPermissionError:
|
|
description: If you have to exclude the non-permission files
|
|
from the watch list, set this parameter to true. It suppresses
|
|
the repeated permission error logs.
|
|
type: boolean
|
|
limitRecentlyModified:
|
|
description: Limits the watching files that the modification
|
|
time is within the specified time range when using * in
|
|
path.
|
|
format: int32
|
|
type: integer
|
|
maxLineSize:
|
|
description: The maximum length of a line. Longer lines
|
|
than it will be just skipped.
|
|
format: int32
|
|
type: integer
|
|
multilineFlushInterval:
|
|
description: The interval of flushing the buffer for multiline
|
|
format.
|
|
format: int32
|
|
type: integer
|
|
openOnEveryUpdate:
|
|
description: Opens and closes the file on every update instead
|
|
of leaving it open until it gets rotated.
|
|
type: boolean
|
|
parse:
|
|
description: Parse defines various parameters for the parse
|
|
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
|
|
path:
|
|
description: The path(s) to read. Multiple paths can be
|
|
specified, separated by comma ','.
|
|
type: string
|
|
pathKey:
|
|
description: Adds the watching file path to the path_key
|
|
field.
|
|
type: string
|
|
pathTimezone:
|
|
description: This parameter is for strftime formatted path
|
|
like /path/to/%Y/%m/%d/.
|
|
type: string
|
|
posFile:
|
|
description: |-
|
|
(recommended) Fluentd will record the position it last read from this file.
|
|
pos_file handles multiple positions in one file so no need to have multiple pos_file parameters per source.
|
|
Don't share pos_file between in_tail configurations. It causes unexpected behavior e.g. corrupt pos_file content.
|
|
type: string
|
|
posFileCompactionInterval:
|
|
description: The interval of doing compaction of pos file.
|
|
format: int32
|
|
type: integer
|
|
readBytesLimitPerSecond:
|
|
description: The number of reading bytes per second to read
|
|
with I/O operation. This value should be equal or greater
|
|
than 8192.
|
|
format: int32
|
|
type: integer
|
|
readFromHead:
|
|
description: Starts to read the logs from the head of the
|
|
file or the last read position recorded in pos_file, not
|
|
tail.
|
|
type: boolean
|
|
readLinesLimit:
|
|
description: The number of lines to read with each I/O operation.
|
|
format: int32
|
|
type: integer
|
|
refreshInterval:
|
|
description: The interval to refresh the list of watch files.
|
|
This is used when the path includes *.
|
|
format: int32
|
|
type: integer
|
|
rotateWait:
|
|
description: |-
|
|
in_tail actually does a bit more than tail -F itself. When rotating a file, some data may still need to be written to the old file as opposed to the new one.
|
|
in_tail takes care of this by keeping a reference to the old file (even after it has been rotated) for some time before transitioning completely to the new file.
|
|
This helps prevent data designated for the old file from getting lost. By default, this time interval is 5 seconds.
|
|
The rotate_wait parameter accepts a single integer representing the number of seconds you want this time interval to be.
|
|
format: int32
|
|
type: integer
|
|
skipRefreshOnStartup:
|
|
description: Skips the refresh of the watch list on startup.
|
|
This reduces the startup time when * is used in path.
|
|
type: boolean
|
|
tag:
|
|
description: The tag of the event.
|
|
type: string
|
|
required:
|
|
- parse
|
|
- path
|
|
- tag
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: ClusterInputStatus defines the observed state of ClusterInput
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clustermultilineparsers.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: ClusterMultilineParser
|
|
listKind: ClusterMultilineParserList
|
|
plural: clustermultilineparsers
|
|
shortNames:
|
|
- cfbmp
|
|
singular: clustermultilineparser
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterMultilineParser is the Schema for the cluster-level multiline
|
|
parser 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:
|
|
properties:
|
|
flushTimeout:
|
|
default: 5000
|
|
description: Timeout in milliseconds to flush a non-terminated multiline
|
|
buffer. Default is set to 5 seconds.
|
|
type: integer
|
|
keyContent:
|
|
description: For an incoming structured message, specify the key that
|
|
contains the data that should be processed by the regular expression
|
|
and possibly concatenated.
|
|
type: string
|
|
parser:
|
|
description: Name of a pre-defined parser that must be applied to
|
|
the incoming content before applying the regex rule. If no parser
|
|
is defined, it's assumed that's a raw text and not a structured
|
|
message.
|
|
type: string
|
|
rules:
|
|
description: Configure a rule to match a multiline pattern. The rule
|
|
has a specific format described below. Multiple rules can be defined.
|
|
items:
|
|
properties:
|
|
next:
|
|
type: string
|
|
regex:
|
|
type: string
|
|
start:
|
|
type: string
|
|
required:
|
|
- next
|
|
- regex
|
|
- start
|
|
type: object
|
|
type: array
|
|
type:
|
|
default: regex
|
|
description: Set the multiline mode, for now, we support the type
|
|
regex.
|
|
enum:
|
|
- regex
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusteroutputs.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: ClusterOutput
|
|
listKind: ClusterOutputList
|
|
plural: clusteroutputs
|
|
shortNames:
|
|
- cfbo
|
|
singular: clusteroutput
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterOutput is the Schema for the cluster-level outputs 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: OutputSpec defines the desired state of ClusterOutput
|
|
properties:
|
|
alias:
|
|
description: |-
|
|
A user friendly alias name for this output plugin.
|
|
Used in metrics for distinction of each configured output.
|
|
type: string
|
|
azureBlob:
|
|
description: AzureBlob defines AzureBlob Output Configuration
|
|
properties:
|
|
accountName:
|
|
description: Azure Storage account name
|
|
type: string
|
|
autoCreateContainer:
|
|
description: Creates container if ContainerName is not set.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
blobType:
|
|
description: Specify the desired blob type. Must be `appendblob`
|
|
or `blockblob`
|
|
enum:
|
|
- appendblob
|
|
- blockblob
|
|
type: string
|
|
containerName:
|
|
description: Name of the container that will contain the blobs
|
|
type: string
|
|
emulatorMode:
|
|
description: Optional toggle to use an Azure emulator
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
endpoint:
|
|
description: HTTP Service of the endpoint (if using EmulatorMode)
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: Optional path to store the blobs.
|
|
type: string
|
|
sharedKey:
|
|
description: Specify the Azure Storage Shared Key to authenticate
|
|
against the storage account
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
tls:
|
|
description: Enable/Disable TLS Encryption. Azure services require
|
|
TLS to be enabled.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
required:
|
|
- accountName
|
|
- containerName
|
|
- sharedKey
|
|
type: object
|
|
azureLogAnalytics:
|
|
description: AzureLogAnalytics defines AzureLogAnalytics Output Configuration
|
|
properties:
|
|
customerID:
|
|
description: Customer ID or Workspace ID
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
logType:
|
|
description: Name of the event type.
|
|
type: string
|
|
logTypeKey:
|
|
description: Set a record key that will populate 'logtype'. If
|
|
the key is found, it will have precedence
|
|
type: string
|
|
sharedKey:
|
|
description: Specify the primary or the secondary client authentication
|
|
key
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
timeGenerated:
|
|
description: If set, overrides the timeKey value with the `time-generated-field`
|
|
HTTP header value.
|
|
type: boolean
|
|
timeKey:
|
|
description: Specify the name of the key where the timestamp is
|
|
stored.
|
|
type: string
|
|
required:
|
|
- customerID
|
|
- sharedKey
|
|
type: object
|
|
cloudWatch:
|
|
description: CloudWatch defines CloudWatch Output Configuration
|
|
properties:
|
|
autoCreateGroup:
|
|
description: Automatically create the log group. Defaults to False.
|
|
type: boolean
|
|
autoRetryRequests:
|
|
description: Automatically retry failed requests to CloudWatch
|
|
once. Defaults to True.
|
|
type: boolean
|
|
endpoint:
|
|
description: Custom endpoint for CloudWatch logs API
|
|
type: string
|
|
externalID:
|
|
description: Specify an external ID for the STS API.
|
|
type: string
|
|
logFormat:
|
|
description: Optional parameter to tell CloudWatch the format
|
|
of the data
|
|
type: string
|
|
logGroupName:
|
|
description: Name of Cloudwatch Log Group to send log records
|
|
to
|
|
type: string
|
|
logGroupTemplate:
|
|
description: Template for Log Group name, overrides LogGroupName
|
|
if set.
|
|
type: string
|
|
logKey:
|
|
description: If set, only the value of the key will be sent to
|
|
CloudWatch
|
|
type: string
|
|
logRetentionDays:
|
|
description: Number of days logs are retained for
|
|
enum:
|
|
- 1
|
|
- 3
|
|
- 5
|
|
- 7
|
|
- 14
|
|
- 30
|
|
- 60
|
|
- 90
|
|
- 120
|
|
- 150
|
|
- 180
|
|
- 365
|
|
- 400
|
|
- 545
|
|
- 731
|
|
- 1827
|
|
- 3653
|
|
format: int32
|
|
type: integer
|
|
logStreamName:
|
|
description: The name of the CloudWatch Log Stream to send log
|
|
records to
|
|
type: string
|
|
logStreamPrefix:
|
|
description: Prefix for the Log Stream name. Not compatible with
|
|
LogStreamName setting
|
|
type: string
|
|
logStreamTemplate:
|
|
description: Template for Log Stream name. Overrides LogStreamPrefix
|
|
and LogStreamName if set.
|
|
type: string
|
|
metricDimensions:
|
|
description: |-
|
|
Optional lists of lists for dimension keys to be added to all metrics. Use comma separated strings
|
|
for one list of dimensions and semicolon separated strings for list of lists dimensions.
|
|
type: string
|
|
metricNamespace:
|
|
description: Optional string to represent the CloudWatch namespace.
|
|
type: string
|
|
region:
|
|
description: AWS Region
|
|
type: string
|
|
roleArn:
|
|
description: Role ARN to use for cross-account access
|
|
type: string
|
|
stsEndpoint:
|
|
description: Specify a custom STS endpoint for the AWS STS API
|
|
type: string
|
|
required:
|
|
- region
|
|
type: object
|
|
customPlugin:
|
|
description: CustomPlugin defines Custom Output configuration.
|
|
properties:
|
|
config:
|
|
description: |-
|
|
Config holds any unsupported plugins classic configurations,
|
|
if ConfigFileFormat is set to yaml, this filed will be ignored
|
|
type: string
|
|
yamlConfig:
|
|
description: YamlConfig holds the unsupported plugins yaml configurations,
|
|
it only works when the ConfigFileFormat is yaml
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: object
|
|
datadog:
|
|
description: DataDog defines DataDog Output configuration.
|
|
properties:
|
|
apikey:
|
|
description: Your Datadog API key.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
compress:
|
|
description: |-
|
|
Compress the payload in GZIP format.
|
|
Datadog supports and recommends setting this to gzip.
|
|
type: string
|
|
dd_message_key:
|
|
description: By default, the plugin searches for the key 'log'
|
|
and remap the value to the key 'message'. If the property is
|
|
set, the plugin will search the property name key.
|
|
type: string
|
|
dd_service:
|
|
description: The human readable name for your service generating
|
|
the logs.
|
|
type: string
|
|
dd_source:
|
|
description: A human readable name for the underlying technology
|
|
of your service.
|
|
type: string
|
|
dd_tags:
|
|
description: The tags you want to assign to your logs in Datadog.
|
|
type: string
|
|
host:
|
|
description: Host is the Datadog server where you are sending
|
|
your logs.
|
|
type: string
|
|
include_tag_key:
|
|
description: If enabled, a tag is appended to output. The key
|
|
name is used tag_key property.
|
|
type: boolean
|
|
json_date_key:
|
|
description: Date key name for output.
|
|
type: string
|
|
provider:
|
|
description: To activate the remapping, specify configuration
|
|
flag provider.
|
|
type: string
|
|
proxy:
|
|
description: Specify an HTTP Proxy.
|
|
type: string
|
|
tag_key:
|
|
description: The key name of tag. If include_tag_key is false,
|
|
This property is ignored.
|
|
type: string
|
|
tls:
|
|
description: |-
|
|
TLS controls whether to use end-to-end security communications security protocol.
|
|
Datadog recommends setting this to on.
|
|
type: boolean
|
|
type: object
|
|
es:
|
|
description: Elasticsearch defines Elasticsearch Output configuration.
|
|
properties:
|
|
awsAuth:
|
|
description: Enable AWS Sigv4 Authentication for Amazon ElasticSearch
|
|
Service.
|
|
type: string
|
|
awsAuthSecret:
|
|
description: AWSAuthSecret Enable AWS Sigv4 Authentication for
|
|
Amazon ElasticSearch Service.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
awsExternalID:
|
|
description: External ID for the AWS IAM Role specified with aws_role_arn.
|
|
type: string
|
|
awsRegion:
|
|
description: Specify the AWS region for Amazon ElasticSearch Service.
|
|
type: string
|
|
awsRoleARN:
|
|
description: AWS IAM Role to assume to put records to your Amazon
|
|
ES cluster.
|
|
type: string
|
|
awsSTSEndpoint:
|
|
description: Specify the custom sts endpoint to be used with STS
|
|
API for Amazon ElasticSearch Service.
|
|
type: string
|
|
bufferSize:
|
|
description: |-
|
|
Specify the buffer size used to read the response from the Elasticsearch HTTP service.
|
|
This option is useful for debugging purposes where is required to read full responses,
|
|
note that response size grows depending of the number of records inserted.
|
|
To set an unlimited amount of memory set this value to False,
|
|
otherwise the value must be according to the Unit Size specification.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
cloudAuth:
|
|
description: Specify the credentials to use to connect to Elastic's
|
|
Elasticsearch Service running on Elastic Cloud.
|
|
type: string
|
|
cloudAuthSecret:
|
|
description: CloudAuthSecret Specify the credentials to use to
|
|
connect to Elastic's Elasticsearch Service running on Elastic
|
|
Cloud.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudID:
|
|
description: If you are using Elastic's Elasticsearch Service
|
|
you can specify the cloud_id of the cluster running.
|
|
type: string
|
|
compress:
|
|
description: Set payload compression mechanism. Option available
|
|
is 'gzip'
|
|
enum:
|
|
- gzip
|
|
type: string
|
|
currentTimeIndex:
|
|
description: Use current time for index generation instead of
|
|
message record
|
|
type: boolean
|
|
generateID:
|
|
description: |-
|
|
When enabled, generate _id for outgoing records.
|
|
This prevents duplicate records when retrying ES.
|
|
type: boolean
|
|
host:
|
|
description: IP address or hostname of the target Elasticsearch
|
|
instance
|
|
type: string
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username credential for Elastic X-Pack access
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
idKey:
|
|
description: If set, _id will be the value of the key from incoming
|
|
record and Generate_ID option is ignored.
|
|
type: string
|
|
includeTagKey:
|
|
description: When enabled, it append the Tag name to the record.
|
|
type: boolean
|
|
index:
|
|
description: Index name
|
|
type: string
|
|
logstashDateFormat:
|
|
description: Time format (based on strftime) to generate the second
|
|
part of the Index name.
|
|
type: string
|
|
logstashFormat:
|
|
description: |-
|
|
Enable Logstash format compatibility.
|
|
This option takes a boolean value: True/False, On/Off
|
|
type: boolean
|
|
logstashPrefix:
|
|
description: |-
|
|
When Logstash_Format is enabled, the Index name is composed using a prefix and the date,
|
|
e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'.
|
|
The last string appended belongs to the date when the data is being generated.
|
|
type: string
|
|
logstashPrefixKey:
|
|
description: Prefix keys with this string
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: |-
|
|
Elasticsearch accepts new data on HTTP query path "/_bulk".
|
|
But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath.
|
|
This option defines such path on the fluent-bit side.
|
|
It simply adds a path prefix in the indexing HTTP POST URI.
|
|
type: string
|
|
pipeline:
|
|
description: |-
|
|
Newer versions of Elasticsearch allows setting up filters called pipelines.
|
|
This option allows defining which pipeline the database should use.
|
|
For performance reasons is strongly suggested parsing
|
|
and filtering on Fluent Bit side, avoid pipelines.
|
|
type: string
|
|
port:
|
|
description: TCP port of the target Elasticsearch instance
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
replaceDots:
|
|
description: When enabled, replace field name dots with underscore,
|
|
required by Elasticsearch 2.0-2.3.
|
|
type: boolean
|
|
suppressTypeName:
|
|
description: When enabled, mapping types is removed and Type option
|
|
is ignored. Types are deprecated in APIs in v7.0. This options
|
|
is for v7.0 or later.
|
|
type: string
|
|
tagKey:
|
|
description: When Include_Tag_Key is enabled, this property defines
|
|
the key name for the tag.
|
|
type: string
|
|
timeKey:
|
|
description: |-
|
|
When Logstash_Format is enabled, each record will get a new timestamp field.
|
|
The Time_Key property defines the name of that field.
|
|
type: string
|
|
timeKeyFormat:
|
|
description: When Logstash_Format is enabled, this property defines
|
|
the format of the timestamp.
|
|
type: string
|
|
timeKeyNanos:
|
|
description: When Logstash_Format is enabled, enabling this property
|
|
sends nanosecond precision timestamps.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
traceError:
|
|
description: When enabled print the elasticsearch API calls to
|
|
stdout when elasticsearch returns an error
|
|
type: boolean
|
|
traceOutput:
|
|
description: When enabled print the elasticsearch API calls to
|
|
stdout (for diag only)
|
|
type: boolean
|
|
type:
|
|
description: Type name
|
|
type: string
|
|
writeOperation:
|
|
description: Operation to use to write in bulk requests.
|
|
type: string
|
|
type: object
|
|
file:
|
|
description: File defines File Output configuration.
|
|
properties:
|
|
delimiter:
|
|
description: The character to separate each pair. Applicable only
|
|
if format is csv or ltsv.
|
|
type: string
|
|
file:
|
|
description: Set file name to store the records. If not set, the
|
|
file name will be the tag associated with the records.
|
|
type: string
|
|
format:
|
|
description: 'The format of the file content. See also Format
|
|
section. Default: out_file.'
|
|
enum:
|
|
- out_file
|
|
- plain
|
|
- csv
|
|
- ltsv
|
|
- template
|
|
type: string
|
|
labelDelimiter:
|
|
description: The character to separate each pair. Applicable only
|
|
if format is ltsv.
|
|
type: string
|
|
path:
|
|
description: Absolute directory path to store files. If not set,
|
|
Fluent Bit will write the files on it's own positioned directory.
|
|
type: string
|
|
template:
|
|
description: The format string. Applicable only if format is template.
|
|
type: string
|
|
type: object
|
|
firehose:
|
|
description: Firehose defines Firehose Output configuration.
|
|
properties:
|
|
autoRetryRequests:
|
|
description: Immediately retry failed requests to AWS services
|
|
once. This option does not affect the normal Fluent Bit retry
|
|
mechanism with backoff. Instead, it enables an immediate retry
|
|
with no delay for networking errors, which may help improve
|
|
throughput when there are transient/random networking issues.
|
|
type: boolean
|
|
dataKeys:
|
|
description: By default, the whole log record will be sent to
|
|
Kinesis. If you specify a key name(s) with this option, then
|
|
only those keys and values will be sent to Kinesis. For example,
|
|
if you are using the Fluentd Docker log driver, you can specify
|
|
data_keys log and only the log message will be sent to Kinesis.
|
|
If you specify multiple keys, they should be comma delimited.
|
|
type: string
|
|
deliveryStream:
|
|
description: The name of the Kinesis Firehose Delivery stream
|
|
that you want log records sent to.
|
|
type: string
|
|
endpoint:
|
|
description: Specify a custom endpoint for the Kinesis Firehose
|
|
API.
|
|
type: string
|
|
logKey:
|
|
description: By default, the whole log record will be sent to
|
|
Firehose. If you specify a key name with this option, then only
|
|
the value of that key will be sent to Firehose. For example,
|
|
if you are using the Fluentd Docker log driver, you can specify
|
|
log_key log and only the log message will be sent to Firehose.
|
|
type: string
|
|
region:
|
|
description: The AWS region.
|
|
type: string
|
|
roleARN:
|
|
description: ARN of an IAM role to assume (for cross account access).
|
|
type: string
|
|
stsEndpoint:
|
|
description: Specify a custom endpoint for the STS API; used to
|
|
assume your custom role provided with role_arn.
|
|
type: string
|
|
timeKey:
|
|
description: Add the timestamp to the record under this key. By
|
|
default, the timestamp from Fluent Bit will not be added to
|
|
records sent to Kinesis.
|
|
type: string
|
|
timeKeyFormat:
|
|
description: strftime compliant format string for the timestamp;
|
|
for example, %Y-%m-%dT%H *string This option is used with time_key.
|
|
You can also use %L for milliseconds and %f for microseconds.
|
|
If you are using ECS FireLens, make sure you are running Amazon
|
|
ECS Container Agent v1.42.0 or later, otherwise the timestamps
|
|
associated with your container logs will only have second precision.
|
|
type: string
|
|
required:
|
|
- deliveryStream
|
|
- region
|
|
type: object
|
|
forward:
|
|
description: Forward defines Forward Output configuration.
|
|
properties:
|
|
emptySharedKey:
|
|
description: Use this option to connect to Fluentd with a zero-length
|
|
secret.
|
|
type: boolean
|
|
host:
|
|
description: Target host where Fluent-Bit or Fluentd are listening
|
|
for Forward messages.
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
password:
|
|
description: Specify the password corresponding to the username.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
port:
|
|
description: TCP Port of the target service.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
requireAckResponse:
|
|
description: |-
|
|
Send "chunk"-option and wait for "ack" response from server.
|
|
Enables at-least-once and receiving server can control rate of traffic.
|
|
(Requires Fluentd v0.14.0+ server)
|
|
type: boolean
|
|
selfHostname:
|
|
description: Default value of the auto-generated certificate common
|
|
name (CN).
|
|
type: string
|
|
sendOptions:
|
|
description: Always send options (with "size"=count of messages)
|
|
type: boolean
|
|
sharedKey:
|
|
description: A key string known by the remote Fluentd used for
|
|
authorization.
|
|
type: string
|
|
tag:
|
|
description: |-
|
|
Overwrite the tag as we transmit. This allows the receiving pipeline start
|
|
fresh, or to attribute source.
|
|
type: string
|
|
timeAsInteger:
|
|
description: Set timestamps in integer format, it enable compatibility
|
|
mode for Fluentd v0.12 series.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
username:
|
|
description: Specify the username to present to a Fluentd server
|
|
that enables user_auth.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
gelf:
|
|
description: Gelf defines GELF Output configuration.
|
|
properties:
|
|
compress:
|
|
description: If transport protocol is udp, it defines if UDP packets
|
|
should be compressed.
|
|
type: boolean
|
|
fullMessageKey:
|
|
description: FullMessageKey is the key to use as the long message
|
|
that can i.e. contain a backtrace.
|
|
type: string
|
|
host:
|
|
description: IP address or hostname of the target Graylog server.
|
|
type: string
|
|
hostKey:
|
|
description: HostKey is the key which its value is used as the
|
|
name of the host, source or application that sent this message.
|
|
type: string
|
|
levelKey:
|
|
description: LevelKey is the key to be used as the log level.
|
|
type: string
|
|
mode:
|
|
description: The protocol to use (tls, tcp or udp).
|
|
enum:
|
|
- tls
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
packetSize:
|
|
description: If transport protocol is udp, it sets the size of
|
|
packets to be sent.
|
|
format: int32
|
|
type: integer
|
|
port:
|
|
description: The port that the target Graylog server is listening
|
|
on.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
shortMessageKey:
|
|
description: ShortMessageKey is the key to use as the short message.
|
|
type: string
|
|
timestampKey:
|
|
description: TimestampKey is the key which its value is used as
|
|
the timestamp of the message.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
type: object
|
|
http:
|
|
description: HTTP defines HTTP Output configuration.
|
|
properties:
|
|
allowDuplicatedHeaders:
|
|
description: |-
|
|
Specify if duplicated headers are allowed.
|
|
If a duplicated header is found, the latest key/value set is preserved.
|
|
type: boolean
|
|
compress:
|
|
description: Set payload compression mechanism. Option available
|
|
is 'gzip'
|
|
type: string
|
|
format:
|
|
description: |-
|
|
Specify the data format to be used in the HTTP request body, by default it uses msgpack.
|
|
Other supported formats are json, json_stream and json_lines and gelf.
|
|
enum:
|
|
- msgpack
|
|
- json
|
|
- json_stream
|
|
- json_lines
|
|
- gelf
|
|
type: string
|
|
gelfFullMessageKey:
|
|
description: Specify the key to use for the full message in gelf
|
|
format
|
|
type: string
|
|
gelfHostKey:
|
|
description: Specify the key to use for the host in gelf format
|
|
type: string
|
|
gelfLevelKey:
|
|
description: Specify the key to use for the level in gelf format
|
|
type: string
|
|
gelfShortMessageKey:
|
|
description: Specify the key to use as the short message in gelf
|
|
format
|
|
type: string
|
|
gelfTimestampKey:
|
|
description: Specify the key to use for timestamp in gelf format
|
|
type: string
|
|
headerTag:
|
|
description: Specify an optional HTTP header field for the original
|
|
message tag.
|
|
type: string
|
|
headers:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a HTTP header key/value pair. Multiple headers
|
|
can be set.
|
|
type: object
|
|
host:
|
|
description: IP address or hostname of the target HTTP Server
|
|
type: string
|
|
httpPassword:
|
|
description: Basic Auth Password. Requires HTTP_User to be set
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Basic Auth Username
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
jsonDateFormat:
|
|
description: |-
|
|
Specify the format of the date. Supported formats are double, epoch
|
|
and iso8601 (eg: 2018-05-30T09:39:52.000681Z)
|
|
type: string
|
|
jsonDateKey:
|
|
description: |-
|
|
Specify the name of the time key in the output record.
|
|
To disable the time key just set the value to false.
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP port of the target HTTP Server
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
proxy:
|
|
description: |-
|
|
Specify an HTTP Proxy. The expected format of this value is http://host:port.
|
|
Note that https is not supported yet.
|
|
type: string
|
|
tls:
|
|
description: |-
|
|
HTTP output plugin supports TTL/SSL, for more details about the properties available
|
|
and general configuration, please refer to the TLS/SSL section.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
uri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server, e.g: /something'
|
|
type: string
|
|
type: object
|
|
influxDB:
|
|
description: InfluxDB defines InfluxDB Output configuration.
|
|
properties:
|
|
autoTags:
|
|
description: Automatically tag keys where value is string.
|
|
type: boolean
|
|
bucket:
|
|
description: InfluxDB bucket name where records will be inserted
|
|
- if specified, database is ignored and v2 of API is used
|
|
type: string
|
|
database:
|
|
description: InfluxDB database name where records will be inserted.
|
|
type: string
|
|
host:
|
|
description: IP address or hostname of the target InfluxDB service.
|
|
type: string
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpToken:
|
|
description: Authentication token used with InfluxDB v2 - if specified,
|
|
both HTTPUser and HTTPPasswd are ignored
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username for HTTP Basic Authentication
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
org:
|
|
description: InfluxDB organization name where the bucket is (v2
|
|
only)
|
|
type: string
|
|
port:
|
|
description: TCP port of the target InfluxDB service.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
sequenceTag:
|
|
description: The name of the tag whose value is incremented for
|
|
the consecutive simultaneous events.
|
|
type: string
|
|
tagKeys:
|
|
description: List of keys that needs to be tagged
|
|
items:
|
|
type: string
|
|
type: array
|
|
tagListKey:
|
|
description: Key of the string array optionally contained within
|
|
each log record that contains tag keys for that record
|
|
type: string
|
|
tagsListEnabled:
|
|
description: Dynamically tag keys which are in the string array
|
|
at Tags_List_Key key.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
required:
|
|
- host
|
|
type: object
|
|
kafka:
|
|
description: Kafka defines Kafka Output configuration.
|
|
properties:
|
|
brokers:
|
|
description: 'Single of multiple list of Kafka Brokers, e.g: 192.168.1.3:9092,
|
|
192.168.1.4:9092.'
|
|
type: string
|
|
dynamicTopic:
|
|
description: adds unknown topics (found in Topic_Key) to Topics.
|
|
So in Topics only a default topic needs to be configured
|
|
type: boolean
|
|
format:
|
|
description: 'Specify data format, options available: json, msgpack.'
|
|
type: string
|
|
messageKey:
|
|
description: Optional key to store the message
|
|
type: string
|
|
messageKeyField:
|
|
description: |-
|
|
If set, the value of Message_Key_Field in the record will indicate the message key.
|
|
If not set nor found in the record, Message_Key will be used (if set).
|
|
type: string
|
|
queueFullRetries:
|
|
description: |-
|
|
Fluent Bit queues data into rdkafka library,
|
|
if for some reason the underlying library cannot flush the records the queue might fills up blocking new addition of records.
|
|
The queue_full_retries option set the number of local retries to enqueue the data.
|
|
The default value is 10 times, the interval between each retry is 1 second.
|
|
Setting the queue_full_retries value to 0 set's an unlimited number of retries.
|
|
format: int64
|
|
type: integer
|
|
rdkafka:
|
|
additionalProperties:
|
|
type: string
|
|
description: '{property} can be any librdkafka properties'
|
|
type: object
|
|
timestampFormat:
|
|
description: iso8601 or double
|
|
type: string
|
|
timestampKey:
|
|
description: Set the key to store the record timestamp
|
|
type: string
|
|
topicKey:
|
|
description: |-
|
|
If multiple Topics exists, the value of Topic_Key in the record will indicate the topic to use.
|
|
E.g: if Topic_Key is router and the record is {"key1": 123, "router": "route_2"},
|
|
Fluent Bit will use topic route_2. Note that if the value of Topic_Key is not present in Topics,
|
|
then by default the first topic in the Topics list will indicate the topic to be used.
|
|
type: string
|
|
topics:
|
|
description: |-
|
|
Single entry or list of topics separated by comma (,) that Fluent Bit will use to send messages to Kafka.
|
|
If only one topic is set, that one will be used for all records.
|
|
Instead if multiple topics exists, the one set in the record by Topic_Key will be used.
|
|
type: string
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
workers:
|
|
description: Enables dedicated thread(s) for this output. Default
|
|
value is set since version 1.8.13. For previous versions is
|
|
0.
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
kinesis:
|
|
description: Kinesis defines Kinesis Output configuration.
|
|
properties:
|
|
autoRetryRequests:
|
|
description: Immediately retry failed requests to AWS services
|
|
once. This option does not affect the normal Fluent Bit retry
|
|
mechanism with backoff. Instead, it enables an immediate retry
|
|
with no delay for networking errors, which may help improve
|
|
throughput when there are transient/random networking issues.
|
|
This option defaults to true.
|
|
type: boolean
|
|
endpoint:
|
|
description: Specify a custom endpoint for the Kinesis API.
|
|
type: string
|
|
externalID:
|
|
description: Specify an external ID for the STS API, can be used
|
|
with the role_arn parameter if your role requires an external
|
|
ID.
|
|
type: string
|
|
logKey:
|
|
description: By default, the whole log record will be sent to
|
|
Kinesis. If you specify a key name with this option, then only
|
|
the value of that key will be sent to Kinesis. For example,
|
|
if you are using the Fluentd Docker log driver, you can specify
|
|
log_key log and only the log message will be sent to Kinesis.
|
|
type: string
|
|
region:
|
|
description: The AWS region.
|
|
type: string
|
|
roleARN:
|
|
description: ARN of an IAM role to assume (for cross account access).
|
|
type: string
|
|
stream:
|
|
description: The name of the Kinesis Streams Delivery stream that
|
|
you want log records sent to.
|
|
type: string
|
|
stsEndpoint:
|
|
description: Custom endpoint for the STS API.
|
|
type: string
|
|
timeKey:
|
|
description: Add the timestamp to the record under this key. By
|
|
default the timestamp from Fluent Bit will not be added to records
|
|
sent to Kinesis.
|
|
type: string
|
|
timeKeyFormat:
|
|
description: strftime compliant format string for the timestamp;
|
|
for example, the default is '%Y-%m-%dT%H:%M:%S'. Supports millisecond
|
|
precision with '%3N' and supports nanosecond precision with
|
|
'%9N' and '%L'; for example, adding '%3N' to support millisecond
|
|
'%Y-%m-%dT%H:%M:%S.%3N'. This option is used with time_key.
|
|
type: string
|
|
required:
|
|
- region
|
|
- stream
|
|
type: object
|
|
logLevel:
|
|
description: 'Set the plugin''s logging verbosity level. Allowed values
|
|
are: off, error, warn, info, debug and trace, Defaults to the SERVICE
|
|
section''s Log_Level'
|
|
enum:
|
|
- "off"
|
|
- error
|
|
- warning
|
|
- info
|
|
- debug
|
|
- trace
|
|
type: string
|
|
loki:
|
|
description: Loki defines Loki Output configuration.
|
|
properties:
|
|
autoKubernetesLabels:
|
|
description: If set to true, it will add all Kubernetes labels
|
|
to the Stream labels.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
bearerToken:
|
|
description: |-
|
|
Set bearer token authentication token value.
|
|
Can be used as alterntative to HTTP basic authentication
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
dropSingleKey:
|
|
description: If set to true and after extracting labels only a
|
|
single key remains, the log line sent to Loki will be the value
|
|
of that key in line_format.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
host:
|
|
description: Loki hostname or IP address.
|
|
type: string
|
|
httpPassword:
|
|
description: |-
|
|
Password for user defined in HTTP_User
|
|
Set HTTP basic authentication password
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Set HTTP basic authentication user name.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
labelKeys:
|
|
description: |-
|
|
Optional list of record keys that will be placed as stream labels.
|
|
This configuration property is for records key only.
|
|
items:
|
|
type: string
|
|
type: array
|
|
labelMapPath:
|
|
description: Specify the label map file path. The file defines
|
|
how to extract labels from each record.
|
|
type: string
|
|
labels:
|
|
description: |-
|
|
Stream labels for API request. It can be multiple comma separated of strings specifying key=value pairs.
|
|
In addition to fixed parameters, it also allows to add custom record keys (similar to label_keys property).
|
|
items:
|
|
type: string
|
|
type: array
|
|
lineFormat:
|
|
description: |-
|
|
Format to use when flattening the record to a log line. Valid values are json or key_value.
|
|
If set to json, the log line sent to Loki will be the Fluent Bit record dumped as JSON.
|
|
If set to key_value, the log line will be each item in the record concatenated together (separated by a single space) in the format.
|
|
enum:
|
|
- json
|
|
- key_value
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: Loki TCP port
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
removeKeys:
|
|
description: Optional list of keys to remove.
|
|
items:
|
|
type: string
|
|
type: array
|
|
tenantID:
|
|
description: |-
|
|
Tenant ID used by default to push logs to Loki.
|
|
If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
tenantIDKey:
|
|
description: |-
|
|
Specify the name of the key from the original record that contains the Tenant ID.
|
|
The value of the key is set as X-Scope-OrgID of HTTP header. It is useful to set Tenant ID dynamically.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
uri:
|
|
description: Specify a custom HTTP URI. It must start with forward
|
|
slash.
|
|
type: string
|
|
workers:
|
|
description: Enables dedicated thread(s) for this output. Default
|
|
value is set since version 1.8.13. For previous versions is
|
|
0.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- host
|
|
type: object
|
|
match:
|
|
description: |-
|
|
A pattern to match against the tags of incoming records.
|
|
It's case sensitive and support the star (*) character as a wildcard.
|
|
type: string
|
|
matchRegex:
|
|
description: |-
|
|
A regular expression to match against the tags of incoming records.
|
|
Use this option if you want to use the full regex syntax.
|
|
type: string
|
|
"null":
|
|
description: Null defines Null Output configuration.
|
|
type: object
|
|
opensearch:
|
|
description: OpenSearch defines OpenSearch Output configuration.
|
|
properties:
|
|
awsAuth:
|
|
description: Enable AWS Sigv4 Authentication for Amazon OpenSearch
|
|
Service.
|
|
type: string
|
|
awsExternalID:
|
|
description: External ID for the AWS IAM Role specified with aws_role_arn.
|
|
type: string
|
|
awsRegion:
|
|
description: Specify the AWS region for Amazon OpenSearch Service.
|
|
type: string
|
|
awsRoleARN:
|
|
description: AWS IAM Role to assume to put records to your Amazon
|
|
cluster.
|
|
type: string
|
|
awsSTSEndpoint:
|
|
description: Specify the custom sts endpoint to be used with STS
|
|
API for Amazon OpenSearch Service.
|
|
type: string
|
|
bufferSize:
|
|
description: |-
|
|
Specify the buffer size used to read the response from the OpenSearch HTTP service.
|
|
This option is useful for debugging purposes where is required to read full responses,
|
|
note that response size grows depending of the number of records inserted.
|
|
To set an unlimited amount of memory set this value to False,
|
|
otherwise the value must be according to the Unit Size specification.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
compress:
|
|
enum:
|
|
- gzip
|
|
type: string
|
|
currentTimeIndex:
|
|
description: Use current time for index generation instead of
|
|
message record
|
|
type: boolean
|
|
generateID:
|
|
description: |-
|
|
When enabled, generate _id for outgoing records.
|
|
This prevents duplicate records when retrying OpenSearch.
|
|
type: boolean
|
|
host:
|
|
description: IP address or hostname of the target OpenSearch instance,
|
|
default `127.0.0.1`
|
|
type: string
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username credential for access
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
idKey:
|
|
description: If set, _id will be the value of the key from incoming
|
|
record and Generate_ID option is ignored.
|
|
type: string
|
|
includeTagKey:
|
|
description: When enabled, it append the Tag name to the record.
|
|
type: boolean
|
|
index:
|
|
description: Index name
|
|
type: string
|
|
logstashDateFormat:
|
|
description: Time format (based on strftime) to generate the second
|
|
part of the Index name.
|
|
type: string
|
|
logstashFormat:
|
|
description: |-
|
|
Enable Logstash format compatibility.
|
|
This option takes a boolean value: True/False, On/Off
|
|
type: boolean
|
|
logstashPrefix:
|
|
description: |-
|
|
When Logstash_Format is enabled, the Index name is composed using a prefix and the date,
|
|
e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'.
|
|
The last string appended belongs to the date when the data is being generated.
|
|
type: string
|
|
logstashPrefixKey:
|
|
description: Prefix keys with this string
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: |-
|
|
OpenSearch accepts new data on HTTP query path "/_bulk".
|
|
But it is also possible to serve OpenSearch behind a reverse proxy on a subpath.
|
|
This option defines such path on the fluent-bit side.
|
|
It simply adds a path prefix in the indexing HTTP POST URI.
|
|
type: string
|
|
pipeline:
|
|
description: |-
|
|
OpenSearch allows to setup filters called pipelines.
|
|
This option allows to define which pipeline the database should use.
|
|
For performance reasons is strongly suggested to do parsing
|
|
and filtering on Fluent Bit side, avoid pipelines.
|
|
type: string
|
|
port:
|
|
description: TCP port of the target OpenSearch instance, default
|
|
`9200`
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
replaceDots:
|
|
description: When enabled, replace field name dots with underscore,
|
|
required by Elasticsearch 2.0-2.3.
|
|
type: boolean
|
|
suppressTypeName:
|
|
description: When enabled, mapping types is removed and Type option
|
|
is ignored. Types are deprecated in APIs in v7.0. This options
|
|
is for v7.0 or later.
|
|
type: boolean
|
|
tagKey:
|
|
description: When Include_Tag_Key is enabled, this property defines
|
|
the key name for the tag.
|
|
type: string
|
|
timeKey:
|
|
description: |-
|
|
When Logstash_Format is enabled, each record will get a new timestamp field.
|
|
The Time_Key property defines the name of that field.
|
|
type: string
|
|
timeKeyFormat:
|
|
description: When Logstash_Format is enabled, this property defines
|
|
the format of the timestamp.
|
|
type: string
|
|
timeKeyNanos:
|
|
description: When Logstash_Format is enabled, enabling this property
|
|
sends nanosecond precision timestamps.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
traceError:
|
|
description: When enabled print the elasticsearch API calls to
|
|
stdout when elasticsearch returns an error
|
|
type: boolean
|
|
traceOutput:
|
|
description: When enabled print the elasticsearch API calls to
|
|
stdout (for diag only)
|
|
type: boolean
|
|
type:
|
|
description: Type name
|
|
type: string
|
|
workers:
|
|
description: Enables dedicated thread(s) for this output. Default
|
|
value is set since version 1.8.13. For previous versions is
|
|
0.
|
|
format: int32
|
|
type: integer
|
|
writeOperation:
|
|
description: Operation to use to write in bulk requests.
|
|
type: string
|
|
type: object
|
|
opentelemetry:
|
|
description: OpenTelemetry defines OpenTelemetry Output configuration.
|
|
properties:
|
|
addLabel:
|
|
additionalProperties:
|
|
type: string
|
|
description: This allows you to add custom labels to all metrics
|
|
exposed through the OpenTelemetry exporter. You may have multiple
|
|
of these fields.
|
|
type: object
|
|
header:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a HTTP header key/value pair. Multiple headers
|
|
can be set.
|
|
type: object
|
|
host:
|
|
description: IP address or hostname of the target HTTP Server,
|
|
default `127.0.0.1`
|
|
type: string
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username credential for access
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
logResponsePayload:
|
|
description: Log the response payload within the Fluent Bit log.
|
|
type: boolean
|
|
logsBodyKey:
|
|
description: The log body key to look up in the log events body/message.
|
|
Sets the Body field of the opentelemtry logs data model.
|
|
type: string
|
|
logsBodyKeyAttributes:
|
|
description: If true, remaining unmatched keys are added as attributes.
|
|
type: boolean
|
|
logsUri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server listening for logs, e.g: /v1/logs'
|
|
type: string
|
|
metricsUri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server listening for metrics, e.g: /v1/metrics'
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP port of the target OpenSearch instance, default
|
|
`80`
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
proxy:
|
|
description: |-
|
|
Specify an HTTP Proxy. The expected format of this value is http://HOST:PORT. Note that HTTPS is not currently supported.
|
|
It is recommended not to set this and to configure the HTTP proxy environment variables instead as they support both HTTP and HTTPS.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
tracesUri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server listening for traces, e.g: /v1/traces'
|
|
type: string
|
|
type: object
|
|
processors:
|
|
description: Processors defines the processors configuration
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
prometheusExporter:
|
|
description: PrometheusExporter_types defines Prometheus exporter
|
|
configuration to expose metrics from Fluent Bit.
|
|
properties:
|
|
addLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: This allows you to add custom labels to all metrics
|
|
exposed through the prometheus exporter. You may have multiple
|
|
of these fields
|
|
type: object
|
|
host:
|
|
description: 'IP address or hostname of the target HTTP Server,
|
|
default: 0.0.0.0'
|
|
type: string
|
|
port:
|
|
description: This is the port Fluent Bit will bind to when hosting
|
|
prometheus metrics.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
required:
|
|
- host
|
|
type: object
|
|
prometheusRemoteWrite:
|
|
description: PrometheusRemoteWrite_types defines Prometheus Remote
|
|
Write configuration.
|
|
properties:
|
|
addLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: This allows you to add custom labels to all metrics
|
|
exposed through the prometheus exporter. You may have multiple
|
|
of these fields
|
|
type: object
|
|
headers:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a HTTP header key/value pair. Multiple headers
|
|
can be set.
|
|
type: object
|
|
host:
|
|
description: 'IP address or hostname of the target HTTP Server,
|
|
default: 127.0.0.1'
|
|
type: string
|
|
httpPasswd:
|
|
description: |-
|
|
Basic Auth Password.
|
|
Requires HTTP_user to be se
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Basic Auth Username
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
logResponsePayload:
|
|
description: 'Log the response payload within the Fluent Bit log,default:
|
|
false'
|
|
type: boolean
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP port of the target HTTP Serveri, default:80
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
proxy:
|
|
description: Specify an HTTP Proxy. The expected format of this
|
|
value is http://HOST:PORT.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
uri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server, e.g: /something ,default: /'
|
|
type: string
|
|
workers:
|
|
description: 'Enables dedicated thread(s) for this output. Default
|
|
value is set since version 1.8.13. For previous versions is
|
|
0,default : 2'
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- host
|
|
type: object
|
|
retry_limit:
|
|
description: |-
|
|
RetryLimit represents configuration for the scheduler which can be set independently on each output section.
|
|
This option allows to disable retries or impose a limit to try N times and then discard the data after reaching that limit.
|
|
type: string
|
|
s3:
|
|
description: S3 defines S3 Output configuration.
|
|
properties:
|
|
AutoRetryRequests:
|
|
description: Immediately retry failed requests to AWS services
|
|
once.
|
|
type: boolean
|
|
Bucket:
|
|
description: S3 Bucket name
|
|
type: string
|
|
CannedAcl:
|
|
description: Predefined Canned ACL Policy for S3 objects.
|
|
type: string
|
|
Compression:
|
|
description: Compression type for S3 objects.
|
|
type: string
|
|
ContentType:
|
|
description: A standard MIME type for the S3 object; this will
|
|
be set as the Content-Type HTTP header.
|
|
type: string
|
|
Endpoint:
|
|
description: Custom endpoint for the S3 API.
|
|
type: string
|
|
ExternalId:
|
|
description: Specify an external ID for the STS API, can be used
|
|
with the role_arn parameter if your role requires an external
|
|
ID.
|
|
type: string
|
|
JsonDateFormat:
|
|
description: 'Specify the format of the date. Supported formats
|
|
are double, epoch, iso8601 (eg: 2018-05-30T09:39:52.000681Z)
|
|
and java_sql_timestamp (eg: 2018-05-30 09:39:52.000681)'
|
|
type: string
|
|
JsonDateKey:
|
|
description: Specify the name of the time key in the output record.
|
|
To disable the time key just set the value to false.
|
|
type: string
|
|
LogKey:
|
|
description: By default, the whole log record will be sent to
|
|
S3. If you specify a key name with this option, then only the
|
|
value of that key will be sent to S3.
|
|
type: string
|
|
PreserveDataOrdering:
|
|
description: Normally, when an upload request fails, there is
|
|
a high chance for the last received chunk to be swapped with
|
|
a later chunk, resulting in data shuffling. This feature prevents
|
|
this shuffling by using a queue logic for uploads.
|
|
type: boolean
|
|
Profile:
|
|
description: Option to specify an AWS Profile for credentials.
|
|
type: string
|
|
Region:
|
|
description: The AWS region of your S3 bucket
|
|
type: string
|
|
RetryLimit:
|
|
description: Integer value to set the maximum number of retries
|
|
allowed.
|
|
format: int32
|
|
type: integer
|
|
RoleArn:
|
|
description: ARN of an IAM role to assume
|
|
type: string
|
|
S3KeyFormat:
|
|
description: Format string for keys in S3.
|
|
type: string
|
|
S3KeyFormatTagDelimiters:
|
|
description: A series of characters which will be used to split
|
|
the tag into 'parts' for use with the s3_key_format option.
|
|
type: string
|
|
SendContentMd5:
|
|
description: Send the Content-MD5 header with PutObject and UploadPart
|
|
requests, as is required when Object Lock is enabled.
|
|
type: boolean
|
|
StaticFilePath:
|
|
description: Disables behavior where UUID string is automatically
|
|
appended to end of S3 key name when $UUID is not provided in
|
|
s3_key_format. $UUID, time formatters, $TAG, and other dynamic
|
|
key formatters all work as expected while this feature is set
|
|
to true.
|
|
type: boolean
|
|
StorageClass:
|
|
description: Specify the storage class for S3 objects. If this
|
|
option is not specified, objects will be stored with the default
|
|
'STANDARD' storage class.
|
|
type: string
|
|
StoreDir:
|
|
description: Directory to locally buffer data before sending.
|
|
type: string
|
|
StoreDirLimitSize:
|
|
description: The size of the limitation for disk usage in S3.
|
|
type: string
|
|
StsEndpoint:
|
|
description: Custom endpoint for the STS API.
|
|
type: string
|
|
TotalFileSize:
|
|
description: Specifies the size of files in S3. Minimum size is
|
|
1M. With use_put_object On the maximum size is 1G. With multipart
|
|
upload mode, the maximum size is 50G.
|
|
type: string
|
|
UploadChunkSize:
|
|
description: 'The size of each ''part'' for multipart uploads.
|
|
Max: 50M'
|
|
type: string
|
|
UploadTimeout:
|
|
description: Whenever this amount of time has elapsed, Fluent
|
|
Bit will complete an upload and create a new file in S3. For
|
|
example, set this value to 60m and you will get a new file every
|
|
hour.
|
|
type: string
|
|
UsePutObject:
|
|
description: Use the S3 PutObject API, instead of the multipart
|
|
upload API.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
required:
|
|
- Bucket
|
|
- Region
|
|
type: object
|
|
splunk:
|
|
description: Splunk defines Splunk Output Configuration
|
|
properties:
|
|
Workers:
|
|
description: Enables dedicated thread(s) for this output. Default
|
|
value `2` is set since version 1.8.13. For previous versions
|
|
is 0.
|
|
format: int32
|
|
type: integer
|
|
channel:
|
|
description: Specify X-Splunk-Request-Channel Header for the HTTP
|
|
Event Collector interface.
|
|
type: string
|
|
compress:
|
|
description: Set payload compression mechanism. The only available
|
|
option is gzip.
|
|
type: string
|
|
eventFields:
|
|
description: |-
|
|
Set event fields for the record. This option is an array and the format is "key_name
|
|
record_accessor_pattern".
|
|
items:
|
|
type: string
|
|
type: array
|
|
eventHost:
|
|
description: Specify the key name that contains the host value.
|
|
This option allows a record accessors pattern.
|
|
type: string
|
|
eventIndex:
|
|
description: The name of the index by which the event data is
|
|
to be indexed.
|
|
type: string
|
|
eventIndexKey:
|
|
description: |-
|
|
Set a record key that will populate the index field. If the key is found, it will have precedence
|
|
over the value set in event_index.
|
|
type: string
|
|
eventKey:
|
|
description: Specify the key name that will be used to send a
|
|
single value as part of the record.
|
|
type: string
|
|
eventSource:
|
|
description: Set the source value to assign to the event data.
|
|
type: string
|
|
eventSourcetype:
|
|
description: Set the sourcetype value to assign to the event data.
|
|
type: string
|
|
eventSourcetypeKey:
|
|
description: |-
|
|
Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence
|
|
over the value set in event_sourcetype.
|
|
type: string
|
|
host:
|
|
description: IP address or hostname of the target OpenSearch instance,
|
|
default `127.0.0.1`
|
|
type: string
|
|
httpBufferSize:
|
|
description: 'Buffer size used to receive Splunk HTTP responses:
|
|
Default `2M`'
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
httpDebugBadRequest:
|
|
description: |-
|
|
If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request
|
|
and response to the stdout interface. This feature is available for debugging purposes.
|
|
type: boolean
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username credential for access
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP port of the target Splunk instance, default `8088`
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
splunkSendRaw:
|
|
description: |-
|
|
When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to
|
|
the Sending Raw Events section from the docs more details to make this option work properly.
|
|
type: boolean
|
|
splunkToken:
|
|
description: Specify the Authentication Token for the HTTP Event
|
|
Collector interface.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
type: object
|
|
stackdriver:
|
|
description: Stackdriver defines Stackdriver Output Configuration
|
|
properties:
|
|
autoformatStackdriverTrace:
|
|
description: Rewrite the trace field to be formatted for use with
|
|
GCP Cloud Trace
|
|
type: boolean
|
|
customK8sRegex:
|
|
description: A custom regex to extract fields from the local_resource_id
|
|
of the logs
|
|
type: string
|
|
exportToProjectID:
|
|
description: The GCP Project that should receive the logs
|
|
type: string
|
|
googleServiceCredentials:
|
|
description: Path to GCP Credentials JSON file
|
|
type: string
|
|
job:
|
|
description: Identifier for a grouping of tasks. Required if Resource
|
|
is generic_task
|
|
type: string
|
|
k8sClusterLocation:
|
|
description: Location of the cluster that contains the pods/nodes.
|
|
Required if Resource is k8s_container, k8s_node, or k8s_pod
|
|
type: string
|
|
k8sClusterName:
|
|
description: Name of the cluster that the pod is running in. Required
|
|
if Resource is k8s_container, k8s_node, or k8s_pod
|
|
type: string
|
|
labels:
|
|
description: Optional list of comma separated of strings for key/value
|
|
pairs
|
|
items:
|
|
type: string
|
|
type: array
|
|
labelsKey:
|
|
description: Used by Stackdriver to find related labels and extract
|
|
them to LogEntry Labels
|
|
type: string
|
|
location:
|
|
description: GCP/AWS region to store data. Required if Resource
|
|
is generic_node or generic_task
|
|
type: string
|
|
logNameKey:
|
|
description: The value of this field is set as the logName field
|
|
in Stackdriver
|
|
type: string
|
|
metadataServer:
|
|
description: Metadata Server Prefix
|
|
type: string
|
|
namespace:
|
|
description: Namespace identifier. Required if Resource is generic_node
|
|
or generic_task
|
|
type: string
|
|
nodeID:
|
|
description: Node identifier within the namespace. Required if
|
|
Resource is generic_node or generic_task
|
|
type: string
|
|
resource:
|
|
description: Set resource types of data
|
|
type: string
|
|
resourceLabels:
|
|
description: Optional list of comma seperated strings. Setting
|
|
these fields overrides the Stackdriver monitored resource API
|
|
values
|
|
items:
|
|
type: string
|
|
type: array
|
|
serviceAccountEmail:
|
|
description: Email associated with the service
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
serviceAccountSecret:
|
|
description: Private Key associated with the service
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
severityKey:
|
|
description: Specify the key that contains the severity information
|
|
for the logs
|
|
type: string
|
|
tagPrefix:
|
|
description: Used to validate the tags of logs that when the Resource
|
|
is k8s_container, k8s_node, or k8s_pod
|
|
type: string
|
|
taskID:
|
|
description: Identifier for a task within a namespace. Required
|
|
if Resource is generic_task
|
|
type: string
|
|
workers:
|
|
description: Number of dedicated threads for the Stackdriver Output
|
|
Plugin
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdout:
|
|
description: Stdout defines Stdout Output configuration.
|
|
properties:
|
|
format:
|
|
description: Specify the data format to be printed. Supported
|
|
formats are msgpack json, json_lines and json_stream.
|
|
enum:
|
|
- msgpack
|
|
- json
|
|
- json_lines
|
|
- json_stream
|
|
type: string
|
|
jsonDateFormat:
|
|
description: 'Specify the format of the date. Supported formats
|
|
are double, iso8601 (eg: 2018-05-30T09:39:52.000681Z) and epoch.'
|
|
enum:
|
|
- double
|
|
- iso8601
|
|
- epoch
|
|
type: string
|
|
jsonDateKey:
|
|
description: Specify the name of the date field in output.
|
|
type: string
|
|
type: object
|
|
syslog:
|
|
description: Syslog defines Syslog Output configuration.
|
|
properties:
|
|
host:
|
|
description: Host domain or IP address of the remote Syslog server.
|
|
type: string
|
|
mode:
|
|
description: Mode of the desired transport type, the available
|
|
options are tcp, tls and udp.
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP or UDP port of the remote Syslog server.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
syslogAppnameKey:
|
|
description: Key name from the original record that contains the
|
|
application name that generated the message.
|
|
type: string
|
|
syslogFacilityKey:
|
|
description: Key from the original record that contains the Syslog
|
|
facility number.
|
|
type: string
|
|
syslogFormat:
|
|
description: Syslog protocol format to use, the available options
|
|
are rfc3164 and rfc5424.
|
|
type: string
|
|
syslogHostnameKey:
|
|
description: Key name from the original record that contains the
|
|
hostname that generated the message.
|
|
type: string
|
|
syslogMaxSize:
|
|
description: Maximum size allowed per message, in bytes.
|
|
format: int32
|
|
type: integer
|
|
syslogMessageIDKey:
|
|
description: Key name from the original record that contains the
|
|
Message ID associated to the message.
|
|
type: string
|
|
syslogMessageKey:
|
|
description: Key key name that contains the message to deliver.
|
|
type: string
|
|
syslogProcessIDKey:
|
|
description: Key name from the original record that contains the
|
|
Process ID that generated the message.
|
|
type: string
|
|
syslogSDKey:
|
|
description: Key name from the original record that contains the
|
|
Structured Data (SD) content.
|
|
type: string
|
|
syslogSeverityKey:
|
|
description: Key from the original record that contains the Syslog
|
|
severity number.
|
|
type: string
|
|
tls:
|
|
description: |-
|
|
Syslog output plugin supports TTL/SSL, for more details about the properties available
|
|
and general configuration, please refer to the TLS/SSL section.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
type: object
|
|
tcp:
|
|
description: TCP defines TCP Output configuration.
|
|
properties:
|
|
format:
|
|
description: Specify the data format to be printed. Supported
|
|
formats are msgpack json, json_lines and json_stream.
|
|
enum:
|
|
- msgpack
|
|
- json
|
|
- json_lines
|
|
- json_stream
|
|
type: string
|
|
host:
|
|
description: Target host where Fluent-Bit or Fluentd are listening
|
|
for Forward messages.
|
|
type: string
|
|
jsonDateFormat:
|
|
description: |-
|
|
Specify the format of the date. Supported formats are double, epoch
|
|
and iso8601 (eg: 2018-05-30T09:39:52.000681Z)
|
|
enum:
|
|
- double
|
|
- epoch
|
|
- iso8601
|
|
type: string
|
|
jsonDateKey:
|
|
description: |-
|
|
TSpecify the name of the time key in the output record.
|
|
To disable the time key just set the value to false.
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP Port of the target service.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusteroutputs.fluentd.fluent.io
|
|
spec:
|
|
group: fluentd.fluent.io
|
|
names:
|
|
kind: ClusterOutput
|
|
listKind: ClusterOutputList
|
|
plural: clusteroutputs
|
|
shortNames:
|
|
- cfdo
|
|
singular: clusteroutput
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterOutput is the Schema for the clusteroutputs 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: ClusterOutputSpec defines the desired state of ClusterOutput
|
|
properties:
|
|
outputs:
|
|
items:
|
|
description: Output defines all available output plugins and their
|
|
parameters
|
|
properties:
|
|
buffer:
|
|
description: buffer section
|
|
properties:
|
|
calcNumRecords:
|
|
description: Calculates the number of records, chunk size,
|
|
during chunk resume.
|
|
type: string
|
|
chunkFormat:
|
|
description: ChunkFormat specifies the chunk format for
|
|
calc_num_records.
|
|
enum:
|
|
- msgpack
|
|
- text
|
|
- auto
|
|
type: string
|
|
chunkLimitRecords:
|
|
description: The max number of events that each chunks can
|
|
store in it.
|
|
pattern: ^\d+(KB|MB|GB|TB)$
|
|
type: string
|
|
chunkLimitSize:
|
|
description: |-
|
|
Buffer parameters
|
|
The max size of each chunks: events will be written into chunks until the size of chunks become this size
|
|
Default: 8MB (memory) / 256MB (file)
|
|
pattern: ^\d+(KB|MB|GB|TB)$
|
|
type: string
|
|
compress:
|
|
description: |-
|
|
Fluentd will decompress these compressed chunks automatically before passing them to the output plugin
|
|
If gzip is set, Fluentd compresses data records before writing to buffer chunks.
|
|
Default:text.
|
|
enum:
|
|
- text
|
|
- gzip
|
|
type: string
|
|
delayedCommitTimeout:
|
|
description: The timeout (seconds) until output plugin decides
|
|
if the async write operation has failed. Default is 60s
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
disableChunkBackup:
|
|
description: Instead of storing unrecoverable chunks in
|
|
the backup directory, just discard them. This option is
|
|
new in Fluentd v1.2.6.
|
|
type: boolean
|
|
flushAtShutdown:
|
|
description: |-
|
|
Flush parameters
|
|
This specifies whether to flush/write all buffer chunks on shutdown or not.
|
|
type: boolean
|
|
flushInterval:
|
|
description: FlushInterval defines the flush interval
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
flushMode:
|
|
description: |-
|
|
FlushMode defines the flush mode:
|
|
lazy: flushes/writes chunks once per timekey
|
|
interval: flushes/writes chunks per specified time via flush_interval
|
|
immediate: flushes/writes chunks immediately after events are appended into chunks
|
|
default: equals to lazy if time is specified as chunk key, interval otherwise
|
|
enum:
|
|
- default
|
|
- lazy
|
|
- interval
|
|
- immediate
|
|
type: string
|
|
flushThreadCount:
|
|
description: The number of threads to flush/write chunks
|
|
in parallel
|
|
pattern: ^\d+$
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique name for
|
|
the configuration.
|
|
type: string
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
overflowAction:
|
|
description: |-
|
|
OverflowAtction defines the output plugin behave when its buffer queue is full.
|
|
Default: throw_exception
|
|
type: string
|
|
path:
|
|
description: The path where buffer chunks are stored. This
|
|
field would make no effect in memory buffer plugin.
|
|
type: string
|
|
pathSuffix:
|
|
description: Changes the suffix of the buffer file.
|
|
type: string
|
|
queueLimitLength:
|
|
description: 'The queue length limitation of this buffer
|
|
plugin instance. Default: 0.95'
|
|
pattern: ^\d+.?\d+$
|
|
type: string
|
|
queuedChunksLimitSize:
|
|
description: |-
|
|
Limit the number of queued chunks. Default: 1
|
|
If a smaller flush_interval is set, e.g. 1s,
|
|
there are lots of small queued chunks in the buffer.
|
|
With file buffer, it may consume a lot of fd resources when output destination has a problem.
|
|
This parameter mitigates such situations.
|
|
minimum: 1
|
|
type: integer
|
|
retryExponentialBackoffBase:
|
|
description: The base number of exponential backoff for
|
|
retries.
|
|
pattern: ^\d+(\.[0-9]{0,2})?$
|
|
type: string
|
|
retryForever:
|
|
description: If true, plugin will ignore retry_timeout and
|
|
retry_max_times options and retry flushing forever.
|
|
type: boolean
|
|
retryMaxInterval:
|
|
description: The maximum interval (seconds) for exponential
|
|
backoff between retries while failing
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
retryMaxTimes:
|
|
description: 'The maximum number of times to retry to flush
|
|
the failed chunks. Default: none'
|
|
type: integer
|
|
retryRandomize:
|
|
description: If true, the output plugin will retry after
|
|
randomized interval not to do burst retries
|
|
type: boolean
|
|
retrySecondaryThreshold:
|
|
description: The ratio of retry_timeout to switch to use
|
|
the secondary while failing.
|
|
pattern: ^\d+.?\d+$
|
|
type: string
|
|
retryTimeout:
|
|
description: |-
|
|
Retry parameters
|
|
The maximum time (seconds) to retry to flush again the failed chunks, until the plugin discards the buffer chunks
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
retryType:
|
|
description: Output plugin will retry periodically with
|
|
fixed intervals.
|
|
type: string
|
|
retryWait:
|
|
description: Wait in seconds before the next retry to flush
|
|
or constant factor of exponential backoff
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
tag:
|
|
description: |-
|
|
The output plugins group events into chunks.
|
|
Chunk keys, specified as the argument of <buffer> section, control how to group events into chunks.
|
|
If tag is empty, which means blank Chunk Keys.
|
|
Tag also supports Nested Field, combination of Chunk Keys, placeholders, etc.
|
|
See https://docs.fluentd.org/configuration/buffer-section.
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this type,
|
|
default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timekey:
|
|
description: Output plugin will flush chunks per specified
|
|
time (enabled when time is specified in chunk keys)
|
|
type: string
|
|
timekeyWait:
|
|
description: Output plugin will write chunks after timekey_wait
|
|
seconds later after timekey expiration
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
totalLimitSize:
|
|
description: |-
|
|
The size limitation of this buffer plugin instance
|
|
Default: 512MB (memory) / 64GB (file)
|
|
pattern: ^\d+(KB|MB|GB|TB)$
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type of the
|
|
plugin.
|
|
enum:
|
|
- file
|
|
- memory
|
|
- file_single
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
required:
|
|
- type
|
|
type: object
|
|
cloudWatch:
|
|
description: out_cloudwatch plugin
|
|
properties:
|
|
autoCreateStream:
|
|
type: boolean
|
|
awsEcsAuthentication:
|
|
type: boolean
|
|
awsKeyId:
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
awsSecKey:
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
awsStsDurationSeconds:
|
|
type: string
|
|
awsStsEndpointUrl:
|
|
type: string
|
|
awsStsExternalId:
|
|
type: string
|
|
awsStsPolicy:
|
|
type: string
|
|
awsStsRoleArn:
|
|
type: string
|
|
awsStsSessionName:
|
|
type: string
|
|
awsUseSts:
|
|
type: boolean
|
|
concurrency:
|
|
type: integer
|
|
durationSeconds:
|
|
type: string
|
|
endpoint:
|
|
description: Specify an AWS endpoint to send data to.
|
|
type: string
|
|
httpProxy:
|
|
type: string
|
|
includeTimeKey:
|
|
type: boolean
|
|
jsonHandler:
|
|
type: string
|
|
localtime:
|
|
type: boolean
|
|
logGroupAwsTags:
|
|
type: string
|
|
logGroupAwsTagsKey:
|
|
type: string
|
|
logGroupName:
|
|
type: string
|
|
logGroupNameKey:
|
|
type: string
|
|
logRejectedRequest:
|
|
type: string
|
|
logStreamName:
|
|
type: string
|
|
logStreamNameKey:
|
|
type: string
|
|
maxEventsPerBatch:
|
|
type: string
|
|
maxMessageLength:
|
|
type: string
|
|
messageKeys:
|
|
type: string
|
|
policy:
|
|
type: string
|
|
putLogEventsDisableRetryLimit:
|
|
type: boolean
|
|
putLogEventsRetryLimit:
|
|
type: string
|
|
putLogEventsRetryWait:
|
|
type: string
|
|
region:
|
|
description: The AWS region.
|
|
type: string
|
|
removeLogGroupAwsTagsKey:
|
|
type: boolean
|
|
removeLogGroupNameKey:
|
|
type: boolean
|
|
removeLogStreamNameKey:
|
|
type: boolean
|
|
removeRetentionInDaysKey:
|
|
type: boolean
|
|
retentionInDays:
|
|
type: string
|
|
retentionInDaysKey:
|
|
type: string
|
|
roleArn:
|
|
description: ARN of an IAM role to assume (for cross account
|
|
access).
|
|
type: string
|
|
roleSessionName:
|
|
description: Role Session name
|
|
type: string
|
|
sslVerifyPeer:
|
|
type: boolean
|
|
useTagAsGroup:
|
|
type: string
|
|
useTagAsStream:
|
|
type: string
|
|
webIdentityTokenFile:
|
|
description: Web identity token file
|
|
type: string
|
|
type: object
|
|
copy:
|
|
description: copy plugin
|
|
properties:
|
|
copyMode:
|
|
description: CopyMode defines how to pass the events to
|
|
<store> plugins.
|
|
enum:
|
|
- no_copy
|
|
- shallow
|
|
- deep
|
|
- marshal
|
|
type: string
|
|
required:
|
|
- copyMode
|
|
type: object
|
|
customPlugin:
|
|
description: Custom plugin type
|
|
properties:
|
|
config:
|
|
type: string
|
|
required:
|
|
- config
|
|
type: object
|
|
datadog:
|
|
description: datadog plugin
|
|
properties:
|
|
apiKey:
|
|
description: This parameter is required in order to authenticate
|
|
your fluent agent.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
compressionLevel:
|
|
description: Set the log compression level for HTTP (1 to
|
|
9, 9 being the best ratio)
|
|
format: int32
|
|
type: integer
|
|
ddHostname:
|
|
description: Used by Datadog to identify the host submitting
|
|
the logs.
|
|
type: string
|
|
ddSource:
|
|
description: This tells Datadog what integration it is
|
|
type: string
|
|
ddSourcecategory:
|
|
description: Multiple value attribute. Can be used to refine
|
|
the source attribute
|
|
type: string
|
|
ddTags:
|
|
description: Custom tags with the following format "key1:value1,
|
|
key2:value2"
|
|
type: string
|
|
host:
|
|
description: Proxy endpoint when logs are not directly forwarded
|
|
to Datadog
|
|
type: string
|
|
httpProxy:
|
|
description: HTTP proxy, only takes effect if HTTP forwarding
|
|
is enabled (use_http). Defaults to HTTP_PROXY/http_proxy
|
|
env vars.
|
|
type: string
|
|
includeTagKey:
|
|
description: Automatically include the Fluentd tag in the
|
|
record.
|
|
type: boolean
|
|
maxBackoff:
|
|
description: The maximum time waited between each retry
|
|
in seconds
|
|
format: int32
|
|
type: integer
|
|
maxRetries:
|
|
description: The number of retries before the output plugin
|
|
stops. Set to -1 for unlimited retries
|
|
format: int32
|
|
type: integer
|
|
noSSLValidation:
|
|
description: Disable SSL validation (useful for proxy forwarding)
|
|
type: boolean
|
|
port:
|
|
description: Proxy port when logs are not directly forwarded
|
|
to Datadog and ssl is not used
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
service:
|
|
description: Used by Datadog to correlate between logs,
|
|
traces and metrics.
|
|
type: string
|
|
sslPort:
|
|
description: Port used to send logs over a SSL encrypted
|
|
connection to Datadog. If use_http is disabled, use 10516
|
|
for the US region and 443 for the EU region.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
tagKey:
|
|
description: Where to store the Fluentd tag.
|
|
type: string
|
|
timestampKey:
|
|
description: Name of the attribute which will contain timestamp
|
|
of the log event. If nil, timestamp attribute is not added.
|
|
type: string
|
|
useCompression:
|
|
description: Enable log compression for HTTP
|
|
type: boolean
|
|
useHTTP:
|
|
description: Enable HTTP forwarding. If you disable it,
|
|
make sure to change the port to 10514 or ssl_port to 10516
|
|
type: boolean
|
|
useJson:
|
|
description: Event format, if true, the event is sent in
|
|
json format. Othwerwise, in plain text.
|
|
type: boolean
|
|
useSSL:
|
|
description: If true, the agent initializes a secure connection
|
|
to Datadog. In clear TCP otherwise.
|
|
type: boolean
|
|
type: object
|
|
elasticsearch:
|
|
description: out_es plugin
|
|
properties:
|
|
caFile:
|
|
description: Optional, Absolute path to CA certificate file
|
|
type: string
|
|
clientCert:
|
|
description: Optional, Absolute path to client Certificate
|
|
file
|
|
type: string
|
|
clientKey:
|
|
description: Optional, Absolute path to client private Key
|
|
file
|
|
type: string
|
|
clientKeyPassword:
|
|
description: Optional, password for ClientKey file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudAuth:
|
|
description: Authenticate towards Elastic Cloud using cloudAuth.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudId:
|
|
description: |-
|
|
Authenticate towards Elastic Cloud using CloudId. If set, cloudAuth must
|
|
be set as well and host, port, user and password are ignored.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
enableIlm:
|
|
description: Optional, Enable Index Lifecycle Management
|
|
(ILM)
|
|
type: boolean
|
|
failOnPuttingTemplateRetryExceeded:
|
|
description: 'Optional, Indicates whether to fail when max_retry_putting_template
|
|
is exceeded. If you have multiple output plugin, you could
|
|
use this property to do not fail on fluentd statup (default:
|
|
false)'
|
|
type: boolean
|
|
host:
|
|
description: 'The hostname of your Elasticsearch node (default:
|
|
localhost).'
|
|
type: string
|
|
hosts:
|
|
description: Hosts defines a list of hosts if you want to
|
|
connect to more than one Elasticsearch nodes
|
|
type: string
|
|
ilmPolicy:
|
|
description: Optional, Specify ILM policy contents as Hash
|
|
type: string
|
|
ilmPolicyId:
|
|
description: Optional, Specify ILM policy id
|
|
type: string
|
|
ilmPolicyOverride:
|
|
description: Optional, Specify whether overwriting ilm policy
|
|
or not
|
|
type: boolean
|
|
indexName:
|
|
description: IndexName defines the placeholder syntax of
|
|
Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
|
|
type: string
|
|
logEs400Reason:
|
|
description: Optional, Enable logging of 400 reason without
|
|
enabling debug log level
|
|
type: boolean
|
|
logstashFormat:
|
|
description: 'If true, Fluentd uses the conventional index
|
|
name format logstash-%Y.%m.%d (default: false). This option
|
|
supersedes the index_name option.'
|
|
type: boolean
|
|
logstashPrefix:
|
|
description: 'LogstashPrefix defines the logstash prefix
|
|
index name to write events when logstash_format is true
|
|
(default: logstash).'
|
|
type: string
|
|
maxRetryPuttingTemplate:
|
|
description: 'Optional, You can specify times of retry putting
|
|
template (default: 10)'
|
|
format: int32
|
|
type: integer
|
|
password:
|
|
description: Optional, The login credentials to connect
|
|
to Elasticsearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
path:
|
|
description: 'Path defines the REST API endpoint of Elasticsearch
|
|
to post write requests (default: nil).'
|
|
type: string
|
|
port:
|
|
description: 'The port number of your Elasticsearch node
|
|
(default: 9200).'
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
reconnectOnError:
|
|
description: 'Optional, Indicates that the plugin should
|
|
reset connection on any error (reconnect on next send)
|
|
(default: false)'
|
|
type: boolean
|
|
reloadAfter:
|
|
description: Optional, When ReloadConnections true, this
|
|
is the integer number of operations after which the plugin
|
|
will reload the connections. The default value is 10000.
|
|
format: int32
|
|
type: integer
|
|
reloadConnections:
|
|
description: 'Optional, Automatically reload connection
|
|
after 10000 documents (default: true)'
|
|
type: boolean
|
|
reloadOnFailure:
|
|
description: 'Optional, Indicates that the elasticsearch-transport
|
|
will try to reload the nodes addresses if there is a failure
|
|
while making the request, this can be useful to quickly
|
|
remove a dead node from the list of addresses (default:
|
|
false)'
|
|
type: boolean
|
|
requestTimeout:
|
|
description: 'Optional, HTTP Timeout (default: 5)'
|
|
pattern: ^\d+(s|m|h|d)$
|
|
type: string
|
|
scheme:
|
|
description: 'Specify https if your Elasticsearch endpoint
|
|
supports SSL (default: http).'
|
|
type: string
|
|
snifferClassName:
|
|
description: Optional, Provide a different sniffer class
|
|
name
|
|
type: string
|
|
sslVerify:
|
|
description: Optional, Force certificate validation
|
|
type: boolean
|
|
suppressTypeName:
|
|
description: Optional, Suppress '[types removal]' warnings
|
|
on elasticsearch 7.x
|
|
type: boolean
|
|
templateOverwrite:
|
|
description: 'Optional, Always update the template, even
|
|
if it already exists (default: false)'
|
|
type: boolean
|
|
user:
|
|
description: Optional, The login credentials to connect
|
|
to Elasticsearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
elasticsearchDataStream:
|
|
description: out_es datastreams plugin
|
|
properties:
|
|
caFile:
|
|
description: Optional, Absolute path to CA certificate file
|
|
type: string
|
|
clientCert:
|
|
description: Optional, Absolute path to client Certificate
|
|
file
|
|
type: string
|
|
clientKey:
|
|
description: Optional, Absolute path to client private Key
|
|
file
|
|
type: string
|
|
clientKeyPassword:
|
|
description: Optional, password for ClientKey file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudAuth:
|
|
description: Authenticate towards Elastic Cloud using cloudAuth.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudId:
|
|
description: |-
|
|
Authenticate towards Elastic Cloud using CloudId. If set, cloudAuth must
|
|
be set as well and host, port, user and password are ignored.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
dataStreamIlmName:
|
|
description: Optional, You can specify the name of an existing
|
|
ILM policy, which will be applied to the data stream.
|
|
If not present, it creates a new ILM default policy (unless
|
|
data_stream_template_name is defined, in that case the
|
|
ILM will be set to the one specified in the matching index
|
|
template)
|
|
type: string
|
|
dataStreamIlmPolicy:
|
|
description: Optional, You can specify the ILM policy contents
|
|
as hash. If not present, it will apply the ILM default
|
|
policy
|
|
type: string
|
|
dataStreamIlmPolicyOverwrite:
|
|
description: Optional, Specify whether the data stream ILM
|
|
policy should be overwritten
|
|
type: boolean
|
|
dataStreamName:
|
|
description: You can specify Elasticsearch data stream name
|
|
by this parameter. This parameter is mandatory for elasticsearch_data_stream
|
|
type: string
|
|
dataStreamTemplateName:
|
|
description: Optional, You can specify an existing matching
|
|
index template for the data stream. If not present, it
|
|
creates a new matching index template
|
|
type: string
|
|
dataStreamTemplateUseIndexPatternsWildcard:
|
|
description: Optional, Specify whether index patterns should
|
|
include a wildcard (*) when creating an index template.
|
|
This is particularly useful to prevent errors in scenarios
|
|
where index templates are generated automatically, and
|
|
multiple services with distinct suffixes are in use
|
|
type: boolean
|
|
enableIlm:
|
|
description: Optional, Enable Index Lifecycle Management
|
|
(ILM)
|
|
type: boolean
|
|
failOnPuttingTemplateRetryExceeded:
|
|
description: 'Optional, Indicates whether to fail when max_retry_putting_template
|
|
is exceeded. If you have multiple output plugin, you could
|
|
use this property to do not fail on fluentd statup (default:
|
|
false)'
|
|
type: boolean
|
|
host:
|
|
description: 'The hostname of your Elasticsearch node (default:
|
|
localhost).'
|
|
type: string
|
|
hosts:
|
|
description: Hosts defines a list of hosts if you want to
|
|
connect to more than one Elasticsearch nodes
|
|
type: string
|
|
ilmPolicy:
|
|
description: Optional, Specify ILM policy contents as Hash
|
|
type: string
|
|
ilmPolicyId:
|
|
description: Optional, Specify ILM policy id
|
|
type: string
|
|
ilmPolicyOverride:
|
|
description: Optional, Specify whether overwriting ilm policy
|
|
or not
|
|
type: boolean
|
|
logEs400Reason:
|
|
description: Optional, Enable logging of 400 reason without
|
|
enabling debug log level
|
|
type: boolean
|
|
maxRetryPuttingTemplate:
|
|
description: 'Optional, You can specify times of retry putting
|
|
template (default: 10)'
|
|
format: int32
|
|
type: integer
|
|
password:
|
|
description: Optional, The login credentials to connect
|
|
to Elasticsearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
path:
|
|
description: 'Path defines the REST API endpoint of Elasticsearch
|
|
to post write requests (default: nil).'
|
|
type: string
|
|
port:
|
|
description: 'The port number of your Elasticsearch node
|
|
(default: 9200).'
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
reconnectOnError:
|
|
description: 'Optional, Indicates that the plugin should
|
|
reset connection on any error (reconnect on next send)
|
|
(default: false)'
|
|
type: boolean
|
|
reloadAfter:
|
|
description: Optional, When ReloadConnections true, this
|
|
is the integer number of operations after which the plugin
|
|
will reload the connections. The default value is 10000.
|
|
format: int32
|
|
type: integer
|
|
reloadConnections:
|
|
description: 'Optional, Automatically reload connection
|
|
after 10000 documents (default: true)'
|
|
type: boolean
|
|
reloadOnFailure:
|
|
description: 'Optional, Indicates that the elasticsearch-transport
|
|
will try to reload the nodes addresses if there is a failure
|
|
while making the request, this can be useful to quickly
|
|
remove a dead node from the list of addresses (default:
|
|
false)'
|
|
type: boolean
|
|
requestTimeout:
|
|
description: 'Optional, HTTP Timeout (default: 5)'
|
|
pattern: ^\d+(s|m|h|d)$
|
|
type: string
|
|
scheme:
|
|
description: 'Specify https if your Elasticsearch endpoint
|
|
supports SSL (default: http).'
|
|
type: string
|
|
snifferClassName:
|
|
description: Optional, Provide a different sniffer class
|
|
name
|
|
type: string
|
|
sslVerify:
|
|
description: Optional, Force certificate validation
|
|
type: boolean
|
|
suppressTypeName:
|
|
description: Optional, Suppress '[types removal]' warnings
|
|
on elasticsearch 7.x
|
|
type: boolean
|
|
templateOverwrite:
|
|
description: 'Optional, Always update the template, even
|
|
if it already exists (default: false)'
|
|
type: boolean
|
|
user:
|
|
description: Optional, The login credentials to connect
|
|
to Elasticsearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
required:
|
|
- dataStreamName
|
|
type: object
|
|
format:
|
|
description: format section
|
|
properties:
|
|
delimiter:
|
|
description: Delimiter for each field.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique name for
|
|
the configuration.
|
|
type: string
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
newline:
|
|
description: Specify newline characters.
|
|
enum:
|
|
- lf
|
|
- crlf
|
|
type: string
|
|
outputTag:
|
|
description: Output tag field if true.
|
|
type: boolean
|
|
outputTime:
|
|
description: Output time field if true.
|
|
type: boolean
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this type,
|
|
default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type of the
|
|
plugin.
|
|
enum:
|
|
- out_file
|
|
- json
|
|
- ltsv
|
|
- csv
|
|
- msgpack
|
|
- hash
|
|
- single_value
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
type: object
|
|
forward:
|
|
description: out_forward plugin
|
|
properties:
|
|
ackResponseTimeout:
|
|
description: This option is used when require_ack_response
|
|
is true. This default value is based on popular tcp_syn_retries.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
connectTimeout:
|
|
description: The connection timeout for the socket. When
|
|
the connection is timed out during the connection establishment,
|
|
Errno::ETIMEDOUT error is raised.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
dnsRoundRobin:
|
|
description: |-
|
|
Enable client-side DNS round robin. Uniform randomly pick an IP address to send data when a hostname has several IP addresses.
|
|
heartbeat_type udp is not available with dns_round_robintrue. Use heartbeat_type tcp or heartbeat_type none.
|
|
type: boolean
|
|
expireDnsCache:
|
|
description: Sets TTL to expire DNS cache in seconds. Set
|
|
0 not to use DNS Cache.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
hardTimeout:
|
|
description: The hard timeout used to detect server failure.
|
|
The default value is equal to the send_timeout parameter.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
heartbeatInterval:
|
|
description: The interval of the heartbeat packer.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
heartbeatType:
|
|
description: Specifies the transport protocol for heartbeats.
|
|
Set none to disable.
|
|
enum:
|
|
- transport
|
|
- tcp
|
|
- udp
|
|
- none
|
|
type: string
|
|
ignoreNetworkErrorsAtStartup:
|
|
description: Ignores DNS resolution and errors at startup
|
|
time.
|
|
type: boolean
|
|
keepalive:
|
|
description: Enables the keepalive connection.
|
|
type: boolean
|
|
keepaliveTimeout:
|
|
description: Timeout for keepalive. Default value is nil
|
|
which means to keep the connection alive as long as possible.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
phiFailureDetector:
|
|
description: Use the "Phi accrual failure detector" to detect
|
|
server failure.
|
|
type: boolean
|
|
phiThreshold:
|
|
description: The threshold parameter used to detect server
|
|
faults.
|
|
type: integer
|
|
recoverWait:
|
|
description: The wait time before accepting a server fault
|
|
recovery.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
requireAckResponse:
|
|
description: Changes the protocol to at-least-once. The
|
|
plugin waits the ack from destination's in_forward plugin.
|
|
type: boolean
|
|
security:
|
|
description: ServiceDiscovery defines the security section
|
|
properties:
|
|
allowAnonymousSource:
|
|
description: Allows the anonymous source. <client> 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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
sendTimeout:
|
|
description: The timeout time when sending event logs.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
servers:
|
|
description: Servers defines the servers section, at least
|
|
one is required
|
|
items:
|
|
description: Server defines the common parameters for
|
|
the server plugin
|
|
properties:
|
|
host:
|
|
description: Host defines the IP address or host name
|
|
of the server.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique
|
|
name for the configuration.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies the
|
|
plugin-specific logging level
|
|
type: string
|
|
name:
|
|
description: Name defines the name of the server.
|
|
Used for logging and certificate verification in
|
|
TLS transport (when the host is the address).
|
|
type: string
|
|
password:
|
|
description: Password defines the password for authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
port:
|
|
description: Port defines the port number of the host.
|
|
Note that both TCP packets (event stream) and UDP
|
|
packets (heartbeat messages) are sent to this port.
|
|
type: string
|
|
sharedKey:
|
|
description: SharedKey defines the shared key per
|
|
server.
|
|
type: string
|
|
standby:
|
|
description: Standby marks a node as the standby node
|
|
for an Active-Standby model between Fluentd nodes.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type
|
|
of the plugin.
|
|
type: string
|
|
username:
|
|
description: Username defines the username for authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
weight:
|
|
description: Weight defines the load balancing weight
|
|
type: string
|
|
type: object
|
|
type: array
|
|
serviceDiscovery:
|
|
description: ServiceDiscovery defines the service_discovery
|
|
section
|
|
properties:
|
|
confEncoding:
|
|
description: The encoding of the configuration file.
|
|
type: string
|
|
dnsLookup:
|
|
description: DnsLookup resolves the hostname to IP address
|
|
of the SRV's Target.
|
|
type: string
|
|
dnsServerHost:
|
|
description: DnsServerHost defines the hostname of the
|
|
DNS server to request the SRV record.
|
|
type: string
|
|
hostname:
|
|
description: The name in RFC2782.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique name
|
|
for the configuration.
|
|
type: string
|
|
interval:
|
|
description: Interval defines the interval of sending
|
|
requests to DNS server.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies the
|
|
plugin-specific logging level
|
|
type: string
|
|
path:
|
|
description: The path of the target list. Default is
|
|
'/etc/fluent/sd.yaml'
|
|
type: string
|
|
proto:
|
|
description: Proto without the underscore in RFC2782.
|
|
type: string
|
|
server:
|
|
description: The server section of this plugin
|
|
properties:
|
|
host:
|
|
description: Host defines the IP address or host
|
|
name of the server.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique
|
|
name for the configuration.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies
|
|
the plugin-specific logging level
|
|
type: string
|
|
name:
|
|
description: Name defines the name of the server.
|
|
Used for logging and certificate verification
|
|
in TLS transport (when the host is the address).
|
|
type: string
|
|
password:
|
|
description: Password defines the password for authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
port:
|
|
description: Port defines the port number of the
|
|
host. Note that both TCP packets (event stream)
|
|
and UDP packets (heartbeat messages) are sent
|
|
to this port.
|
|
type: string
|
|
sharedKey:
|
|
description: SharedKey defines the shared key per
|
|
server.
|
|
type: string
|
|
standby:
|
|
description: Standby marks a node as the standby
|
|
node for an Active-Standby model between Fluentd
|
|
nodes.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type
|
|
of the plugin.
|
|
type: string
|
|
username:
|
|
description: Username defines the username for authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
weight:
|
|
description: Weight defines the load balancing weight
|
|
type: string
|
|
type: object
|
|
service:
|
|
description: Service without the underscore in RFC2782.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type
|
|
of the plugin.
|
|
enum:
|
|
- static
|
|
- file
|
|
- srv
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
tlsAllowSelfSignedCert:
|
|
description: Allows self-signed certificates or not.
|
|
type: boolean
|
|
tlsCertLogicalStoreName:
|
|
description: The certificate logical store name on Windows
|
|
system certstore. This parameter is for Windows only.
|
|
type: string
|
|
tlsCertPath:
|
|
description: The additional CA certificate path for TLS.
|
|
type: string
|
|
tlsCertThumbprint:
|
|
description: The certificate thumbprint for searching from
|
|
Windows system certstore. This parameter is for Windows
|
|
only.
|
|
type: string
|
|
tlsCertUseEnterpriseStore:
|
|
description: Enables the certificate enterprise store on
|
|
Windows system certstore. This parameter is for Windows
|
|
only.
|
|
type: boolean
|
|
tlsCiphers:
|
|
description: The cipher configuration of TLS transport.
|
|
type: string
|
|
tlsClientCertPath:
|
|
description: The client certificate path for TLS.
|
|
type: string
|
|
tlsClientPrivateKeyPassphrase:
|
|
description: The TLS private key passphrase for the client.
|
|
type: string
|
|
tlsClientPrivateKeyPath:
|
|
description: The client private key path for TLS.
|
|
type: string
|
|
tlsInsecureMode:
|
|
description: Skips all verification of certificates or not.
|
|
type: boolean
|
|
tlsVerifyHostname:
|
|
description: Verifies hostname of servers and certificates
|
|
or not in TLS transport.
|
|
type: boolean
|
|
tlsVersion:
|
|
description: The default version of TLS transport.
|
|
enum:
|
|
- TLSv1_1
|
|
- TLSv1_2
|
|
type: string
|
|
verifyConnectionAtStartup:
|
|
description: Verify that a connection can be made with one
|
|
of out_forward nodes at the time of startup.
|
|
type: boolean
|
|
required:
|
|
- servers
|
|
type: object
|
|
http:
|
|
description: out_http plugin
|
|
properties:
|
|
auth:
|
|
description: Auth section for this plugin
|
|
properties:
|
|
auth:
|
|
description: The method for HTTP authentication. Now
|
|
only basic.
|
|
type: string
|
|
password:
|
|
description: The password for basic authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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: The username for basic authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
contentType:
|
|
description: ContentType defines Content-Type for HTTP request.
|
|
out_http automatically set Content-Type for built-in formatters
|
|
when this parameter is not specified.
|
|
type: string
|
|
endpoint:
|
|
description: Endpoint defines the endpoint for HTTP request.
|
|
If you want to use HTTPS, use https prefix.
|
|
type: string
|
|
errorResponseAsUnrecoverable:
|
|
description: Raise UnrecoverableError when the response
|
|
code is not SUCCESS.
|
|
type: boolean
|
|
headers:
|
|
description: Headers defines the additional headers for
|
|
HTTP request.
|
|
type: string
|
|
headersFromPlaceholders:
|
|
description: Additional placeholder based headers for HTTP
|
|
request. If you want to use tag or record field, use this
|
|
parameter instead of headers.
|
|
type: string
|
|
httpMethod:
|
|
description: HttpMethod defines the method for HTTP request.
|
|
enum:
|
|
- post
|
|
- put
|
|
type: string
|
|
jsonArray:
|
|
description: JsonArray defines whether to use the array
|
|
format of JSON or not
|
|
type: boolean
|
|
openTimeout:
|
|
description: OpenTimeout defines the connection open timeout
|
|
in seconds.
|
|
type: integer
|
|
proxy:
|
|
description: Proxy defines the proxy for HTTP request.
|
|
type: string
|
|
readTimeout:
|
|
description: ReadTimeout defines the read timeout in seconds.
|
|
type: integer
|
|
retryableResponseCodes:
|
|
description: The list of retryable response codes. If the
|
|
response code is included in this list, out_http retries
|
|
the buffer flush.
|
|
type: string
|
|
sslTimeout:
|
|
description: SslTimeout defines the TLS timeout in seconds.
|
|
type: integer
|
|
tlsCaCertPath:
|
|
description: TlsCaCertPath defines the CA certificate path
|
|
for TLS.
|
|
type: string
|
|
tlsCiphers:
|
|
description: TlsCiphers defines the cipher suites configuration
|
|
of TLS.
|
|
type: string
|
|
tlsClientCertPath:
|
|
description: TlsClientCertPath defines the client certificate
|
|
path for TLS.
|
|
type: string
|
|
tlsPrivateKeyPassphrase:
|
|
description: TlsPrivateKeyPassphrase defines the client
|
|
private key passphrase for TLS.
|
|
type: string
|
|
tlsPrivateKeyPath:
|
|
description: TlsPrivateKeyPath defines the client private
|
|
key path for TLS.
|
|
type: string
|
|
tlsVerifyMode:
|
|
description: TlsVerifyMode defines the verify mode of TLS.
|
|
enum:
|
|
- peer
|
|
- none
|
|
type: string
|
|
tlsVersion:
|
|
description: TlsVersion defines the default version of TLS
|
|
transport.
|
|
enum:
|
|
- TLSv1_1
|
|
- TLSv1_2
|
|
type: string
|
|
type: object
|
|
inject:
|
|
description: inject section
|
|
properties:
|
|
hostname:
|
|
description: Hostname value
|
|
type: string
|
|
hostnameKey:
|
|
description: The field name to inject hostname
|
|
type: string
|
|
inline:
|
|
description: Time section
|
|
properties:
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this
|
|
type, default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
type: object
|
|
tagKey:
|
|
description: The field name to inject tag
|
|
type: string
|
|
timeKey:
|
|
description: The field name to inject time
|
|
type: string
|
|
workerIdKey:
|
|
description: The field name to inject worker_id
|
|
type: string
|
|
type: object
|
|
kafka:
|
|
description: out_kafka plugin
|
|
properties:
|
|
brokers:
|
|
description: 'The list of all seed brokers, with their host
|
|
and port information. Default: localhost:9092'
|
|
type: string
|
|
compressionCodec:
|
|
description: 'The codec the producer uses to compress messages
|
|
(default: nil).'
|
|
enum:
|
|
- gzip
|
|
- snappy
|
|
type: string
|
|
defaultTopic:
|
|
description: 'The name of the default topic. (default: nil)'
|
|
type: string
|
|
requiredAcks:
|
|
description: The number of acks required per request.
|
|
type: integer
|
|
topicKey:
|
|
description: The field name for the target topic. If the
|
|
field value is app, this plugin writes events to the app
|
|
topic.
|
|
type: string
|
|
useEventTime:
|
|
description: Set fluentd event time to Kafka's CreateTime.
|
|
type: boolean
|
|
type: object
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
loki:
|
|
description: out_loki plugin
|
|
properties:
|
|
bearerTokenFile:
|
|
description: |-
|
|
Set path to file with bearer authentication token
|
|
Can be used as alterntative to HTTP basic authentication
|
|
type: string
|
|
dropSingleKey:
|
|
description: If a record only has 1 key, then just set the
|
|
log line to the value and discard the key.
|
|
type: boolean
|
|
extractKubernetesLabels:
|
|
description: If set to true, it will add all Kubernetes
|
|
labels to the Stream labels.
|
|
type: boolean
|
|
httpPassword:
|
|
description: |-
|
|
Password for user defined in HTTP_User
|
|
Set HTTP basic authentication password
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Set HTTP basic authentication user name.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
includeThreadLabel:
|
|
description: Whether or not to include the fluentd_thread
|
|
label when multiple threads are used for flushing
|
|
type: boolean
|
|
insecure:
|
|
description: Disable certificate validation
|
|
type: boolean
|
|
labelKeys:
|
|
description: |-
|
|
Optional list of record keys that will be placed as stream labels.
|
|
This configuration property is for records key only.
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
description: |-
|
|
Stream labels for API request. It can be multiple comma separated of strings specifying key=value pairs.
|
|
In addition to fixed parameters, it also allows to add custom record keys (similar to label_keys property).
|
|
items:
|
|
type: string
|
|
type: array
|
|
lineFormat:
|
|
description: |-
|
|
Format to use when flattening the record to a log line. Valid values are json or key_value.
|
|
If set to json, the log line sent to Loki will be the Fluentd record dumped as JSON.
|
|
If set to key_value, the log line will be each item in the record concatenated together (separated by a single space) in the format.
|
|
enum:
|
|
- json
|
|
- key_value
|
|
type: string
|
|
removeKeys:
|
|
description: |-
|
|
Optional list of record keys that will be removed from stream labels.
|
|
This configuration property is for records key only.
|
|
items:
|
|
type: string
|
|
type: array
|
|
tenantID:
|
|
description: |-
|
|
Tenant ID used by default to push logs to Loki.
|
|
If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
tlsCaCertFile:
|
|
description: TlsCaCert defines the CA certificate file for
|
|
TLS.
|
|
type: string
|
|
tlsClientCertFile:
|
|
description: TlsClientCert defines the client certificate
|
|
file for TLS.
|
|
type: string
|
|
tlsPrivateKeyFile:
|
|
description: TlsPrivateKey defines the client private key
|
|
file for TLS.
|
|
type: string
|
|
url:
|
|
description: Loki URL.
|
|
type: string
|
|
required:
|
|
- url
|
|
type: object
|
|
opensearch:
|
|
description: out_opensearch plugin
|
|
properties:
|
|
host:
|
|
description: 'The hostname of your Opensearch node (default:
|
|
localhost).'
|
|
type: string
|
|
hosts:
|
|
description: Hosts defines a list of hosts if you want to
|
|
connect to more than one Openearch nodes
|
|
type: string
|
|
indexName:
|
|
description: IndexName defines the placeholder syntax of
|
|
Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
|
|
type: string
|
|
logstashFormat:
|
|
description: 'If true, Fluentd uses the conventional index
|
|
name format logstash-%Y.%m.%d (default: false). This option
|
|
supersedes the index_name option.'
|
|
type: boolean
|
|
logstashPrefix:
|
|
description: 'LogstashPrefix defines the logstash prefix
|
|
index name to write events when logstash_format is true
|
|
(default: logstash).'
|
|
type: string
|
|
password:
|
|
description: Optional, The login credentials to connect
|
|
to Opensearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
path:
|
|
description: 'Path defines the REST API endpoint of Opensearch
|
|
to post write requests (default: nil).'
|
|
type: string
|
|
port:
|
|
description: 'The port number of your Opensearch node (default:
|
|
9200).'
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
scheme:
|
|
description: 'Specify https if your Opensearch endpoint
|
|
supports SSL (default: http).'
|
|
type: string
|
|
sslVerify:
|
|
description: Optional, Force certificate validation
|
|
type: boolean
|
|
user:
|
|
description: Optional, The login credentials to connect
|
|
to Opensearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
s3:
|
|
description: out_s3 plugin
|
|
properties:
|
|
awsKeyId:
|
|
description: The AWS access key id.
|
|
type: string
|
|
awsSecKey:
|
|
description: The AWS secret key.
|
|
type: string
|
|
forcePathStyle:
|
|
description: This prevents AWS SDK from breaking endpoint
|
|
URL
|
|
type: boolean
|
|
path:
|
|
description: The path prefix of the files on S3.
|
|
type: string
|
|
proxyUri:
|
|
description: The proxy URL.
|
|
type: string
|
|
s3Bucket:
|
|
description: The Amazon S3 bucket name.
|
|
type: string
|
|
s3Endpoint:
|
|
description: The endpoint URL (like "http://localhost:9000/")
|
|
type: string
|
|
s3ObjectKeyFormat:
|
|
description: The actual S3 path. This is interpolated to
|
|
the actual path.
|
|
type: string
|
|
s3Region:
|
|
description: The Amazon S3 region name
|
|
type: string
|
|
sseCustomerAlgorithm:
|
|
description: The AWS KMS enctyption algorithm.
|
|
type: string
|
|
sseCustomerKey:
|
|
description: The AWS KMS key.
|
|
type: string
|
|
sseCustomerKeyMd5:
|
|
description: The AWS KMS key MD5.
|
|
type: string
|
|
ssekmsKeyId:
|
|
description: The AWS KMS key ID.
|
|
type: string
|
|
sslVerifyPeer:
|
|
description: Verify the SSL certificate of the endpoint.
|
|
type: boolean
|
|
storeAs:
|
|
description: The compression type.
|
|
enum:
|
|
- gzip
|
|
- lzo
|
|
- json
|
|
- txt
|
|
type: string
|
|
timeSliceFormat:
|
|
description: This timestamp is added to each file name
|
|
type: string
|
|
useServerSideEncryption:
|
|
description: the following parameters are for S3 kms https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
|
type: string
|
|
type: object
|
|
stdout:
|
|
description: out_stdout plugin
|
|
type: object
|
|
tag:
|
|
description: Which tag to be matched.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: ClusterOutputStatus defines the observed state of ClusterOutput
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: clusterparsers.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: ClusterParser
|
|
listKind: ClusterParserList
|
|
plural: clusterparsers
|
|
shortNames:
|
|
- cfbp
|
|
singular: clusterparser
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterParser is the Schema for the cluster-level parsers 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: ParserSpec defines the desired state of ClusterParser
|
|
properties:
|
|
decoders:
|
|
description: |-
|
|
Decoders are a built-in feature available through the Parsers file, each Parser definition can optionally set one or multiple decoders.
|
|
There are two type of decoders type: Decode_Field and Decode_Field_As.
|
|
items:
|
|
properties:
|
|
decodeField:
|
|
description: |-
|
|
If the content can be decoded in a structured message,
|
|
append that structure message (keys and values) to the original log message.
|
|
type: string
|
|
decodeFieldAs:
|
|
description: |-
|
|
Any content decoded (unstructured or structured) will be replaced in the same key/value,
|
|
no extra keys are added.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
json:
|
|
description: JSON defines json parser configuration.
|
|
properties:
|
|
timeFormat:
|
|
description: Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
|
|
type: string
|
|
timeKeep:
|
|
description: Time_Keep
|
|
type: boolean
|
|
timeKey:
|
|
description: Time_Key
|
|
type: string
|
|
type: object
|
|
logfmt:
|
|
description: Logfmt defines logfmt parser configuration.
|
|
type: object
|
|
ltsv:
|
|
description: LTSV defines ltsv parser configuration.
|
|
properties:
|
|
timeFormat:
|
|
description: Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
|
|
type: string
|
|
timeKeep:
|
|
description: Time_Keep
|
|
type: boolean
|
|
timeKey:
|
|
description: Time_Key
|
|
type: string
|
|
types:
|
|
type: string
|
|
type: object
|
|
regex:
|
|
description: Regex defines regex parser configuration.
|
|
properties:
|
|
regex:
|
|
type: string
|
|
timeFormat:
|
|
description: Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
|
|
type: string
|
|
timeKeep:
|
|
description: Time_Keep
|
|
type: boolean
|
|
timeKey:
|
|
description: Time_Key
|
|
type: string
|
|
timeOffset:
|
|
description: Time_Offset, eg. +0200
|
|
type: string
|
|
types:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: collectors.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: Collector
|
|
listKind: CollectorList
|
|
plural: collectors
|
|
shortNames:
|
|
- co
|
|
singular: collector
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Collector is the Schema for the fluentbits 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: CollectorSpec defines the desired state of FluentBit
|
|
properties:
|
|
affinity:
|
|
description: Pod's scheduling constraints.
|
|
properties:
|
|
nodeAffinity:
|
|
description: Describes node affinity scheduling rules for the
|
|
pod.
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node matches the corresponding matchExpressions; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: |-
|
|
An empty preferred scheduling term matches all objects with implicit weight 0
|
|
(i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
|
|
properties:
|
|
preference:
|
|
description: A node selector term, associated with the
|
|
corresponding weight.
|
|
properties:
|
|
matchExpressions:
|
|
description: A list of node selector requirements
|
|
by node's labels.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
description: A list of node selector requirements
|
|
by node's fields.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
description: Weight associated with matching the corresponding
|
|
nodeSelectorTerm, in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to an update), the system
|
|
may or may not try to eventually evict the pod from its node.
|
|
properties:
|
|
nodeSelectorTerms:
|
|
description: Required. A list of node selector terms.
|
|
The terms are ORed.
|
|
items:
|
|
description: |-
|
|
A null or empty node selector term matches no objects. The requirements of
|
|
them are ANDed.
|
|
The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
|
|
properties:
|
|
matchExpressions:
|
|
description: A list of node selector requirements
|
|
by node's labels.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
description: A list of node selector requirements
|
|
by node's fields.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
description: Describes pod affinity scheduling rules (e.g. co-locate
|
|
this pod in the same node, zone, etc. as some other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the matched WeightedPodAffinityTerm
|
|
fields are added per-node to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term, associated
|
|
with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: |-
|
|
weight associated with matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to a pod label update), the
|
|
system may or may not try to eventually evict the pod from its node.
|
|
When there are multiple elements, the lists of nodes corresponding to each
|
|
podAffinityTerm are intersected, i.e. all terms must be satisfied.
|
|
items:
|
|
description: |-
|
|
Defines a set of pods (namely those matching the labelSelector
|
|
relative to the given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity) with,
|
|
where co-located is defined as running on a node whose value of
|
|
the label with key <topologyKey> matches that of any node on which
|
|
a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
description: Describes pod anti-affinity scheduling rules (e.g.
|
|
avoid putting this pod in the same node, zone, etc. as some
|
|
other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the anti-affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling anti-affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the matched WeightedPodAffinityTerm
|
|
fields are added per-node to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term, associated
|
|
with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: |-
|
|
weight associated with matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the anti-affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the anti-affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to a pod label update), the
|
|
system may or may not try to eventually evict the pod from its node.
|
|
When there are multiple elements, the lists of nodes corresponding to each
|
|
podAffinityTerm are intersected, i.e. all terms must be satisfied.
|
|
items:
|
|
description: |-
|
|
Defines a set of pods (namely those matching the labelSelector
|
|
relative to the given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity) with,
|
|
where co-located is defined as running on a node whose value of
|
|
the label with key <topologyKey> matches that of any node on which
|
|
a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to each Fluentbit pod.
|
|
type: object
|
|
args:
|
|
description: Fluent Bit Watcher command line arguments.
|
|
items:
|
|
type: string
|
|
type: array
|
|
bufferPath:
|
|
description: The path where buffer chunks are stored.
|
|
type: string
|
|
disableService:
|
|
description: By default will build the related service according to
|
|
the globalinputs definition.
|
|
type: boolean
|
|
fluentBitConfigName:
|
|
description: Fluentbitconfig object associated with this Fluentbit
|
|
type: string
|
|
hostNetwork:
|
|
description: Host networking is requested for this pod. Use the host's
|
|
network namespace. If this option is set, the ports that will be
|
|
used must be specified. Default to false.
|
|
type: boolean
|
|
image:
|
|
description: Fluent Bit image.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Fluent Bit image pull policy.
|
|
type: string
|
|
imagePullSecrets:
|
|
description: Fluent Bit image pull secret
|
|
items:
|
|
description: |-
|
|
LocalObjectReference contains enough information to let you locate the
|
|
referenced object inside the same namespace.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: NodeSelector
|
|
type: object
|
|
ports:
|
|
description: Ports represents the pod's ports.
|
|
items:
|
|
description: ContainerPort represents a network port in a single
|
|
container.
|
|
properties:
|
|
containerPort:
|
|
description: |-
|
|
Number of port to expose on the pod's IP address.
|
|
This must be a valid port number, 0 < x < 65536.
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
description: What host IP to bind the external port to.
|
|
type: string
|
|
hostPort:
|
|
description: |-
|
|
Number of port to expose on the host.
|
|
If specified, this must be a valid port number, 0 < x < 65536.
|
|
If HostNetwork is specified, this must match ContainerPort.
|
|
Most containers do not need this.
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: |-
|
|
If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
|
|
named port in a pod must have a unique name. Name for the port that can be
|
|
referred to by services.
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
description: |-
|
|
Protocol for port. Must be UDP, TCP, or SCTP.
|
|
Defaults to "TCP".
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
priorityClassName:
|
|
description: PriorityClassName represents the pod's priority class.
|
|
type: string
|
|
pvc:
|
|
description: PVC definition
|
|
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:
|
|
description: |-
|
|
Standard object's metadata.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
spec defines the desired characteristics of a volume requested by a pod author.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over volumes to consider
|
|
for binding.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference to the PersistentVolume
|
|
backing this claim.
|
|
type: string
|
|
type: object
|
|
status:
|
|
description: |-
|
|
status represents the current information/status of a persistent volume claim.
|
|
Read-only.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the actual access modes the volume backing the PVC has.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
allocatedResourceStatuses:
|
|
additionalProperties:
|
|
description: |-
|
|
When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource
|
|
that it does not recognizes, then it should ignore that update and let other controllers
|
|
handle it.
|
|
type: string
|
|
description: "allocatedResourceStatuses stores status of resource
|
|
being resized for the given PVC.\nKey names follow standard
|
|
Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed
|
|
keys:\n\t\t- storage - the capacity of the volume.\n\t*
|
|
Custom resources must use implementation-defined prefixed
|
|
names such as \"example.com/my-custom-resource\"\nApart
|
|
from above values - keys that are unprefixed or have kubernetes.io
|
|
prefix are considered\nreserved and hence may not be used.\n\n\nClaimResourceStatus
|
|
can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState
|
|
set when resize controller starts resizing the volume in
|
|
control-plane.\n\t- ControllerResizeFailed:\n\t\tState set
|
|
when resize has failed in resize controller with a terminal
|
|
error.\n\t- NodeResizePending:\n\t\tState set when resize
|
|
controller has finished resizing the volume but further
|
|
resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState
|
|
set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState
|
|
set when resizing has failed in kubelet with a terminal
|
|
error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor
|
|
example: if expanding a PVC for more capacity - this field
|
|
can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage']
|
|
= \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizeFailed\"\nWhen this field is not set, it means
|
|
that no resize operation is in progress for the given PVC.\n\n\nA
|
|
controller that receives PVC update with previously unknown
|
|
resourceName or ClaimResourceStatus\nshould ignore the update
|
|
for the purpose it was designed. For example - a controller
|
|
that\nonly is responsible for resizing capacity of the volume,
|
|
should ignore PVC updates that change other valid\nresources
|
|
associated with PVC.\n\n\nThis is an alpha field and requires
|
|
enabling RecoverVolumeExpansionFailure feature."
|
|
type: object
|
|
x-kubernetes-map-type: granular
|
|
allocatedResources:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: "allocatedResources tracks the resources allocated
|
|
to a PVC including its capacity.\nKey names follow standard
|
|
Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed
|
|
keys:\n\t\t- storage - the capacity of the volume.\n\t*
|
|
Custom resources must use implementation-defined prefixed
|
|
names such as \"example.com/my-custom-resource\"\nApart
|
|
from above values - keys that are unprefixed or have kubernetes.io
|
|
prefix are considered\nreserved and hence may not be used.\n\n\nCapacity
|
|
reported here may be larger than the actual capacity when
|
|
a volume expansion operation\nis requested.\nFor storage
|
|
quota, the larger value from allocatedResources and PVC.spec.resources
|
|
is used.\nIf allocatedResources is not set, PVC.spec.resources
|
|
alone is used for quota calculation.\nIf a volume expansion
|
|
capacity request is lowered, allocatedResources is only\nlowered
|
|
if there are no expansion operations in progress and if
|
|
the actual volume capacity\nis equal or lower than the requested
|
|
capacity.\n\n\nA controller that receives PVC update with
|
|
previously unknown resourceName\nshould ignore the update
|
|
for the purpose it was designed. For example - a controller
|
|
that\nonly is responsible for resizing capacity of the volume,
|
|
should ignore PVC updates that change other valid\nresources
|
|
associated with PVC.\n\n\nThis is an alpha field and requires
|
|
enabling RecoverVolumeExpansionFailure feature."
|
|
type: object
|
|
capacity:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: capacity represents the actual resources of the
|
|
underlying volume.
|
|
type: object
|
|
conditions:
|
|
description: |-
|
|
conditions is the current Condition of persistent volume claim. If underlying persistent volume is being
|
|
resized then the Condition will be set to 'Resizing'.
|
|
items:
|
|
description: PersistentVolumeClaimCondition contains details
|
|
about state of pvc
|
|
properties:
|
|
lastProbeTime:
|
|
description: lastProbeTime is the time we probed the
|
|
condition.
|
|
format: date-time
|
|
type: string
|
|
lastTransitionTime:
|
|
description: lastTransitionTime is the time the condition
|
|
transitioned from one status to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: message is the human-readable message indicating
|
|
details about last transition.
|
|
type: string
|
|
reason:
|
|
description: |-
|
|
reason is a unique, this should be a short, machine understandable string that gives the reason
|
|
for condition's last transition. If it reports "Resizing" that means the underlying
|
|
persistent volume is being resized.
|
|
type: string
|
|
status:
|
|
type: string
|
|
type:
|
|
description: PersistentVolumeClaimConditionType is a
|
|
valid value of PersistentVolumeClaimCondition.Type
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- type
|
|
x-kubernetes-list-type: map
|
|
currentVolumeAttributesClassName:
|
|
description: |-
|
|
currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
|
|
When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
|
|
This is an alpha field and requires enabling VolumeAttributesClass feature.
|
|
type: string
|
|
modifyVolumeStatus:
|
|
description: |-
|
|
ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
|
|
When this is unset, there is no ModifyVolume operation being attempted.
|
|
This is an alpha field and requires enabling VolumeAttributesClass feature.
|
|
properties:
|
|
status:
|
|
description: "status is the status of the ControllerModifyVolume
|
|
operation. It can be in any of following states:\n -
|
|
Pending\n Pending indicates that the PersistentVolumeClaim
|
|
cannot be modified due to unmet requirements, such as\n
|
|
\ the specified VolumeAttributesClass not existing.\n
|
|
- InProgress\n InProgress indicates that the volume
|
|
is being modified.\n - Infeasible\n Infeasible indicates
|
|
that the request has been rejected as invalid by the
|
|
CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass
|
|
needs to be specified.\nNote: New statuses can be added
|
|
in the future. Consumers should check for unknown statuses
|
|
and fail appropriately."
|
|
type: string
|
|
targetVolumeAttributesClassName:
|
|
description: targetVolumeAttributesClassName is the name
|
|
of the VolumeAttributesClass the PVC currently being
|
|
reconciled
|
|
type: string
|
|
required:
|
|
- status
|
|
type: object
|
|
phase:
|
|
description: phase represents the current phase of PersistentVolumeClaim.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
rbacRules:
|
|
description: RBACRules represents additional rbac rules which will
|
|
be applied to the fluent-bit clusterrole.
|
|
items:
|
|
description: |-
|
|
PolicyRule holds information that describes a policy rule, but does not contain information
|
|
about who the rule applies to or which namespace the rule applies to.
|
|
properties:
|
|
apiGroups:
|
|
description: |-
|
|
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
|
|
the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
nonResourceURLs:
|
|
description: |-
|
|
NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path
|
|
Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
|
|
Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resourceNames:
|
|
description: ResourceNames is an optional white list of names
|
|
that the rule applies to. An empty set means that everything
|
|
is allowed.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
description: Resources is a list of resources this rule applies
|
|
to. '*' represents all resources.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
verbs:
|
|
description: Verbs is a list of Verbs that apply to ALL the
|
|
ResourceKinds contained in this rule. '*' represents all verbs.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- verbs
|
|
type: object
|
|
type: array
|
|
resources:
|
|
description: Compute Resources required by container.
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
runtimeClassName:
|
|
description: RuntimeClassName represents the container runtime configuration.
|
|
type: string
|
|
schedulerName:
|
|
description: SchedulerName represents the desired scheduler for the
|
|
Fluentbit collector pods
|
|
type: string
|
|
secrets:
|
|
description: The Secrets are mounted into /fluent-bit/secrets/<secret-name>.
|
|
items:
|
|
type: string
|
|
type: array
|
|
securityContext:
|
|
description: SecurityContext holds pod-level security attributes and
|
|
common container settings.
|
|
properties:
|
|
appArmorProfile:
|
|
description: |-
|
|
appArmorProfile is the AppArmor options to use by the containers in this pod.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile loaded on the node that should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must match the loaded name of the profile.
|
|
Must be set if and only if type is "Localhost".
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of AppArmor profile will be applied.
|
|
Valid options are:
|
|
Localhost - a profile pre-loaded on the node.
|
|
RuntimeDefault - the container runtime's default profile.
|
|
Unconfined - no AppArmor enforcement.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
description: |-
|
|
A special supplemental group that applies to all containers in a pod.
|
|
Some volume types allow the Kubelet to change the ownership of that volume
|
|
to be owned by the pod:
|
|
|
|
|
|
1. The owning GID will be the FSGroup
|
|
2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
|
|
3. The permission bits are OR'd with rw-rw----
|
|
|
|
|
|
If unset, the Kubelet will not modify the ownership and permissions of any volume.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
description: |-
|
|
fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
|
|
before being exposed inside Pod. This field will only apply to
|
|
volume types which support fsGroup based ownership(and permissions).
|
|
It will have no effect on ephemeral volume types such as: secret, configmaps
|
|
and emptydir.
|
|
Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: string
|
|
runAsGroup:
|
|
description: |-
|
|
The GID to run the entrypoint of the container process.
|
|
Uses runtime default if unset.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence
|
|
for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
description: |-
|
|
Indicates that the container must run as a non-root user.
|
|
If true, the Kubelet will validate the image at runtime to ensure that it
|
|
does not run as UID 0 (root) and fail to start the container if it does.
|
|
If unset or false, no such validation will be performed.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: boolean
|
|
runAsUser:
|
|
description: |-
|
|
The UID to run the entrypoint of the container process.
|
|
Defaults to user specified in image metadata if unspecified.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence
|
|
for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
description: |-
|
|
The SELinux context to be applied to all containers.
|
|
If unspecified, the container runtime will allocate a random SELinux context for each
|
|
container. May also be set in SecurityContext. If set in
|
|
both SecurityContext and PodSecurityContext, the value specified in SecurityContext
|
|
takes precedence for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
level:
|
|
description: Level is SELinux level label that applies to
|
|
the container.
|
|
type: string
|
|
role:
|
|
description: Role is a SELinux role label that applies to
|
|
the container.
|
|
type: string
|
|
type:
|
|
description: Type is a SELinux type label that applies to
|
|
the container.
|
|
type: string
|
|
user:
|
|
description: User is a SELinux user label that applies to
|
|
the container.
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
description: |-
|
|
The seccomp options to use by the containers in this pod.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of seccomp profile will be applied.
|
|
Valid options are:
|
|
|
|
|
|
Localhost - a profile defined in a file on the node should be used.
|
|
RuntimeDefault - the container runtime default profile should be used.
|
|
Unconfined - no profile should be applied.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
description: |-
|
|
A list of groups applied to the first process run in each container, in addition
|
|
to the container's primary GID, the fsGroup (if specified), and group memberships
|
|
defined in the container image for the uid of the container process. If unspecified,
|
|
no additional groups are added to any container. Note that group memberships
|
|
defined in the container image for the uid of the container process are still effective,
|
|
even if they are not included in this list.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
sysctls:
|
|
description: |-
|
|
Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
|
|
sysctls (by the container runtime) might fail to launch.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
items:
|
|
description: Sysctl defines a kernel parameter to be set
|
|
properties:
|
|
name:
|
|
description: Name of a property to set
|
|
type: string
|
|
value:
|
|
description: Value of a property to set
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
windowsOptions:
|
|
description: |-
|
|
The Windows specific settings applied to all containers.
|
|
If unspecified, the options within a container's SecurityContext will be used.
|
|
If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is linux.
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
description: |-
|
|
GMSACredentialSpec is where the GMSA admission webhook
|
|
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
|
GMSA credential spec named by the GMSACredentialSpecName field.
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
description: GMSACredentialSpecName is the name of the GMSA
|
|
credential spec to use.
|
|
type: string
|
|
hostProcess:
|
|
description: |-
|
|
HostProcess determines if a container should be run as a 'Host Process' container.
|
|
All of a Pod's containers must have the same effective HostProcess value
|
|
(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
|
|
In addition, if HostProcess is true then HostNetwork must also be set to true.
|
|
type: boolean
|
|
runAsUserName:
|
|
description: |-
|
|
The UserName in Windows to run the entrypoint of the container process.
|
|
Defaults to the user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
service:
|
|
description: Service represents configurations on the fluent-bit service.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to each Fluentbit service.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to add to each FluentBit service
|
|
type: object
|
|
name:
|
|
description: Name is the name of the FluentBit service.
|
|
type: string
|
|
type: object
|
|
serviceAccountAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to the Fluentbit service account
|
|
type: object
|
|
tolerations:
|
|
description: Tolerations
|
|
items:
|
|
description: |-
|
|
The pod this Toleration is attached to tolerates any taint that matches
|
|
the triple <key,value,effect> using the matching operator <operator>.
|
|
properties:
|
|
effect:
|
|
description: |-
|
|
Effect indicates the taint effect to match. Empty means match all taint effects.
|
|
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
|
type: string
|
|
key:
|
|
description: |-
|
|
Key is the taint key that the toleration applies to. Empty means match all taint keys.
|
|
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Operator represents a key's relationship to the value.
|
|
Valid operators are Exists and Equal. Defaults to Equal.
|
|
Exists is equivalent to wildcard for value, so that a pod can
|
|
tolerate all taints of a particular category.
|
|
type: string
|
|
tolerationSeconds:
|
|
description: |-
|
|
TolerationSeconds represents the period of time the toleration (which must be
|
|
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
|
|
it is not set, which means tolerate the taint forever (do not evict). Zero and
|
|
negative values will be treated as 0 (evict immediately) by the system.
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
description: |-
|
|
Value is the taint value the toleration matches to.
|
|
If the operator is Exists, the value should be empty, otherwise just a regular string.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
volumes:
|
|
description: List of volumes that can be mounted by containers belonging
|
|
to the pod.
|
|
items:
|
|
description: Volume represents a named volume in a pod that may
|
|
be accessed by any container in the pod.
|
|
properties:
|
|
awsElasticBlockStore:
|
|
description: |-
|
|
awsElasticBlockStore represents an AWS Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly value true will force the readOnly setting in VolumeMounts.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: boolean
|
|
volumeID:
|
|
description: |-
|
|
volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
description: azureDisk represents an Azure Data Disk mount on
|
|
the host and bind mount to the pod.
|
|
properties:
|
|
cachingMode:
|
|
description: 'cachingMode is the Host Caching mode: None,
|
|
Read Only, Read Write.'
|
|
type: string
|
|
diskName:
|
|
description: diskName is the Name of the data disk in the
|
|
blob storage
|
|
type: string
|
|
diskURI:
|
|
description: diskURI is the URI of data disk in the blob
|
|
storage
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is Filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
kind:
|
|
description: 'kind expected values are Shared: multiple
|
|
blob disks per storage account Dedicated: single blob
|
|
disk per storage account Managed: azure managed data
|
|
disk (only in managed availability set). defaults to shared'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
description: azureFile represents an Azure File Service mount
|
|
on the host and bind mount to the pod.
|
|
properties:
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretName:
|
|
description: secretName is the name of secret that contains
|
|
Azure Storage Account Name and Key
|
|
type: string
|
|
shareName:
|
|
description: shareName is the azure share Name
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
description: cephFS represents a Ceph FS mount on the host that
|
|
shares a pod's lifetime
|
|
properties:
|
|
monitors:
|
|
description: |-
|
|
monitors is Required: Monitors is a collection of Ceph monitors
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: 'path is Optional: Used as the mounted root,
|
|
rather than the full Ceph tree, default is /'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: boolean
|
|
secretFile:
|
|
description: |-
|
|
secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is optional: User is the rados user name, default is admin
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
description: |-
|
|
cinder represents a cinder volume attached and mounted on kubelets host machine.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is optional: points to a secret object containing parameters used to connect
|
|
to OpenStack.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
description: |-
|
|
volumeID used to identify the volume in cinder.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
description: configMap represents a configMap that should populate
|
|
this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap or its
|
|
keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
description: csi (Container Storage Interface) represents ephemeral
|
|
storage that is handled by certain external CSI drivers (Beta
|
|
feature).
|
|
properties:
|
|
driver:
|
|
description: |-
|
|
driver is the name of the CSI driver that handles this volume.
|
|
Consult with your admin for the correct name as registered in the cluster.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType to mount. Ex. "ext4", "xfs", "ntfs".
|
|
If not provided, the empty value is passed to the associated CSI driver
|
|
which will determine the default filesystem to apply.
|
|
type: string
|
|
nodePublishSecretRef:
|
|
description: |-
|
|
nodePublishSecretRef is a reference to the secret object containing
|
|
sensitive information to pass to the CSI driver to complete the CSI
|
|
NodePublishVolume and NodeUnpublishVolume calls.
|
|
This field is optional, and may be empty if no secret is required. If the
|
|
secret object contains more than one secret, all secret references are passed.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly specifies a read-only configuration for the volume.
|
|
Defaults to false (read/write).
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
volumeAttributes stores driver-specific properties that are passed to the CSI
|
|
driver. Consult your driver's documentation for supported values.
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
description: downwardAPI represents downward API about the pod
|
|
that should populate this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
Optional: mode bits to use on created files by default. Must be a
|
|
Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: Items is a list of downward API volume file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents information
|
|
to create the file containing the pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field of the pod:
|
|
only annotations, labels, name, namespace and uid
|
|
are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative path
|
|
name of the file to be created. Must not be absolute
|
|
or contain the ''..'' path. Must be utf-8 encoded.
|
|
The first item of the relative path must not start
|
|
with ''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
description: |-
|
|
emptyDir represents a temporary directory that shares a pod's lifetime.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
properties:
|
|
medium:
|
|
description: |-
|
|
medium represents what type of storage medium should back this directory.
|
|
The default is "" which means to use the node's default medium.
|
|
Must be an empty string (default) or Memory.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
sizeLimit is the total amount of local storage required for this EmptyDir volume.
|
|
The size limit is also applicable for memory medium.
|
|
The maximum usage on memory medium EmptyDir would be the minimum value between
|
|
the SizeLimit specified here and the sum of memory limits of all containers in a pod.
|
|
The default is nil which means that the limit is undefined.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
description: |-
|
|
ephemeral represents a volume that is handled by a cluster storage driver.
|
|
The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
|
|
and deleted when the pod is removed.
|
|
|
|
|
|
Use this if:
|
|
a) the volume is only needed while the pod runs,
|
|
b) features of normal volumes like restoring from snapshot or capacity
|
|
tracking are needed,
|
|
c) the storage driver is specified through a storage class, and
|
|
d) the storage driver supports dynamic volume provisioning through
|
|
a PersistentVolumeClaim (see EphemeralVolumeSource for more
|
|
information on the connection between this volume type
|
|
and PersistentVolumeClaim).
|
|
|
|
|
|
Use PersistentVolumeClaim or one of the vendor-specific
|
|
APIs for volumes that persist for longer than the lifecycle
|
|
of an individual pod.
|
|
|
|
|
|
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
|
|
be used that way - see the documentation of the driver for
|
|
more information.
|
|
|
|
|
|
A pod can use both types of ephemeral volumes and
|
|
persistent volumes at the same time.
|
|
properties:
|
|
volumeClaimTemplate:
|
|
description: |-
|
|
Will be used to create a stand-alone PVC to provision the volume.
|
|
The pod in which this EphemeralVolumeSource is embedded will be the
|
|
owner of the PVC, i.e. the PVC will be deleted together with the
|
|
pod. The name of the PVC will be `<pod name>-<volume name>` where
|
|
`<volume name>` is the name from the `PodSpec.Volumes` array
|
|
entry. Pod validation will reject the pod if the concatenated name
|
|
is not valid for a PVC (for example, too long).
|
|
|
|
|
|
An existing PVC with that name that is not owned by the pod
|
|
will *not* be used for the pod to avoid using an unrelated
|
|
volume by mistake. Starting the pod is then blocked until
|
|
the unrelated PVC is removed. If such a pre-created PVC is
|
|
meant to be used by the pod, the PVC has to updated with an
|
|
owner reference to the pod once the pod exists. Normally
|
|
this should not be necessary, but it may be useful when
|
|
manually reconstructing a broken cluster.
|
|
|
|
|
|
This field is read-only and no changes will be made by Kubernetes
|
|
to the PVC after it has been created.
|
|
|
|
|
|
Required, must not be nil.
|
|
properties:
|
|
metadata:
|
|
description: |-
|
|
May contain labels and annotations that will be copied into the PVC
|
|
when creating it. No other fields are allowed and will be rejected during
|
|
validation.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
The specification for the PersistentVolumeClaim. The entire content is
|
|
copied unchanged into the PVC that gets created from this
|
|
template. The same fields as in a PersistentVolumeClaim
|
|
are also valid here.
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over volumes
|
|
to consider for binding.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference
|
|
to the PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
description: fc represents a Fibre Channel resource that is
|
|
attached to a kubelet's host machine and then exposed to the
|
|
pod.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
lun:
|
|
description: 'lun is Optional: FC target lun number'
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
targetWWNs:
|
|
description: 'targetWWNs is Optional: FC target worldwide
|
|
names (WWNs)'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
description: |-
|
|
wwids Optional: FC volume world wide identifiers (wwids)
|
|
Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
description: |-
|
|
flexVolume represents a generic volume resource that is
|
|
provisioned/attached using an exec based plugin.
|
|
properties:
|
|
driver:
|
|
description: driver is the name of the driver to use for
|
|
this volume.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'options is Optional: this field holds extra
|
|
command options if any.'
|
|
type: object
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: secretRef is reference to the secret object containing
|
|
sensitive information to pass to the plugin scripts. This may be
|
|
empty if no secret object is specified. If the secret object
|
|
contains more than one secret, all secrets are passed to the plugin
|
|
scripts.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
description: flocker represents a Flocker volume attached to
|
|
a kubelet's host machine. This depends on the Flocker control
|
|
service being running
|
|
properties:
|
|
datasetName:
|
|
description: |-
|
|
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
|
|
should be considered as deprecated
|
|
type: string
|
|
datasetUUID:
|
|
description: datasetUUID is the UUID of the dataset. This
|
|
is unique identifier of a Flocker dataset
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
description: |-
|
|
gcePersistentDisk represents a GCE Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
description: |-
|
|
pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
description: |-
|
|
gitRepo represents a git repository at a particular revision.
|
|
DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
|
|
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
|
|
into the Pod's container.
|
|
properties:
|
|
directory:
|
|
description: |-
|
|
directory is the target directory name.
|
|
Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
|
|
git repository. Otherwise, if specified, the volume will contain the git repository in
|
|
the subdirectory with the given name.
|
|
type: string
|
|
repository:
|
|
description: repository is the URL
|
|
type: string
|
|
revision:
|
|
description: revision is the commit hash for the specified
|
|
revision.
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
description: |-
|
|
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md
|
|
properties:
|
|
endpoints:
|
|
description: |-
|
|
endpoints is the endpoint name that details Glusterfs topology.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
path:
|
|
description: |-
|
|
path is the Glusterfs volume path.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
description: |-
|
|
hostPath represents a pre-existing file or directory on the host
|
|
machine that is directly exposed to the container. This is generally
|
|
used for system agents or other privileged things that are allowed
|
|
to see the host machine. Most containers will NOT need this.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
---
|
|
TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
|
|
mount host directories as read/write.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path of the directory on the host.
|
|
If the path is a symlink, it will follow the link to the real path.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type for HostPath Volume
|
|
Defaults to ""
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
iscsi:
|
|
description: |-
|
|
iscsi represents an ISCSI Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://examples.k8s.io/volumes/iscsi/README.md
|
|
properties:
|
|
chapAuthDiscovery:
|
|
description: chapAuthDiscovery defines whether support iSCSI
|
|
Discovery CHAP authentication
|
|
type: boolean
|
|
chapAuthSession:
|
|
description: chapAuthSession defines whether support iSCSI
|
|
Session CHAP authentication
|
|
type: boolean
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
initiatorName:
|
|
description: |-
|
|
initiatorName is the custom iSCSI Initiator Name.
|
|
If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
|
|
<target portal>:<volume name> will be created for the connection.
|
|
type: string
|
|
iqn:
|
|
description: iqn is the target iSCSI Qualified Name.
|
|
type: string
|
|
iscsiInterface:
|
|
description: |-
|
|
iscsiInterface is the interface Name that uses an iSCSI transport.
|
|
Defaults to 'default' (tcp).
|
|
type: string
|
|
lun:
|
|
description: lun represents iSCSI Target Lun number.
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
description: |-
|
|
portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
type: boolean
|
|
secretRef:
|
|
description: secretRef is the CHAP Secret for iSCSI target
|
|
and initiator authentication
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
description: |-
|
|
targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
description: |-
|
|
name of the volume.
|
|
Must be a DNS_LABEL and unique within the pod.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
nfs:
|
|
description: |-
|
|
nfs represents an NFS mount on the host that shares a pod's lifetime
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path that is exported by the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the NFS export to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: boolean
|
|
server:
|
|
description: |-
|
|
server is the hostname or IP address of the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
description: |-
|
|
persistentVolumeClaimVolumeSource represents a reference to a
|
|
PersistentVolumeClaim in the same namespace.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
claimName:
|
|
description: |-
|
|
claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Will force the ReadOnly setting in VolumeMounts.
|
|
Default false.
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
description: photonPersistentDisk represents a PhotonController
|
|
persistent disk attached and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
pdID:
|
|
description: pdID is the ID that identifies Photon Controller
|
|
persistent disk
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
description: portworxVolume represents a portworx volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fSType represents the filesystem type to mount
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
volumeID:
|
|
description: volumeID uniquely identifies a Portworx volume
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
description: projected items for all in one resources secrets,
|
|
configmaps, and downward API
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode are the mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
description: sources is the list of volume projections
|
|
items:
|
|
description: Projection that may be projected along with
|
|
other supported volume types
|
|
properties:
|
|
clusterTrustBundle:
|
|
description: |-
|
|
ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
|
|
of ClusterTrustBundle objects in an auto-updating file.
|
|
|
|
|
|
Alpha, gated by the ClusterTrustBundleProjection feature gate.
|
|
|
|
|
|
ClusterTrustBundle objects can either be selected by name, or by the
|
|
combination of signer name and a label selector.
|
|
|
|
|
|
Kubelet performs aggressive normalization of the PEM contents written
|
|
into the pod filesystem. Esoteric PEM features such as inter-block
|
|
comments and block headers are stripped. Certificates are deduplicated.
|
|
The ordering of certificates within the file is arbitrary, and Kubelet
|
|
may change the order over time.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this label selector. Only has
|
|
effect if signerName is set. Mutually-exclusive with name. If unset,
|
|
interpreted as "match nothing". If set but empty, interpreted as "match
|
|
everything".
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
name:
|
|
description: |-
|
|
Select a single ClusterTrustBundle by object name. Mutually-exclusive
|
|
with signerName and labelSelector.
|
|
type: string
|
|
optional:
|
|
description: |-
|
|
If true, don't block pod startup if the referenced ClusterTrustBundle(s)
|
|
aren't available. If using name, then the named ClusterTrustBundle is
|
|
allowed not to exist. If using signerName, then the combination of
|
|
signerName and labelSelector is allowed to match zero
|
|
ClusterTrustBundles.
|
|
type: boolean
|
|
path:
|
|
description: Relative path from the volume root
|
|
to write the bundle.
|
|
type: string
|
|
signerName:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this signer name.
|
|
Mutually-exclusive with name. The contents of all selected
|
|
ClusterTrustBundles will be unified and deduplicated.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
description: configMap information about the configMap
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap
|
|
or its keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
description: downwardAPI information about the downwardAPI
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: Items is a list of DownwardAPIVolume
|
|
file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents
|
|
information to create the file containing
|
|
the pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field
|
|
of the pod: only annotations, labels,
|
|
name, namespace and uid are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the
|
|
FieldPath is written in terms of,
|
|
defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select
|
|
in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative
|
|
path name of the file to be created. Must
|
|
not be absolute or contain the ''..''
|
|
path. Must be utf-8 encoded. The first
|
|
item of the relative path must not start
|
|
with ''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format
|
|
of the exposed resources, defaults
|
|
to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to
|
|
select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
secret:
|
|
description: secret information about the secret data
|
|
to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional field specify whether the
|
|
Secret or its key must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
description: serviceAccountToken is information about
|
|
the serviceAccountToken data to project
|
|
properties:
|
|
audience:
|
|
description: |-
|
|
audience is the intended audience of the token. A recipient of a token
|
|
must identify itself with an identifier specified in the audience of the
|
|
token, and otherwise should reject the token. The audience defaults to the
|
|
identifier of the apiserver.
|
|
type: string
|
|
expirationSeconds:
|
|
description: |-
|
|
expirationSeconds is the requested duration of validity of the service
|
|
account token. As the token approaches expiration, the kubelet volume
|
|
plugin will proactively rotate the service account token. The kubelet will
|
|
start trying to rotate the token if the token is older than 80 percent of
|
|
its time to live or if the token is older than 24 hours.Defaults to 1 hour
|
|
and must be at least 10 minutes.
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the path relative to the mount point of the file to project the
|
|
token into.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
description: quobyte represents a Quobyte mount on the host
|
|
that shares a pod's lifetime
|
|
properties:
|
|
group:
|
|
description: |-
|
|
group to map volume access to
|
|
Default is no group
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Quobyte volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
type: boolean
|
|
registry:
|
|
description: |-
|
|
registry represents a single or multiple Quobyte Registry services
|
|
specified as a string as host:port pair (multiple entries are separated with commas)
|
|
which acts as the central registry for volumes
|
|
type: string
|
|
tenant:
|
|
description: |-
|
|
tenant owning the given Quobyte volume in the Backend
|
|
Used with dynamically provisioned Quobyte volumes, value is set by the plugin
|
|
type: string
|
|
user:
|
|
description: |-
|
|
user to map volume access to
|
|
Defaults to serivceaccount user
|
|
type: string
|
|
volume:
|
|
description: volume is a string that references an already
|
|
created Quobyte volume by name.
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
description: |-
|
|
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
image:
|
|
description: |-
|
|
image is the rados image name.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
keyring:
|
|
description: |-
|
|
keyring is the path to key ring for RBDUser.
|
|
Default is /etc/ceph/keyring.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
monitors:
|
|
description: |-
|
|
monitors is a collection of Ceph monitors.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
description: |-
|
|
pool is the rados pool name.
|
|
Default is rbd.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is name of the authentication secret for RBDUser. If provided
|
|
overrides keyring.
|
|
Default is nil.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is the rados user name.
|
|
Default is admin.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
description: scaleIO represents a ScaleIO persistent volume
|
|
attached and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs".
|
|
Default is "xfs".
|
|
type: string
|
|
gateway:
|
|
description: gateway is the host address of the ScaleIO
|
|
API Gateway.
|
|
type: string
|
|
protectionDomain:
|
|
description: protectionDomain is the name of the ScaleIO
|
|
Protection Domain for the configured storage.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef references to the secret for ScaleIO user and other
|
|
sensitive information. If this is not provided, Login operation will fail.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
description: sslEnabled Flag enable/disable SSL communication
|
|
with Gateway, default false
|
|
type: boolean
|
|
storageMode:
|
|
description: |-
|
|
storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
|
|
Default is ThinProvisioned.
|
|
type: string
|
|
storagePool:
|
|
description: storagePool is the ScaleIO Storage Pool associated
|
|
with the protection domain.
|
|
type: string
|
|
system:
|
|
description: system is the name of the storage system as
|
|
configured in ScaleIO.
|
|
type: string
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the name of a volume already created in the ScaleIO system
|
|
that is associated with this volume source.
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
description: |-
|
|
secret represents a secret that should populate this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values
|
|
for mode bits. Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items If unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
description: optional field specify whether the Secret or
|
|
its keys must be defined
|
|
type: boolean
|
|
secretName:
|
|
description: |-
|
|
secretName is the name of the secret in the pod's namespace to use.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
description: storageOS represents a StorageOS volume attached
|
|
and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef specifies the secret to use for obtaining the StorageOS API
|
|
credentials. If not specified, default values will be attempted.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the human-readable name of the StorageOS volume. Volume
|
|
names are only unique within a namespace.
|
|
type: string
|
|
volumeNamespace:
|
|
description: |-
|
|
volumeNamespace specifies the scope of the volume within StorageOS. If no
|
|
namespace is specified then the Pod's namespace will be used. This allows the
|
|
Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
|
|
Set VolumeName to any name to override the default behaviour.
|
|
Set to "default" if you are not using namespaces within StorageOS.
|
|
Namespaces that do not pre-exist within StorageOS will be created.
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
description: vsphereVolume represents a vSphere volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
storagePolicyID:
|
|
description: storagePolicyID is the storage Policy Based
|
|
Management (SPBM) profile ID associated with the StoragePolicyName.
|
|
type: string
|
|
storagePolicyName:
|
|
description: storagePolicyName is the storage Policy Based
|
|
Management (SPBM) profile name.
|
|
type: string
|
|
volumePath:
|
|
description: volumePath is the path that identifies vSphere
|
|
volume vmdk
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
volumesMounts:
|
|
description: Pod volumes to mount into the container's filesystem.
|
|
items:
|
|
description: VolumeMount describes a mounting of a Volume within
|
|
a container.
|
|
properties:
|
|
mountPath:
|
|
description: |-
|
|
Path within the container at which the volume should be mounted. Must
|
|
not contain ':'.
|
|
type: string
|
|
mountPropagation:
|
|
description: |-
|
|
mountPropagation determines how mounts are propagated from the host
|
|
to container and the other way around.
|
|
When not set, MountPropagationNone is used.
|
|
This field is beta in 1.10.
|
|
When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
|
|
(which defaults to None).
|
|
type: string
|
|
name:
|
|
description: This must match the Name of a Volume.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
Mounted read-only if true, read-write otherwise (false or unspecified).
|
|
Defaults to false.
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
description: |-
|
|
RecursiveReadOnly specifies whether read-only mounts should be handled
|
|
recursively.
|
|
|
|
|
|
If ReadOnly is false, this field has no meaning and must be unspecified.
|
|
|
|
|
|
If ReadOnly is true, and this field is set to Disabled, the mount is not made
|
|
recursively read-only. If this field is set to IfPossible, the mount is made
|
|
recursively read-only, if it is supported by the container runtime. If this
|
|
field is set to Enabled, the mount is made recursively read-only if it is
|
|
supported by the container runtime, otherwise the pod will not be started and
|
|
an error will be generated to indicate the reason.
|
|
|
|
|
|
If this field is set to IfPossible or Enabled, MountPropagation must be set to
|
|
None (or be unspecified, which defaults to None).
|
|
|
|
|
|
If this field is not specified, it is treated as an equivalent of Disabled.
|
|
type: string
|
|
subPath:
|
|
description: |-
|
|
Path within the volume from which the container's volume should be mounted.
|
|
Defaults to "" (volume's root).
|
|
type: string
|
|
subPathExpr:
|
|
description: |-
|
|
Expanded path within the volume from which the container's volume should be mounted.
|
|
Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
|
|
Defaults to "" (volume's root).
|
|
SubPathExpr and SubPath are mutually exclusive.
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: CollectorStatus defines the observed state of FluentBit
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: filters.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: Filter
|
|
listKind: FilterList
|
|
plural: filters
|
|
shortNames:
|
|
- fbf
|
|
singular: filter
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Filter is the Schema for namespace level filter 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: FilterSpec defines the desired state of ClusterFilter
|
|
properties:
|
|
filters:
|
|
description: A set of filter plugins in order.
|
|
items:
|
|
properties:
|
|
aws:
|
|
description: Aws defines a Aws configuration.
|
|
properties:
|
|
accountID:
|
|
description: The account ID for current EC2 instance.Default
|
|
is false.
|
|
type: boolean
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
amiID:
|
|
description: The EC2 instance image id.Default is false.
|
|
type: boolean
|
|
az:
|
|
description: The availability zone; for example, "us-east-1a".
|
|
Default is true.
|
|
type: boolean
|
|
ec2InstanceID:
|
|
description: The EC2 instance ID.Default is true.
|
|
type: boolean
|
|
ec2InstanceType:
|
|
description: The EC2 instance type.Default is false.
|
|
type: boolean
|
|
hostName:
|
|
description: The hostname for current EC2 instance.Default
|
|
is false.
|
|
type: boolean
|
|
imdsVersion:
|
|
description: Specify which version of the instance metadata
|
|
service to use. Valid values are 'v1' or 'v2'.
|
|
enum:
|
|
- v1
|
|
- v2
|
|
type: string
|
|
privateIP:
|
|
description: The EC2 instance private ip.Default is false.
|
|
type: boolean
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
vpcID:
|
|
description: The VPC ID for current EC2 instance.Default
|
|
is false.
|
|
type: boolean
|
|
type: object
|
|
customPlugin:
|
|
description: CustomPlugin defines a Custom plugin configuration.
|
|
properties:
|
|
config:
|
|
description: |-
|
|
Config holds any unsupported plugins classic configurations,
|
|
if ConfigFileFormat is set to yaml, this filed will be ignored
|
|
type: string
|
|
yamlConfig:
|
|
description: YamlConfig holds the unsupported plugins yaml
|
|
configurations, it only works when the ConfigFileFormat
|
|
is yaml
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: object
|
|
grep:
|
|
description: Grep defines Grep Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
exclude:
|
|
description: |-
|
|
Exclude records which field matches the regular expression.
|
|
Value Format: FIELD REGEX
|
|
type: string
|
|
regex:
|
|
description: |-
|
|
Keep records which field matches the regular expression.
|
|
Value Format: FIELD REGEX
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
type: object
|
|
kubernetes:
|
|
description: Kubernetes defines Kubernetes Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
annotations:
|
|
description: Include Kubernetes resource annotations in
|
|
the extra metadata.
|
|
type: boolean
|
|
bufferSize:
|
|
description: Set the buffer size for HTTP client when reading
|
|
responses from Kubernetes API server.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
cacheUseDockerId:
|
|
description: When enabled, metadata will be fetched from
|
|
K8s when docker_id is changed.
|
|
type: boolean
|
|
dnsRetries:
|
|
description: DNS lookup retries N times until the network
|
|
start working
|
|
format: int32
|
|
type: integer
|
|
dnsWaitTime:
|
|
description: DNS lookup interval between network status
|
|
checks
|
|
format: int32
|
|
type: integer
|
|
dummyMeta:
|
|
description: If set, use dummy-meta data (for test/dev purposes)
|
|
type: boolean
|
|
k8sLoggingExclude:
|
|
description: |-
|
|
Allow Kubernetes Pods to exclude their logs from the log processor
|
|
(read more about it in Kubernetes Annotations section).
|
|
type: boolean
|
|
k8sLoggingParser:
|
|
description: |-
|
|
Allow Kubernetes Pods to suggest a pre-defined Parser
|
|
(read more about it in Kubernetes Annotations section)
|
|
type: boolean
|
|
keepLog:
|
|
description: |-
|
|
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).
|
|
type: boolean
|
|
kubeCAFile:
|
|
description: CA certificate file
|
|
type: string
|
|
kubeCAPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
kubeMetaCacheTTL:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
kubeMetaNamespaceCacheTTL:
|
|
description: |-
|
|
Configurable TTL for K8s cached namespace metadata.
|
|
By default, it is set to 900 which means a 15min TTL for namespace cache entries.
|
|
Setting this to 0 will mean entries are evicted at random once the cache is full.
|
|
format: int32
|
|
type: integer
|
|
kubeMetaPreloadCacheDir:
|
|
description: |-
|
|
If set, Kubernetes meta-data can be cached/pre-loaded from files in JSON format in this directory,
|
|
named as namespace-pod.meta
|
|
type: string
|
|
kubeTagPrefix:
|
|
description: |-
|
|
When the source records comes from Tail input plugin,
|
|
this option allows to specify what's the prefix used in Tail configuration.
|
|
type: string
|
|
kubeTokenCommand:
|
|
description: |-
|
|
Command to get Kubernetes authorization token.
|
|
By default, it will be NULL and we will use token file to get token.
|
|
type: string
|
|
kubeTokenFile:
|
|
description: Token file
|
|
type: string
|
|
kubeTokenTTL:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
kubeURL:
|
|
description: API Server end-point
|
|
type: string
|
|
kubeletHost:
|
|
description: kubelet host using for HTTP request, this only
|
|
works when Use_Kubelet set to On.
|
|
type: string
|
|
kubeletPort:
|
|
description: kubelet port using for HTTP request, this only
|
|
works when useKubelet is set to On.
|
|
format: int32
|
|
type: integer
|
|
labels:
|
|
description: Include Kubernetes resource labels in the extra
|
|
metadata.
|
|
type: boolean
|
|
mergeLog:
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
mergeLogKey:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
mergeLogTrim:
|
|
description: When Merge_Log is enabled, trim (remove possible
|
|
\n or \r) field values.
|
|
type: boolean
|
|
mergeParser:
|
|
description: Optional parser name to specify how to parse
|
|
the data contained in the log key. Recommended use is
|
|
for developers or testing only.
|
|
type: string
|
|
namespaceAnnotations:
|
|
description: Include Kubernetes namespace resource annotations
|
|
in the extra metadata.
|
|
type: boolean
|
|
namespaceLabels:
|
|
description: Include Kubernetes namespace resource labels
|
|
in the extra metadata.
|
|
type: boolean
|
|
namespaceMetadataOnly:
|
|
description: |-
|
|
Include Kubernetes namespace metadata only and no pod metadata.
|
|
If this is set, the values of Labels and Annotations are ignored.
|
|
type: boolean
|
|
regexParser:
|
|
description: |-
|
|
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).
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
tlsDebug:
|
|
description: Debug level between 0 (nothing) and 4 (every
|
|
detail).
|
|
format: int32
|
|
type: integer
|
|
tlsVerify:
|
|
description: When enabled, turns on certificate validation
|
|
when connecting to the Kubernetes API server.
|
|
type: boolean
|
|
useJournal:
|
|
description: When enabled, the filter reads logs coming
|
|
in Journald format.
|
|
type: boolean
|
|
useKubelet:
|
|
description: |-
|
|
This is an optional feature flag to get metadata information from kubelet
|
|
instead of calling Kube Server API to enhance the log.
|
|
This could mitigate the Kube API heavy traffic issue for large cluster.
|
|
type: boolean
|
|
type: object
|
|
logToMetrics:
|
|
description: LogToMetrics defines a Log to Metrics Filter configuration.
|
|
properties:
|
|
addLabel:
|
|
description: Add a custom label NAME and set the value to
|
|
the value of KEY
|
|
items:
|
|
type: string
|
|
type: array
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
bucket:
|
|
description: Defines a bucket for histogram
|
|
items:
|
|
type: string
|
|
type: array
|
|
discardLogs:
|
|
description: |-
|
|
Flag that defines if logs should be discarded after processing. This applies
|
|
for all logs, no matter if they have emitted metrics or not.
|
|
type: boolean
|
|
emitterMemBufLimit:
|
|
description: set a buffer limit to restrict memory usage
|
|
of metrics emitter
|
|
type: string
|
|
emitterName:
|
|
description: Name of the emitter (advanced users)
|
|
type: string
|
|
exclude:
|
|
description: |-
|
|
Optional filter for records in which the content of KEY does not matches the regular expression.
|
|
Value Format: FIELD REGEX
|
|
items:
|
|
type: string
|
|
type: array
|
|
kubernetesMode:
|
|
description: |-
|
|
If enabled, it will automatically put pod_id, pod_name, namespace_name, docker_id and container_name
|
|
into the metric as labels. This option is intended to be used in combination with the kubernetes filter plugin.
|
|
type: boolean
|
|
labelField:
|
|
description: Includes a record field as label dimension
|
|
in the metric.
|
|
items:
|
|
type: string
|
|
type: array
|
|
metricDescription:
|
|
description: Sets a help text for the metric.
|
|
type: string
|
|
metricMode:
|
|
description: Defines the mode for the metric. Valid values
|
|
are [counter, gauge or histogram]
|
|
type: string
|
|
metricName:
|
|
description: Sets the name of the metric.
|
|
type: string
|
|
metricNamespace:
|
|
description: Namespace of the metric
|
|
type: string
|
|
metricSubsystem:
|
|
description: Sets a sub-system for the metric.
|
|
type: string
|
|
regex:
|
|
description: |-
|
|
Optional filter for records in which the content of KEY matches the regular expression.
|
|
Value Format: FIELD REGEX
|
|
items:
|
|
type: string
|
|
type: array
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
tag:
|
|
description: Defines the tag for the generated metrics record
|
|
type: string
|
|
valueField:
|
|
description: Specify the record field that holds a numerical
|
|
value
|
|
type: string
|
|
type: object
|
|
lua:
|
|
description: Lua defines Lua Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
call:
|
|
description: |-
|
|
Lua function name that will be triggered to do filtering.
|
|
It's assumed that the function is declared inside the Script defined above.
|
|
type: string
|
|
code:
|
|
description: Inline LUA code instead of loading from a path
|
|
via script.
|
|
type: string
|
|
protectedMode:
|
|
description: |-
|
|
If enabled, Lua script will be executed in protected mode.
|
|
It prevents to crash when invalid Lua script is executed. Default is true.
|
|
type: boolean
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
script:
|
|
description: Path to the Lua script that will be used.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
timeAsTable:
|
|
description: |-
|
|
By default when the Lua script is invoked, the record timestamp is passed as a
|
|
Floating number which might lead to loss precision when the data is converted back.
|
|
If you desire timestamp precision enabling this option will pass the timestamp as
|
|
a Lua table with keys sec for seconds since epoch and nsec for nanoseconds.
|
|
type: boolean
|
|
typeArrayKey:
|
|
description: |-
|
|
If these keys are matched, the fields are handled as array. If more than
|
|
one key, delimit by space. It is useful the array can be empty.
|
|
items:
|
|
type: string
|
|
type: array
|
|
typeIntKey:
|
|
description: |-
|
|
If these keys are matched, the fields are converted to integer.
|
|
If more than one key, delimit by space.
|
|
Note that starting from Fluent Bit v1.6 integer data types are preserved
|
|
and not converted to double as in previous versions.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- call
|
|
type: object
|
|
modify:
|
|
description: Modify defines Modify Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
conditions:
|
|
description: All conditions have to be true for the rules
|
|
to be applied.
|
|
items:
|
|
description: The plugin supports the following conditions
|
|
properties:
|
|
aKeyMatches:
|
|
description: Is true if a key matches regex KEY
|
|
type: string
|
|
keyDoesNotExist:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if KEY does not exist
|
|
type: object
|
|
keyExists:
|
|
description: Is true if KEY exists
|
|
type: string
|
|
keyValueDoesNotEqual:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if KEY exists and its value is
|
|
not VALUE
|
|
type: object
|
|
keyValueDoesNotMatch:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if key KEY exists and its value
|
|
does not match VALUE
|
|
type: object
|
|
keyValueEquals:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if KEY exists and its value is
|
|
VALUE
|
|
type: object
|
|
keyValueMatches:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if key KEY exists and its value
|
|
matches VALUE
|
|
type: object
|
|
matchingKeysDoNotHaveMatchingValues:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if all keys matching KEY have
|
|
values that do not match VALUE
|
|
type: object
|
|
matchingKeysHaveMatchingValues:
|
|
additionalProperties:
|
|
type: string
|
|
description: Is true if all keys matching KEY have
|
|
values that match VALUE
|
|
type: object
|
|
noKeyMatches:
|
|
description: Is true if no key matches regex KEY
|
|
type: string
|
|
type: object
|
|
type: array
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
rules:
|
|
description: |-
|
|
Rules are applied in the order they appear,
|
|
with each rule operating on the result of the previous rule.
|
|
items:
|
|
description: The plugin supports the following rules
|
|
properties:
|
|
add:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a key/value pair with key KEY and
|
|
value VALUE if KEY does not exist
|
|
type: object
|
|
copy:
|
|
additionalProperties:
|
|
type: string
|
|
description: Copy a key/value pair with key KEY to
|
|
COPIED_KEY if KEY exists AND COPIED_KEY does not
|
|
exist
|
|
type: object
|
|
hardCopy:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Copy a key/value pair with key KEY to COPIED_KEY if KEY exists.
|
|
If COPIED_KEY already exists, this field is overwritten
|
|
type: object
|
|
hardRename:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists.
|
|
If RENAMED_KEY already exists, this field is overwritten
|
|
type: object
|
|
remove:
|
|
description: Remove a key/value pair with key KEY
|
|
if it exists
|
|
type: string
|
|
removeRegex:
|
|
description: Remove all key/value pairs with key matching
|
|
regexp KEY
|
|
type: string
|
|
removeWildcard:
|
|
description: Remove all key/value pairs with key matching
|
|
wildcard KEY
|
|
type: string
|
|
rename:
|
|
additionalProperties:
|
|
type: string
|
|
description: Rename a key/value pair with key KEY
|
|
to RENAMED_KEY if KEY exists AND RENAMED_KEY does
|
|
not exist
|
|
type: object
|
|
set:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a key/value pair with key KEY and
|
|
value VALUE. If KEY already exists, this field is
|
|
overwritten
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
multiline:
|
|
description: Multiline defines a Multiline configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
buffer:
|
|
default: false
|
|
type: boolean
|
|
emitterMemBufLimit:
|
|
default: 10
|
|
description: Set a limit on the amount of memory in MB the
|
|
emitter can consume if the outputs provide backpressure.
|
|
The default for this limit is 10M. The pipeline will pause
|
|
once the buffer exceeds the value of this setting. For
|
|
example, if the value is set to 10MB then the pipeline
|
|
will pause if the buffer exceeds 10M. The pipeline will
|
|
remain paused until the output drains the buffer below
|
|
the 10M limit.
|
|
type: integer
|
|
emitterName:
|
|
description: Name for the emitter input instance which re-emits
|
|
the completed records at the beginning of the pipeline.
|
|
type: string
|
|
emitterType:
|
|
default: memory
|
|
description: The storage type for the emitter input instance.
|
|
This option supports the values memory (default) and filesystem.
|
|
enum:
|
|
- memory
|
|
- filesystem
|
|
type: string
|
|
flushMs:
|
|
default: 2000
|
|
type: integer
|
|
keyContent:
|
|
description: |-
|
|
Key name that holds the content to process.
|
|
Note that a Multiline Parser definition can already specify the key_content to use, but this option allows to overwrite that value for the purpose of the filter.
|
|
type: string
|
|
mode:
|
|
enum:
|
|
- parser
|
|
- partial_message
|
|
type: string
|
|
parser:
|
|
description: |-
|
|
Specify one or multiple Multiline Parsing definitions to apply to the content.
|
|
You can specify multiple multiline parsers to detect different formats by separating them with a comma.
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
required:
|
|
- parser
|
|
type: object
|
|
nest:
|
|
description: Nest defines Nest Filter configuration.
|
|
properties:
|
|
addPrefix:
|
|
description: Prefix affected keys with this string
|
|
type: string
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
nestUnder:
|
|
description: Nest records matching the Wildcard under this
|
|
key
|
|
type: string
|
|
nestedUnder:
|
|
description: Lift records nested under the Nested_under
|
|
key
|
|
type: string
|
|
operation:
|
|
description: Select the operation nest or lift
|
|
enum:
|
|
- nest
|
|
- lift
|
|
type: string
|
|
removePrefix:
|
|
description: Remove prefix from affected keys if it matches
|
|
this string
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
wildcard:
|
|
description: Nest records which field matches the wildcard
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
parser:
|
|
description: Parser defines Parser Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
keyName:
|
|
description: Specify field name in record to parse.
|
|
type: string
|
|
parser:
|
|
description: |-
|
|
Specify the parser name to interpret the field.
|
|
Multiple Parser entries are allowed (split by comma).
|
|
type: string
|
|
preserveKey:
|
|
description: |-
|
|
Keep original Key_Name field in the parsed result.
|
|
If false, the field will be removed.
|
|
type: boolean
|
|
reserveData:
|
|
description: |-
|
|
Keep all other original fields in the parsed result.
|
|
If false, all other original fields will be removed.
|
|
type: boolean
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
unescapeKey:
|
|
description: 'If the key is a escaped string (e.g: stringify
|
|
JSON), unescape the string before to apply the parser.'
|
|
type: boolean
|
|
type: object
|
|
recordModifier:
|
|
description: RecordModifier defines Record Modifier Filter configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
allowlistKeys:
|
|
description: If the key is not matched, that field is removed.
|
|
items:
|
|
type: string
|
|
type: array
|
|
records:
|
|
description: Append fields. This parameter needs key and
|
|
value pair.
|
|
items:
|
|
type: string
|
|
type: array
|
|
removeKeys:
|
|
description: If the key is matched, that field is removed.
|
|
items:
|
|
type: string
|
|
type: array
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
uuidKeys:
|
|
description: If set, the plugin appends uuid to each record.
|
|
The value assigned becomes the key in the map.
|
|
items:
|
|
type: string
|
|
type: array
|
|
whitelistKeys:
|
|
description: An alias of allowlistKeys for backwards compatibility.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
rewriteTag:
|
|
description: RewriteTag defines a RewriteTag configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
emitterMemBufLimit:
|
|
type: string
|
|
emitterName:
|
|
description: |-
|
|
When the filter emits a record under the new Tag, there is an internal emitter
|
|
plugin that takes care of the job. Since this emitter expose metrics as any other
|
|
component of the pipeline, you can use this property to configure an optional name for it.
|
|
type: string
|
|
emitterStorageType:
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
rules:
|
|
description: |-
|
|
Defines the matching criteria and the format of the Tag for the matching record.
|
|
The Rule format have four components: KEY REGEX NEW_TAG KEEP.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
throttle:
|
|
description: Throttle defines a Throttle configuration.
|
|
properties:
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
interval:
|
|
description: Interval is the time interval expressed in
|
|
"sleep" format. e.g. 3s, 1.5m, 0.5h, etc.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
printStatus:
|
|
description: PrintStatus represents whether to print status
|
|
messages with current rate and the limits to information
|
|
logs.
|
|
type: boolean
|
|
rate:
|
|
description: Rate is the amount of messages for the time.
|
|
format: int64
|
|
type: integer
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
window:
|
|
description: Window is the amount of intervals to calculate
|
|
average over.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
wasm:
|
|
description: Wasm defines a Wasm configuration.
|
|
properties:
|
|
accessiblePaths:
|
|
description: Specify the whitelist of paths to be able to
|
|
access paths from WASM programs.
|
|
items:
|
|
type: string
|
|
type: array
|
|
alias:
|
|
description: Alias for the plugin
|
|
type: string
|
|
eventFormat:
|
|
description: 'Define event format to interact with Wasm
|
|
programs: msgpack or json. Default: json'
|
|
type: string
|
|
functionName:
|
|
description: Wasm function name that will be triggered to
|
|
do filtering. It's assumed that the function is built
|
|
inside the Wasm program specified above.
|
|
type: string
|
|
retryLimit:
|
|
description: 'RetryLimit describes how many times fluent-bit
|
|
should retry to send data to a specific output. If set
|
|
to false fluent-bit will try indefinetly. If set to any
|
|
integer N>0 it will try at most N+1 times. Leading zeros
|
|
are not allowed (values such as 007, 0150, 01 do not work).
|
|
If this property is not defined fluent-bit will use the
|
|
default value: 1.'
|
|
pattern: ^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$
|
|
type: string
|
|
wasmHeapSize:
|
|
description: Size of the heap size of Wasm execution. Review
|
|
unit sizes for allowed values.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
wasmPath:
|
|
description: Path to the built Wasm program that will be
|
|
used. This can be a relative path against the main configuration
|
|
file.
|
|
type: string
|
|
wasmStackSize:
|
|
description: Size of the stack size of Wasm execution. Review
|
|
unit sizes for allowed values.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
logLevel:
|
|
enum:
|
|
- "off"
|
|
- error
|
|
- warning
|
|
- info
|
|
- debug
|
|
- trace
|
|
type: string
|
|
match:
|
|
description: |-
|
|
A pattern to match against the tags of incoming records.
|
|
It's case-sensitive and support the star (*) character as a wildcard.
|
|
type: string
|
|
matchRegex:
|
|
description: |-
|
|
A regular expression to match against the tags of incoming records.
|
|
Use this option if you want to use the full regex syntax.
|
|
type: string
|
|
ordinal:
|
|
description: An ordinal to influence filter ordering
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: filters.fluentd.fluent.io
|
|
spec:
|
|
group: fluentd.fluent.io
|
|
names:
|
|
kind: Filter
|
|
listKind: FilterList
|
|
plural: filters
|
|
shortNames:
|
|
- fdf
|
|
singular: filter
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Filter is the Schema for the filters 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: FilterSpec defines the desired state of Filter
|
|
properties:
|
|
filters:
|
|
items:
|
|
description: Filter defines all available filter plugins and their
|
|
parameters.
|
|
properties:
|
|
customPlugin:
|
|
description: Custom plugin type
|
|
properties:
|
|
config:
|
|
type: string
|
|
required:
|
|
- config
|
|
type: object
|
|
grep:
|
|
description: The filter_grep filter plugin
|
|
properties:
|
|
and:
|
|
items:
|
|
description: And defines the parameters for the "and"
|
|
plugin
|
|
properties:
|
|
exclude:
|
|
description: Exclude defines the parameters for the
|
|
exclude plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
regexp:
|
|
description: Regexp defines the parameters for the
|
|
regexp plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
exclude:
|
|
items:
|
|
description: Exclude defines the parameters for the exclude
|
|
plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
or:
|
|
items:
|
|
description: Or defines the parameters for the "or" plugin
|
|
properties:
|
|
exclude:
|
|
description: Exclude defines the parameters for the
|
|
exclude plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
regexp:
|
|
description: Regexp defines the parameters for the
|
|
regexp plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
regexp:
|
|
items:
|
|
description: Regexp defines the parameters for the regexp
|
|
plugin
|
|
properties:
|
|
key:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
parser:
|
|
description: The filter_parser filter plugin
|
|
properties:
|
|
emitInvalidRecordToError:
|
|
description: |-
|
|
Emits invalid record to @ERROR label. Invalid cases are: key does not exist;the format is not matched;an unexpected error.
|
|
If you want to ignore these errors, set false.
|
|
type: boolean
|
|
hashValueField:
|
|
description: Stores the parsed values as a hash value in
|
|
a field.
|
|
type: string
|
|
injectKeyPrefix:
|
|
description: Stores the parsed values with the specified
|
|
key name prefix.
|
|
type: string
|
|
keyName:
|
|
description: |-
|
|
Specifies the field name in the record to parse. Required parameter.
|
|
i.e: If set keyName to log, {"key":"value","log":"{\"time\":1622473200,\"user\":1}"} => {"user":1}
|
|
type: string
|
|
parse:
|
|
description: Parse defines various parameters for the parse
|
|
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
|
|
removeKeyNameField:
|
|
description: Removes key_name field when parsing is succeeded.
|
|
type: boolean
|
|
replaceInvalidSequence:
|
|
description: If true, invalid string is replaced with safe
|
|
characters and re-parse it.
|
|
type: boolean
|
|
reserveData:
|
|
description: |-
|
|
Keeps the original key-value pair in the parsed result. Default is false.
|
|
i.e: If set keyName to log, reverseData to true,
|
|
{"key":"value","log":"{\"user\":1,\"num\":2}"} => {"key":"value","log":"{\"user\":1,\"num\":2}","user":1,"num":2}
|
|
type: boolean
|
|
reserveTime:
|
|
description: Keeps the original event time in the parsed
|
|
result. Default is false.
|
|
type: boolean
|
|
required:
|
|
- keyName
|
|
- parse
|
|
type: object
|
|
recordTransformer:
|
|
description: The filter_record_transformer filter plugin
|
|
properties:
|
|
autoTypecast:
|
|
description: |-
|
|
Automatically casts the field types. Default is false.
|
|
This option is effective only for field values comprised of a single placeholder.
|
|
type: boolean
|
|
enableRuby:
|
|
description: |-
|
|
When set to true, the full Ruby syntax is enabled in the ${...} expression. The default value is false.
|
|
i.e: jsonized_record ${record.to_json}
|
|
type: boolean
|
|
keepKeys:
|
|
description: A list of keys to keep. Only relevant if renew_record
|
|
is set to true.
|
|
type: string
|
|
records:
|
|
items:
|
|
description: The parameters inside <record> directives
|
|
are considered to be new key-value pairs
|
|
properties:
|
|
key:
|
|
description: New field can be defined as key
|
|
type: string
|
|
value:
|
|
description: |-
|
|
The value must from Record properties.
|
|
See https://docs.fluentd.org/filter/record_transformer#less-than-record-greater-than-directive
|
|
type: string
|
|
required:
|
|
- key
|
|
- value
|
|
type: object
|
|
type: array
|
|
removeKeys:
|
|
description: A list of keys to delete. Supports nested field
|
|
via record_accessor syntax since v1.1.0.
|
|
type: string
|
|
renewRecord:
|
|
description: By default, the record transformer filter mutates
|
|
the incoming data. However, if this parameter is set to
|
|
true, it modifies a new empty hash instead.
|
|
type: boolean
|
|
renewTimeKey:
|
|
description: renew_time_key foo overwrites the time of events
|
|
with a value of the record field foo if exists. The value
|
|
of foo must be a Unix timestamp.
|
|
type: string
|
|
type: object
|
|
stdout:
|
|
description: The filter_stdout filter plugin
|
|
properties:
|
|
format:
|
|
description: The format section
|
|
properties:
|
|
delimiter:
|
|
description: Delimiter for each field.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique name
|
|
for the configuration.
|
|
type: string
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
logLevel:
|
|
description: The @log_level parameter specifies the
|
|
plugin-specific logging level
|
|
type: string
|
|
newline:
|
|
description: Specify newline characters.
|
|
enum:
|
|
- lf
|
|
- crlf
|
|
type: string
|
|
outputTag:
|
|
description: Output tag field if true.
|
|
type: boolean
|
|
outputTime:
|
|
description: Output time field if true.
|
|
type: boolean
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this
|
|
type, default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type
|
|
of the plugin.
|
|
enum:
|
|
- out_file
|
|
- json
|
|
- ltsv
|
|
- csv
|
|
- msgpack
|
|
- hash
|
|
- single_value
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
type: object
|
|
inject:
|
|
description: The inject section
|
|
properties:
|
|
hostname:
|
|
description: Hostname value
|
|
type: string
|
|
hostnameKey:
|
|
description: The field name to inject hostname
|
|
type: string
|
|
inline:
|
|
description: Time section
|
|
properties:
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this
|
|
type, default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
type: object
|
|
tagKey:
|
|
description: The field name to inject tag
|
|
type: string
|
|
timeKey:
|
|
description: The field name to inject time
|
|
type: string
|
|
workerIdKey:
|
|
description: The field name to inject worker_id
|
|
type: string
|
|
type: object
|
|
type: object
|
|
tag:
|
|
description: Which tag to be matched.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: FilterStatus defines the observed state of Filter
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: fluentbitconfigs.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: FluentBitConfig
|
|
listKind: FluentBitConfigList
|
|
plural: fluentbitconfigs
|
|
shortNames:
|
|
- fbc
|
|
singular: fluentbitconfig
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: FluentBitConfig is the Schema for the 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: NamespacedFluentBitCfgSpec defines the desired state of FluentBit
|
|
properties:
|
|
clusterMultilineParserSelector:
|
|
description: Select cluster level multiline parser config
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
clusterParserSelector:
|
|
description: Select cluster level parser config
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
filterSelector:
|
|
description: Select filter 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
multilineParserSelector:
|
|
description: Select multiline parser 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
outputSelector:
|
|
description: Select output 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
parserSelector:
|
|
description: Select parser 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
service:
|
|
description: Service defines the global behaviour of the Fluent Bit
|
|
engine.
|
|
properties:
|
|
daemon:
|
|
description: If true go to background on start
|
|
type: boolean
|
|
emitterMemBufLimit:
|
|
type: string
|
|
emitterName:
|
|
description: Per-namespace re-emitter configuration
|
|
type: string
|
|
emitterStorageType:
|
|
type: string
|
|
flushSeconds:
|
|
description: Interval to flush output
|
|
type: number
|
|
graceSeconds:
|
|
description: Wait time on exit
|
|
format: int64
|
|
type: integer
|
|
hcErrorsCount:
|
|
description: 'the error count to meet the unhealthy requirement,
|
|
this is a sum for all output plugins in a defined HC_Period,
|
|
example for output error: [2022/02/16 10:44:10] [ warn] [engine]
|
|
failed to flush chunk ''1-1645008245.491540684.flb'', retry
|
|
in 7 seconds: task_id=0, input=forward.1 > output=cloudwatch_logs.3
|
|
(out_id=3)'
|
|
format: int64
|
|
minimum: 1
|
|
type: integer
|
|
hcPeriod:
|
|
description: The time period by second to count the error and
|
|
retry failure data point
|
|
format: int64
|
|
minimum: 1
|
|
type: integer
|
|
hcRetryFailureCount:
|
|
description: 'the retry failure count to meet the unhealthy requirement,
|
|
this is a sum for all output plugins in a defined HC_Period,
|
|
example for retry failure: [2022/02/16 20:11:36] [ warn] [engine]
|
|
chunk ''1-1645042288.260516436.flb'' cannot be retried: task_id=0,
|
|
input=tcp.3 > output=cloudwatch_logs.1'
|
|
format: int64
|
|
minimum: 1
|
|
type: integer
|
|
healthCheck:
|
|
description: 'enable Health check feature at http://127.0.0.1:2020/api/v1/health
|
|
Note: Enabling this will not automatically configure kubernetes
|
|
to use fluentbit''s healthcheck endpoint'
|
|
type: boolean
|
|
hotReload:
|
|
description: If true enable reloading via HTTP
|
|
type: boolean
|
|
httpListen:
|
|
description: Address to listen
|
|
pattern: ^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$
|
|
type: string
|
|
httpPort:
|
|
description: Port to listen
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
httpServer:
|
|
description: If true enable statistics HTTP server
|
|
type: boolean
|
|
logFile:
|
|
description: File to log diagnostic output
|
|
type: string
|
|
logLevel:
|
|
description: Diagnostic level (error/warning/info/debug/trace)
|
|
enum:
|
|
- "off"
|
|
- error
|
|
- warning
|
|
- info
|
|
- debug
|
|
- trace
|
|
type: string
|
|
parsersFile:
|
|
description: Optional 'parsers' config file (can be multiple)
|
|
type: string
|
|
parsersFiles:
|
|
description: backward compatible
|
|
items:
|
|
type: string
|
|
type: array
|
|
storage:
|
|
description: Configure a global environment for the storage layer
|
|
in Service. It is recommended to configure the volume and volumeMount
|
|
separately for this storage. The hostPath type should be used
|
|
for that Volume in Fluentbit daemon set.
|
|
properties:
|
|
backlogMemLimit:
|
|
description: This option configure a hint of maximum value
|
|
of memory to use when processing these records
|
|
type: string
|
|
checksum:
|
|
description: Enable the data integrity check when writing
|
|
and reading data from the filesystem
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
deleteIrrecoverableChunks:
|
|
description: When enabled, irrecoverable chunks will be deleted
|
|
during runtime, and any other irrecoverable chunk located
|
|
in the configured storage path directory will be deleted
|
|
when Fluent-Bit starts.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
maxChunksUp:
|
|
description: If the input plugin has enabled filesystem storage
|
|
type, this property sets the maximum number of Chunks that
|
|
can be up in memory
|
|
format: int64
|
|
type: integer
|
|
metrics:
|
|
description: If http_server option has been enabled in the
|
|
Service section, this option registers a new endpoint where
|
|
internal metrics of the storage layer can be consumed
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
path:
|
|
description: Select an optional location in the file system
|
|
to store streams and chunks of data/
|
|
type: string
|
|
sync:
|
|
description: Configure the synchronization mode used to store
|
|
the data into the file system
|
|
enum:
|
|
- normal
|
|
- full
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: fluentbits.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: FluentBit
|
|
listKind: FluentBitList
|
|
plural: fluentbits
|
|
shortNames:
|
|
- fb
|
|
singular: fluentbit
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: FluentBit is the Schema for the fluentbits 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: FluentBitSpec defines the desired state of FluentBit
|
|
properties:
|
|
affinity:
|
|
description: Pod's scheduling constraints.
|
|
properties:
|
|
nodeAffinity:
|
|
description: Describes node affinity scheduling rules for the
|
|
pod.
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node matches the corresponding matchExpressions; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: |-
|
|
An empty preferred scheduling term matches all objects with implicit weight 0
|
|
(i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
|
|
properties:
|
|
preference:
|
|
description: A node selector term, associated with the
|
|
corresponding weight.
|
|
properties:
|
|
matchExpressions:
|
|
description: A list of node selector requirements
|
|
by node's labels.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
description: A list of node selector requirements
|
|
by node's fields.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
description: Weight associated with matching the corresponding
|
|
nodeSelectorTerm, in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to an update), the system
|
|
may or may not try to eventually evict the pod from its node.
|
|
properties:
|
|
nodeSelectorTerms:
|
|
description: Required. A list of node selector terms.
|
|
The terms are ORed.
|
|
items:
|
|
description: |-
|
|
A null or empty node selector term matches no objects. The requirements of
|
|
them are ANDed.
|
|
The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
|
|
properties:
|
|
matchExpressions:
|
|
description: A list of node selector requirements
|
|
by node's labels.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
description: A list of node selector requirements
|
|
by node's fields.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
description: Describes pod affinity scheduling rules (e.g. co-locate
|
|
this pod in the same node, zone, etc. as some other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the matched WeightedPodAffinityTerm
|
|
fields are added per-node to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term, associated
|
|
with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: |-
|
|
weight associated with matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to a pod label update), the
|
|
system may or may not try to eventually evict the pod from its node.
|
|
When there are multiple elements, the lists of nodes corresponding to each
|
|
podAffinityTerm are intersected, i.e. all terms must be satisfied.
|
|
items:
|
|
description: |-
|
|
Defines a set of pods (namely those matching the labelSelector
|
|
relative to the given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity) with,
|
|
where co-located is defined as running on a node whose value of
|
|
the label with key <topologyKey> matches that of any node on which
|
|
a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
description: Describes pod anti-affinity scheduling rules (e.g.
|
|
avoid putting this pod in the same node, zone, etc. as some
|
|
other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the anti-affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling anti-affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the matched WeightedPodAffinityTerm
|
|
fields are added per-node to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term, associated
|
|
with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: |-
|
|
weight associated with matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the anti-affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the anti-affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to a pod label update), the
|
|
system may or may not try to eventually evict the pod from its node.
|
|
When there are multiple elements, the lists of nodes corresponding to each
|
|
podAffinityTerm are intersected, i.e. all terms must be satisfied.
|
|
items:
|
|
description: |-
|
|
Defines a set of pods (namely those matching the labelSelector
|
|
relative to the given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity) with,
|
|
where co-located is defined as running on a node whose value of
|
|
the label with key <topologyKey> matches that of any node on which
|
|
a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to each Fluentbit pod.
|
|
type: object
|
|
args:
|
|
description: Fluent Bit Watcher command line arguments.
|
|
items:
|
|
type: string
|
|
type: array
|
|
command:
|
|
description: Fluent Bit Watcher command.
|
|
items:
|
|
type: string
|
|
type: array
|
|
containerLogRealPath:
|
|
description: Container log path
|
|
type: string
|
|
containerSecurityContext:
|
|
description: ContainerSecurityContext holds container-level security
|
|
attributes.
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
description: |-
|
|
AllowPrivilegeEscalation controls whether a process can gain more
|
|
privileges than its parent process. This bool directly controls if
|
|
the no_new_privs flag will be set on the container process.
|
|
AllowPrivilegeEscalation is true always when the container is:
|
|
1) run as Privileged
|
|
2) has CAP_SYS_ADMIN
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
appArmorProfile:
|
|
description: |-
|
|
appArmorProfile is the AppArmor options to use by this container. If set, this profile
|
|
overrides the pod's appArmorProfile.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile loaded on the node that should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must match the loaded name of the profile.
|
|
Must be set if and only if type is "Localhost".
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of AppArmor profile will be applied.
|
|
Valid options are:
|
|
Localhost - a profile pre-loaded on the node.
|
|
RuntimeDefault - the container runtime's default profile.
|
|
Unconfined - no AppArmor enforcement.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
description: |-
|
|
The capabilities to add/drop when running containers.
|
|
Defaults to the default set of capabilities granted by the container runtime.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
add:
|
|
description: Added capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
description: Removed capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
description: |-
|
|
Run container in privileged mode.
|
|
Processes in privileged containers are essentially equivalent to root on the host.
|
|
Defaults to false.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
procMount:
|
|
description: |-
|
|
procMount denotes the type of proc mount to use for the containers.
|
|
The default is DefaultProcMount which uses the container runtime defaults for
|
|
readonly paths and masked paths.
|
|
This requires the ProcMountType feature flag to be enabled.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
description: |-
|
|
Whether this container has a read-only root filesystem.
|
|
Default is false.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
runAsGroup:
|
|
description: |-
|
|
The GID to run the entrypoint of the container process.
|
|
Uses runtime default if unset.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
description: |-
|
|
Indicates that the container must run as a non-root user.
|
|
If true, the Kubelet will validate the image at runtime to ensure that it
|
|
does not run as UID 0 (root) and fail to start the container if it does.
|
|
If unset or false, no such validation will be performed.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: boolean
|
|
runAsUser:
|
|
description: |-
|
|
The UID to run the entrypoint of the container process.
|
|
Defaults to user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
description: |-
|
|
The SELinux context to be applied to the container.
|
|
If unspecified, the container runtime will allocate a random SELinux context for each
|
|
container. May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
level:
|
|
description: Level is SELinux level label that applies to
|
|
the container.
|
|
type: string
|
|
role:
|
|
description: Role is a SELinux role label that applies to
|
|
the container.
|
|
type: string
|
|
type:
|
|
description: Type is a SELinux type label that applies to
|
|
the container.
|
|
type: string
|
|
user:
|
|
description: User is a SELinux user label that applies to
|
|
the container.
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
description: |-
|
|
The seccomp options to use by this container. If seccomp options are
|
|
provided at both the pod & container level, the container options
|
|
override the pod options.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of seccomp profile will be applied.
|
|
Valid options are:
|
|
|
|
|
|
Localhost - a profile defined in a file on the node should be used.
|
|
RuntimeDefault - the container runtime default profile should be used.
|
|
Unconfined - no profile should be applied.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
description: |-
|
|
The Windows specific settings applied to all containers.
|
|
If unspecified, the options from the PodSecurityContext will be used.
|
|
If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is linux.
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
description: |-
|
|
GMSACredentialSpec is where the GMSA admission webhook
|
|
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
|
GMSA credential spec named by the GMSACredentialSpecName field.
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
description: GMSACredentialSpecName is the name of the GMSA
|
|
credential spec to use.
|
|
type: string
|
|
hostProcess:
|
|
description: |-
|
|
HostProcess determines if a container should be run as a 'Host Process' container.
|
|
All of a Pod's containers must have the same effective HostProcess value
|
|
(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
|
|
In addition, if HostProcess is true then HostNetwork must also be set to true.
|
|
type: boolean
|
|
runAsUserName:
|
|
description: |-
|
|
The UserName in Windows to run the entrypoint of the container process.
|
|
Defaults to the user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
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.
|
|
type: boolean
|
|
dnsPolicy:
|
|
description: |-
|
|
Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are
|
|
'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.
|
|
type: string
|
|
envVars:
|
|
description: EnvVars represent environment variables that can be passed
|
|
to fluentbit pods.
|
|
items:
|
|
description: EnvVar represents an environment variable present in
|
|
a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: |-
|
|
Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in the container and
|
|
any service environment variables. If a variable cannot be resolved,
|
|
the reference in the input string will be unchanged. Double $$ are reduced
|
|
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless of whether the variable
|
|
exists or not.
|
|
Defaults to "".
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value. Cannot
|
|
be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
description: |-
|
|
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
|
|
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath is
|
|
written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the specified
|
|
API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the exposed
|
|
resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
fluentBitConfigName:
|
|
description: Fluentbitconfig object associated with this Fluentbit
|
|
type: string
|
|
hostAliases:
|
|
description: HostAliases is an optional list of IPs and hostnames
|
|
that will be injected into the pod's hosts file if specified.
|
|
items:
|
|
description: |-
|
|
HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the
|
|
pod's hosts file.
|
|
properties:
|
|
hostnames:
|
|
description: Hostnames for the above IP address.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
ip:
|
|
description: IP address of the host file entry.
|
|
type: string
|
|
required:
|
|
- ip
|
|
type: object
|
|
type: array
|
|
hostNetwork:
|
|
description: Host networking is requested for this pod. Use the host's
|
|
network namespace. If this option is set, the ports that will be
|
|
used must be specified. Default to false.
|
|
type: boolean
|
|
image:
|
|
description: Fluent Bit image.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Fluent Bit image pull policy.
|
|
type: string
|
|
imagePullSecrets:
|
|
description: Fluent Bit image pull secret
|
|
items:
|
|
description: |-
|
|
LocalObjectReference contains enough information to let you locate the
|
|
referenced object inside the same namespace.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
initContainers:
|
|
description: InitContainers represents the pod's init containers.
|
|
items:
|
|
description: A single application container that you want to run
|
|
within a pod.
|
|
properties:
|
|
args:
|
|
description: |-
|
|
Arguments to the entrypoint.
|
|
The container image's CMD is used if this is not provided.
|
|
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
|
|
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
|
|
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
|
|
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Cannot be updated.
|
|
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
description: |-
|
|
Entrypoint array. Not executed within a shell.
|
|
The container image's ENTRYPOINT is used if this is not provided.
|
|
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
|
|
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
|
|
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
|
|
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Cannot be updated.
|
|
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
description: |-
|
|
List of environment variables to set in the container.
|
|
Cannot be updated.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be
|
|
a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: |-
|
|
Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in the container and
|
|
any service environment variables. If a variable cannot be resolved,
|
|
the reference in the input string will be unchanged. Double $$ are reduced
|
|
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless of whether the variable
|
|
exists or not.
|
|
Defaults to "".
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or
|
|
its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
description: |-
|
|
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
|
|
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
description: |-
|
|
List of sources to populate environment variables in the container.
|
|
The keys defined within a source must be a C_IDENTIFIER. All invalid keys
|
|
will be reported as an event when the container is starting. When a key exists in multiple
|
|
sources, the value associated with the last source will take precedence.
|
|
Values defined by an Env with a duplicate key will take precedence.
|
|
Cannot be updated.
|
|
items:
|
|
description: EnvFromSource represents the source of a set
|
|
of ConfigMaps
|
|
properties:
|
|
configMapRef:
|
|
description: The ConfigMap to select from
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap must be
|
|
defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
description: An optional identifier to prepend to each
|
|
key in the ConfigMap. Must be a C_IDENTIFIER.
|
|
type: string
|
|
secretRef:
|
|
description: The Secret to select from
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
description: |-
|
|
Container image name.
|
|
More info: https://kubernetes.io/docs/concepts/containers/images
|
|
This field is optional to allow higher level config management to default or override
|
|
container images in workload controllers like Deployments and StatefulSets.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: |-
|
|
Image pull policy.
|
|
One of Always, Never, IfNotPresent.
|
|
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
|
|
Cannot be updated.
|
|
More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
|
|
type: string
|
|
lifecycle:
|
|
description: |-
|
|
Actions that the management system should take in response to container lifecycle events.
|
|
Cannot be updated.
|
|
properties:
|
|
postStart:
|
|
description: |-
|
|
PostStart is called immediately after a container is created. If the handler fails,
|
|
the container is terminated and restarted according to its restart policy.
|
|
Other management of the container blocks until the hook completes.
|
|
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request.
|
|
HTTP allows repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header
|
|
to be used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
description: Sleep represents the duration that the
|
|
container should sleep before being terminated.
|
|
properties:
|
|
seconds:
|
|
description: Seconds is the number of seconds to
|
|
sleep.
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
description: |-
|
|
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
|
|
for the backward compatibility. There are no validation of this field and
|
|
lifecycle hooks will fail in runtime when tcp handler is specified.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to,
|
|
defaults to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
description: |-
|
|
PreStop is called immediately before a container is terminated due to an
|
|
API request or management event such as liveness/startup probe failure,
|
|
preemption, resource contention, etc. The handler is not called if the
|
|
container crashes or exits. The Pod's termination grace period countdown begins before the
|
|
PreStop hook is executed. Regardless of the outcome of the handler, the
|
|
container will eventually terminate within the Pod's termination grace
|
|
period (unless delayed by finalizers). Other management of the container blocks until the hook completes
|
|
or until the termination grace period is reached.
|
|
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request.
|
|
HTTP allows repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header
|
|
to be used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
description: Sleep represents the duration that the
|
|
container should sleep before being terminated.
|
|
properties:
|
|
seconds:
|
|
description: Seconds is the number of seconds to
|
|
sleep.
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
description: |-
|
|
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
|
|
for the backward compatibility. There are no validation of this field and
|
|
lifecycle hooks will fail in runtime when tcp handler is specified.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to,
|
|
defaults to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
type: object
|
|
livenessProbe:
|
|
description: |-
|
|
Periodic probe of container liveness.
|
|
Container will be restarted if the probe fails.
|
|
Cannot be updated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
description: |-
|
|
Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
Defaults to 3. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
description: GRPC specifies an action involving a GRPC port.
|
|
properties:
|
|
port:
|
|
description: Port number of the gRPC service. Number
|
|
must be in the range 1 to 65535.
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
description: |-
|
|
Service is the name of the service to place in the gRPC HealthCheckRequest
|
|
(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
|
|
|
|
|
|
If this is not specified, the default behavior is defined by gRPC.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request. HTTP
|
|
allows repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header
|
|
to be used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
description: |-
|
|
Number of seconds after the container has started before liveness probes are initiated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: |-
|
|
How often (in seconds) to perform the probe.
|
|
Default to 10 seconds. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
description: |-
|
|
Minimum consecutive successes for the probe to be considered successful after having failed.
|
|
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: TCPSocket specifies an action involving a TCP
|
|
port.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to, defaults
|
|
to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
description: |-
|
|
Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
The grace period is the duration in seconds after the processes running in the pod are sent
|
|
a termination signal and the time when the processes are forcibly halted with a kill signal.
|
|
Set this value longer than the expected cleanup time for your process.
|
|
If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
|
|
value overrides the value provided by the pod spec.
|
|
Value must be non-negative integer. The value zero indicates stop immediately via
|
|
the kill signal (no opportunity to shut down).
|
|
This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
|
|
Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
description: |-
|
|
Number of seconds after which the probe times out.
|
|
Defaults to 1 second. Minimum value is 1.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
description: |-
|
|
Name of the container specified as a DNS_LABEL.
|
|
Each container in a pod must have a unique name (DNS_LABEL).
|
|
Cannot be updated.
|
|
type: string
|
|
ports:
|
|
description: |-
|
|
List of ports to expose from the container. Not specifying a port here
|
|
DOES NOT prevent that port from being exposed. Any port which is
|
|
listening on the default "0.0.0.0" address inside a container will be
|
|
accessible from the network.
|
|
Modifying this array with strategic merge patch may corrupt the data.
|
|
For more information See https://github.com/kubernetes/kubernetes/issues/108255.
|
|
Cannot be updated.
|
|
items:
|
|
description: ContainerPort represents a network port in a
|
|
single container.
|
|
properties:
|
|
containerPort:
|
|
description: |-
|
|
Number of port to expose on the pod's IP address.
|
|
This must be a valid port number, 0 < x < 65536.
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
description: What host IP to bind the external port to.
|
|
type: string
|
|
hostPort:
|
|
description: |-
|
|
Number of port to expose on the host.
|
|
If specified, this must be a valid port number, 0 < x < 65536.
|
|
If HostNetwork is specified, this must match ContainerPort.
|
|
Most containers do not need this.
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: |-
|
|
If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
|
|
named port in a pod must have a unique name. Name for the port that can be
|
|
referred to by services.
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
description: |-
|
|
Protocol for port. Must be UDP, TCP, or SCTP.
|
|
Defaults to "TCP".
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
description: |-
|
|
Periodic probe of container service readiness.
|
|
Container will be removed from service endpoints if the probe fails.
|
|
Cannot be updated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
description: |-
|
|
Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
Defaults to 3. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
description: GRPC specifies an action involving a GRPC port.
|
|
properties:
|
|
port:
|
|
description: Port number of the gRPC service. Number
|
|
must be in the range 1 to 65535.
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
description: |-
|
|
Service is the name of the service to place in the gRPC HealthCheckRequest
|
|
(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
|
|
|
|
|
|
If this is not specified, the default behavior is defined by gRPC.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request. HTTP
|
|
allows repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header
|
|
to be used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
description: |-
|
|
Number of seconds after the container has started before liveness probes are initiated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: |-
|
|
How often (in seconds) to perform the probe.
|
|
Default to 10 seconds. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
description: |-
|
|
Minimum consecutive successes for the probe to be considered successful after having failed.
|
|
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: TCPSocket specifies an action involving a TCP
|
|
port.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to, defaults
|
|
to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
description: |-
|
|
Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
The grace period is the duration in seconds after the processes running in the pod are sent
|
|
a termination signal and the time when the processes are forcibly halted with a kill signal.
|
|
Set this value longer than the expected cleanup time for your process.
|
|
If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
|
|
value overrides the value provided by the pod spec.
|
|
Value must be non-negative integer. The value zero indicates stop immediately via
|
|
the kill signal (no opportunity to shut down).
|
|
This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
|
|
Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
description: |-
|
|
Number of seconds after which the probe times out.
|
|
Defaults to 1 second. Minimum value is 1.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
description: Resources resize policy for the container.
|
|
items:
|
|
description: ContainerResizePolicy represents resource resize
|
|
policy for the container.
|
|
properties:
|
|
resourceName:
|
|
description: |-
|
|
Name of the resource to which this resource resize policy applies.
|
|
Supported values: cpu, memory.
|
|
type: string
|
|
restartPolicy:
|
|
description: |-
|
|
Restart policy to apply when specified resource is resized.
|
|
If not specified, it defaults to NotRequired.
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
description: |-
|
|
Compute Resources required by this container.
|
|
Cannot be updated.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
description: |-
|
|
RestartPolicy defines the restart behavior of individual containers in a pod.
|
|
This field may only be set for init containers, and the only allowed value is "Always".
|
|
For non-init containers or when this field is not specified,
|
|
the restart behavior is defined by the Pod's restart policy and the container type.
|
|
Setting the RestartPolicy as "Always" for the init container will have the following effect:
|
|
this init container will be continually restarted on
|
|
exit until all regular containers have terminated. Once all regular
|
|
containers have completed, all init containers with restartPolicy "Always"
|
|
will be shut down. This lifecycle differs from normal init containers and
|
|
is often referred to as a "sidecar" container. Although this init
|
|
container still starts in the init container sequence, it does not wait
|
|
for the container to complete before proceeding to the next init
|
|
container. Instead, the next init container starts immediately after this
|
|
init container is started, or after any startupProbe has successfully
|
|
completed.
|
|
type: string
|
|
securityContext:
|
|
description: |-
|
|
SecurityContext defines the security options the container should be run with.
|
|
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
|
|
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
description: |-
|
|
AllowPrivilegeEscalation controls whether a process can gain more
|
|
privileges than its parent process. This bool directly controls if
|
|
the no_new_privs flag will be set on the container process.
|
|
AllowPrivilegeEscalation is true always when the container is:
|
|
1) run as Privileged
|
|
2) has CAP_SYS_ADMIN
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
appArmorProfile:
|
|
description: |-
|
|
appArmorProfile is the AppArmor options to use by this container. If set, this profile
|
|
overrides the pod's appArmorProfile.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile loaded on the node that should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must match the loaded name of the profile.
|
|
Must be set if and only if type is "Localhost".
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of AppArmor profile will be applied.
|
|
Valid options are:
|
|
Localhost - a profile pre-loaded on the node.
|
|
RuntimeDefault - the container runtime's default profile.
|
|
Unconfined - no AppArmor enforcement.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
description: |-
|
|
The capabilities to add/drop when running containers.
|
|
Defaults to the default set of capabilities granted by the container runtime.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
add:
|
|
description: Added capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities
|
|
type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
description: Removed capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities
|
|
type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
description: |-
|
|
Run container in privileged mode.
|
|
Processes in privileged containers are essentially equivalent to root on the host.
|
|
Defaults to false.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
procMount:
|
|
description: |-
|
|
procMount denotes the type of proc mount to use for the containers.
|
|
The default is DefaultProcMount which uses the container runtime defaults for
|
|
readonly paths and masked paths.
|
|
This requires the ProcMountType feature flag to be enabled.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
description: |-
|
|
Whether this container has a read-only root filesystem.
|
|
Default is false.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
runAsGroup:
|
|
description: |-
|
|
The GID to run the entrypoint of the container process.
|
|
Uses runtime default if unset.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
description: |-
|
|
Indicates that the container must run as a non-root user.
|
|
If true, the Kubelet will validate the image at runtime to ensure that it
|
|
does not run as UID 0 (root) and fail to start the container if it does.
|
|
If unset or false, no such validation will be performed.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: boolean
|
|
runAsUser:
|
|
description: |-
|
|
The UID to run the entrypoint of the container process.
|
|
Defaults to user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
description: |-
|
|
The SELinux context to be applied to the container.
|
|
If unspecified, the container runtime will allocate a random SELinux context for each
|
|
container. May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
level:
|
|
description: Level is SELinux level label that applies
|
|
to the container.
|
|
type: string
|
|
role:
|
|
description: Role is a SELinux role label that applies
|
|
to the container.
|
|
type: string
|
|
type:
|
|
description: Type is a SELinux type label that applies
|
|
to the container.
|
|
type: string
|
|
user:
|
|
description: User is a SELinux user label that applies
|
|
to the container.
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
description: |-
|
|
The seccomp options to use by this container. If seccomp options are
|
|
provided at both the pod & container level, the container options
|
|
override the pod options.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of seccomp profile will be applied.
|
|
Valid options are:
|
|
|
|
|
|
Localhost - a profile defined in a file on the node should be used.
|
|
RuntimeDefault - the container runtime default profile should be used.
|
|
Unconfined - no profile should be applied.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
description: |-
|
|
The Windows specific settings applied to all containers.
|
|
If unspecified, the options from the PodSecurityContext will be used.
|
|
If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is linux.
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
description: |-
|
|
GMSACredentialSpec is where the GMSA admission webhook
|
|
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
|
GMSA credential spec named by the GMSACredentialSpecName field.
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
description: GMSACredentialSpecName is the name of the
|
|
GMSA credential spec to use.
|
|
type: string
|
|
hostProcess:
|
|
description: |-
|
|
HostProcess determines if a container should be run as a 'Host Process' container.
|
|
All of a Pod's containers must have the same effective HostProcess value
|
|
(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
|
|
In addition, if HostProcess is true then HostNetwork must also be set to true.
|
|
type: boolean
|
|
runAsUserName:
|
|
description: |-
|
|
The UserName in Windows to run the entrypoint of the container process.
|
|
Defaults to the user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
description: |-
|
|
StartupProbe indicates that the Pod has successfully initialized.
|
|
If specified, no other probes are executed until this completes successfully.
|
|
If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
|
|
This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
|
|
when it might take a long time to load data or warm a cache, than during steady-state operation.
|
|
This cannot be updated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
description: |-
|
|
Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
Defaults to 3. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
description: GRPC specifies an action involving a GRPC port.
|
|
properties:
|
|
port:
|
|
description: Port number of the gRPC service. Number
|
|
must be in the range 1 to 65535.
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
description: |-
|
|
Service is the name of the service to place in the gRPC HealthCheckRequest
|
|
(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
|
|
|
|
|
|
If this is not specified, the default behavior is defined by gRPC.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request. HTTP
|
|
allows repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header
|
|
to be used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
description: |-
|
|
Number of seconds after the container has started before liveness probes are initiated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: |-
|
|
How often (in seconds) to perform the probe.
|
|
Default to 10 seconds. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
description: |-
|
|
Minimum consecutive successes for the probe to be considered successful after having failed.
|
|
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: TCPSocket specifies an action involving a TCP
|
|
port.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to, defaults
|
|
to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
description: |-
|
|
Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
The grace period is the duration in seconds after the processes running in the pod are sent
|
|
a termination signal and the time when the processes are forcibly halted with a kill signal.
|
|
Set this value longer than the expected cleanup time for your process.
|
|
If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
|
|
value overrides the value provided by the pod spec.
|
|
Value must be non-negative integer. The value zero indicates stop immediately via
|
|
the kill signal (no opportunity to shut down).
|
|
This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
|
|
Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
description: |-
|
|
Number of seconds after which the probe times out.
|
|
Defaults to 1 second. Minimum value is 1.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
description: |-
|
|
Whether this container should allocate a buffer for stdin in the container runtime. If this
|
|
is not set, reads from stdin in the container will always result in EOF.
|
|
Default is false.
|
|
type: boolean
|
|
stdinOnce:
|
|
description: |-
|
|
Whether the container runtime should close the stdin channel after it has been opened by
|
|
a single attach. When stdin is true the stdin stream will remain open across multiple attach
|
|
sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the
|
|
first client attaches to stdin, and then remains open and accepts data until the client disconnects,
|
|
at which time stdin is closed and remains closed until the container is restarted. If this
|
|
flag is false, a container processes that reads from stdin will never receive an EOF.
|
|
Default is false
|
|
type: boolean
|
|
terminationMessagePath:
|
|
description: |-
|
|
Optional: Path at which the file to which the container's termination message
|
|
will be written is mounted into the container's filesystem.
|
|
Message written is intended to be brief final status, such as an assertion failure message.
|
|
Will be truncated by the node if greater than 4096 bytes. The total message length across
|
|
all containers will be limited to 12kb.
|
|
Defaults to /dev/termination-log.
|
|
Cannot be updated.
|
|
type: string
|
|
terminationMessagePolicy:
|
|
description: |-
|
|
Indicate how the termination message should be populated. File will use the contents of
|
|
terminationMessagePath to populate the container status message on both success and failure.
|
|
FallbackToLogsOnError will use the last chunk of container log output if the termination
|
|
message file is empty and the container exited with an error.
|
|
The log output is limited to 2048 bytes or 80 lines, whichever is smaller.
|
|
Defaults to File.
|
|
Cannot be updated.
|
|
type: string
|
|
tty:
|
|
description: |-
|
|
Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.
|
|
Default is false.
|
|
type: boolean
|
|
volumeDevices:
|
|
description: volumeDevices is the list of block devices to be
|
|
used by the container.
|
|
items:
|
|
description: volumeDevice describes a mapping of a raw block
|
|
device within a container.
|
|
properties:
|
|
devicePath:
|
|
description: devicePath is the path inside of the container
|
|
that the device will be mapped to.
|
|
type: string
|
|
name:
|
|
description: name must match the name of a persistentVolumeClaim
|
|
in the pod
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
description: |-
|
|
Pod volumes to mount into the container's filesystem.
|
|
Cannot be updated.
|
|
items:
|
|
description: VolumeMount describes a mounting of a Volume
|
|
within a container.
|
|
properties:
|
|
mountPath:
|
|
description: |-
|
|
Path within the container at which the volume should be mounted. Must
|
|
not contain ':'.
|
|
type: string
|
|
mountPropagation:
|
|
description: |-
|
|
mountPropagation determines how mounts are propagated from the host
|
|
to container and the other way around.
|
|
When not set, MountPropagationNone is used.
|
|
This field is beta in 1.10.
|
|
When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
|
|
(which defaults to None).
|
|
type: string
|
|
name:
|
|
description: This must match the Name of a Volume.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
Mounted read-only if true, read-write otherwise (false or unspecified).
|
|
Defaults to false.
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
description: |-
|
|
RecursiveReadOnly specifies whether read-only mounts should be handled
|
|
recursively.
|
|
|
|
|
|
If ReadOnly is false, this field has no meaning and must be unspecified.
|
|
|
|
|
|
If ReadOnly is true, and this field is set to Disabled, the mount is not made
|
|
recursively read-only. If this field is set to IfPossible, the mount is made
|
|
recursively read-only, if it is supported by the container runtime. If this
|
|
field is set to Enabled, the mount is made recursively read-only if it is
|
|
supported by the container runtime, otherwise the pod will not be started and
|
|
an error will be generated to indicate the reason.
|
|
|
|
|
|
If this field is set to IfPossible or Enabled, MountPropagation must be set to
|
|
None (or be unspecified, which defaults to None).
|
|
|
|
|
|
If this field is not specified, it is treated as an equivalent of Disabled.
|
|
type: string
|
|
subPath:
|
|
description: |-
|
|
Path within the volume from which the container's volume should be mounted.
|
|
Defaults to "" (volume's root).
|
|
type: string
|
|
subPathExpr:
|
|
description: |-
|
|
Expanded path within the volume from which the container's volume should be mounted.
|
|
Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
|
|
Defaults to "" (volume's root).
|
|
SubPathExpr and SubPath are mutually exclusive.
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
description: |-
|
|
Container's working directory.
|
|
If not specified, the container runtime's default will be used, which
|
|
might be configured in the container image.
|
|
Cannot be updated.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
internalMountPropagation:
|
|
description: MountPropagation option for internal mounts
|
|
enum:
|
|
- None
|
|
- HostToContainer
|
|
- Bidirectional
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to add to each FluentBit pod
|
|
type: object
|
|
livenessProbe:
|
|
description: LivenessProbe represents the pod's liveness probe.
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
description: |-
|
|
Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
Defaults to 3. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
description: GRPC specifies an action involving a GRPC port.
|
|
properties:
|
|
port:
|
|
description: Port number of the gRPC service. Number must
|
|
be in the range 1 to 65535.
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
description: |-
|
|
Service is the name of the service to place in the gRPC HealthCheckRequest
|
|
(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
|
|
|
|
|
|
If this is not specified, the default behavior is defined by gRPC.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request. HTTP allows
|
|
repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header to be
|
|
used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
description: |-
|
|
Number of seconds after the container has started before liveness probes are initiated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: |-
|
|
How often (in seconds) to perform the probe.
|
|
Default to 10 seconds. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
description: |-
|
|
Minimum consecutive successes for the probe to be considered successful after having failed.
|
|
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: TCPSocket specifies an action involving a TCP port.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to, defaults
|
|
to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
description: |-
|
|
Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
The grace period is the duration in seconds after the processes running in the pod are sent
|
|
a termination signal and the time when the processes are forcibly halted with a kill signal.
|
|
Set this value longer than the expected cleanup time for your process.
|
|
If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
|
|
value overrides the value provided by the pod spec.
|
|
Value must be non-negative integer. The value zero indicates stop immediately via
|
|
the kill signal (no opportunity to shut down).
|
|
This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
|
|
Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
description: |-
|
|
Number of seconds after which the probe times out.
|
|
Defaults to 1 second. Minimum value is 1.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
metricsPort:
|
|
description: MetricsPort is the port used by the metrics server. If
|
|
this option is set, HttpPort from ClusterFluentBitConfig needs to
|
|
match this value. Default is 2020.
|
|
format: int32
|
|
type: integer
|
|
namespaceFluentBitCfgSelector:
|
|
description: NamespacedFluentBitCfgSelector selects the namespace
|
|
FluentBitConfig associated with this FluentBit
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: NodeSelector
|
|
type: object
|
|
ports:
|
|
description: Ports represents the pod's ports.
|
|
items:
|
|
description: ContainerPort represents a network port in a single
|
|
container.
|
|
properties:
|
|
containerPort:
|
|
description: |-
|
|
Number of port to expose on the pod's IP address.
|
|
This must be a valid port number, 0 < x < 65536.
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
description: What host IP to bind the external port to.
|
|
type: string
|
|
hostPort:
|
|
description: |-
|
|
Number of port to expose on the host.
|
|
If specified, this must be a valid port number, 0 < x < 65536.
|
|
If HostNetwork is specified, this must match ContainerPort.
|
|
Most containers do not need this.
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
description: |-
|
|
If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
|
|
named port in a pod must have a unique name. Name for the port that can be
|
|
referred to by services.
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
description: |-
|
|
Protocol for port. Must be UDP, TCP, or SCTP.
|
|
Defaults to "TCP".
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
positionDB:
|
|
description: Storage for position db. You will use it if tail input
|
|
is enabled.
|
|
properties:
|
|
awsElasticBlockStore:
|
|
description: |-
|
|
awsElasticBlockStore represents an AWS Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly value true will force the readOnly setting in VolumeMounts.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: boolean
|
|
volumeID:
|
|
description: |-
|
|
volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
description: azureDisk represents an Azure Data Disk mount on
|
|
the host and bind mount to the pod.
|
|
properties:
|
|
cachingMode:
|
|
description: 'cachingMode is the Host Caching mode: None,
|
|
Read Only, Read Write.'
|
|
type: string
|
|
diskName:
|
|
description: diskName is the Name of the data disk in the
|
|
blob storage
|
|
type: string
|
|
diskURI:
|
|
description: diskURI is the URI of data disk in the blob storage
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is Filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
kind:
|
|
description: 'kind expected values are Shared: multiple blob
|
|
disks per storage account Dedicated: single blob disk per
|
|
storage account Managed: azure managed data disk (only
|
|
in managed availability set). defaults to shared'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
description: azureFile represents an Azure File Service mount
|
|
on the host and bind mount to the pod.
|
|
properties:
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretName:
|
|
description: secretName is the name of secret that contains
|
|
Azure Storage Account Name and Key
|
|
type: string
|
|
shareName:
|
|
description: shareName is the azure share Name
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
description: cephFS represents a Ceph FS mount on the host that
|
|
shares a pod's lifetime
|
|
properties:
|
|
monitors:
|
|
description: |-
|
|
monitors is Required: Monitors is a collection of Ceph monitors
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: 'path is Optional: Used as the mounted root,
|
|
rather than the full Ceph tree, default is /'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: boolean
|
|
secretFile:
|
|
description: |-
|
|
secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is optional: User is the rados user name, default is admin
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
description: |-
|
|
cinder represents a cinder volume attached and mounted on kubelets host machine.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is optional: points to a secret object containing parameters used to connect
|
|
to OpenStack.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
description: |-
|
|
volumeID used to identify the volume in cinder.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
description: configMap represents a configMap that should populate
|
|
this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap or its
|
|
keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
description: csi (Container Storage Interface) represents ephemeral
|
|
storage that is handled by certain external CSI drivers (Beta
|
|
feature).
|
|
properties:
|
|
driver:
|
|
description: |-
|
|
driver is the name of the CSI driver that handles this volume.
|
|
Consult with your admin for the correct name as registered in the cluster.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType to mount. Ex. "ext4", "xfs", "ntfs".
|
|
If not provided, the empty value is passed to the associated CSI driver
|
|
which will determine the default filesystem to apply.
|
|
type: string
|
|
nodePublishSecretRef:
|
|
description: |-
|
|
nodePublishSecretRef is a reference to the secret object containing
|
|
sensitive information to pass to the CSI driver to complete the CSI
|
|
NodePublishVolume and NodeUnpublishVolume calls.
|
|
This field is optional, and may be empty if no secret is required. If the
|
|
secret object contains more than one secret, all secret references are passed.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly specifies a read-only configuration for the volume.
|
|
Defaults to false (read/write).
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
volumeAttributes stores driver-specific properties that are passed to the CSI
|
|
driver. Consult your driver's documentation for supported values.
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
description: downwardAPI represents downward API about the pod
|
|
that should populate this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
Optional: mode bits to use on created files by default. Must be a
|
|
Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: Items is a list of downward API volume file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents information
|
|
to create the file containing the pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field of the pod:
|
|
only annotations, labels, name, namespace and uid
|
|
are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative path name
|
|
of the file to be created. Must not be absolute or
|
|
contain the ''..'' path. Must be utf-8 encoded. The
|
|
first item of the relative path must not start with
|
|
''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
description: |-
|
|
emptyDir represents a temporary directory that shares a pod's lifetime.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
properties:
|
|
medium:
|
|
description: |-
|
|
medium represents what type of storage medium should back this directory.
|
|
The default is "" which means to use the node's default medium.
|
|
Must be an empty string (default) or Memory.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
sizeLimit is the total amount of local storage required for this EmptyDir volume.
|
|
The size limit is also applicable for memory medium.
|
|
The maximum usage on memory medium EmptyDir would be the minimum value between
|
|
the SizeLimit specified here and the sum of memory limits of all containers in a pod.
|
|
The default is nil which means that the limit is undefined.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
description: |-
|
|
ephemeral represents a volume that is handled by a cluster storage driver.
|
|
The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
|
|
and deleted when the pod is removed.
|
|
|
|
|
|
Use this if:
|
|
a) the volume is only needed while the pod runs,
|
|
b) features of normal volumes like restoring from snapshot or capacity
|
|
tracking are needed,
|
|
c) the storage driver is specified through a storage class, and
|
|
d) the storage driver supports dynamic volume provisioning through
|
|
a PersistentVolumeClaim (see EphemeralVolumeSource for more
|
|
information on the connection between this volume type
|
|
and PersistentVolumeClaim).
|
|
|
|
|
|
Use PersistentVolumeClaim or one of the vendor-specific
|
|
APIs for volumes that persist for longer than the lifecycle
|
|
of an individual pod.
|
|
|
|
|
|
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
|
|
be used that way - see the documentation of the driver for
|
|
more information.
|
|
|
|
|
|
A pod can use both types of ephemeral volumes and
|
|
persistent volumes at the same time.
|
|
properties:
|
|
volumeClaimTemplate:
|
|
description: |-
|
|
Will be used to create a stand-alone PVC to provision the volume.
|
|
The pod in which this EphemeralVolumeSource is embedded will be the
|
|
owner of the PVC, i.e. the PVC will be deleted together with the
|
|
pod. The name of the PVC will be `<pod name>-<volume name>` where
|
|
`<volume name>` is the name from the `PodSpec.Volumes` array
|
|
entry. Pod validation will reject the pod if the concatenated name
|
|
is not valid for a PVC (for example, too long).
|
|
|
|
|
|
An existing PVC with that name that is not owned by the pod
|
|
will *not* be used for the pod to avoid using an unrelated
|
|
volume by mistake. Starting the pod is then blocked until
|
|
the unrelated PVC is removed. If such a pre-created PVC is
|
|
meant to be used by the pod, the PVC has to updated with an
|
|
owner reference to the pod once the pod exists. Normally
|
|
this should not be necessary, but it may be useful when
|
|
manually reconstructing a broken cluster.
|
|
|
|
|
|
This field is read-only and no changes will be made by Kubernetes
|
|
to the PVC after it has been created.
|
|
|
|
|
|
Required, must not be nil.
|
|
properties:
|
|
metadata:
|
|
description: |-
|
|
May contain labels and annotations that will be copied into the PVC
|
|
when creating it. No other fields are allowed and will be rejected during
|
|
validation.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
The specification for the PersistentVolumeClaim. The entire content is
|
|
copied unchanged into the PVC that gets created from this
|
|
template. The same fields as in a PersistentVolumeClaim
|
|
are also valid here.
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over volumes
|
|
to consider for binding.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference to
|
|
the PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
description: fc represents a Fibre Channel resource that is attached
|
|
to a kubelet's host machine and then exposed to the pod.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
lun:
|
|
description: 'lun is Optional: FC target lun number'
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
targetWWNs:
|
|
description: 'targetWWNs is Optional: FC target worldwide
|
|
names (WWNs)'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
description: |-
|
|
wwids Optional: FC volume world wide identifiers (wwids)
|
|
Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
description: |-
|
|
flexVolume represents a generic volume resource that is
|
|
provisioned/attached using an exec based plugin.
|
|
properties:
|
|
driver:
|
|
description: driver is the name of the driver to use for this
|
|
volume.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'options is Optional: this field holds extra
|
|
command options if any.'
|
|
type: object
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: secretRef is reference to the secret object containing
|
|
sensitive information to pass to the plugin scripts. This may be
|
|
empty if no secret object is specified. If the secret object
|
|
contains more than one secret, all secrets are passed to the plugin
|
|
scripts.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
description: flocker represents a Flocker volume attached to a
|
|
kubelet's host machine. This depends on the Flocker control
|
|
service being running
|
|
properties:
|
|
datasetName:
|
|
description: |-
|
|
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
|
|
should be considered as deprecated
|
|
type: string
|
|
datasetUUID:
|
|
description: datasetUUID is the UUID of the dataset. This
|
|
is unique identifier of a Flocker dataset
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
description: |-
|
|
gcePersistentDisk represents a GCE Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
description: |-
|
|
pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
description: |-
|
|
gitRepo represents a git repository at a particular revision.
|
|
DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
|
|
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
|
|
into the Pod's container.
|
|
properties:
|
|
directory:
|
|
description: |-
|
|
directory is the target directory name.
|
|
Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
|
|
git repository. Otherwise, if specified, the volume will contain the git repository in
|
|
the subdirectory with the given name.
|
|
type: string
|
|
repository:
|
|
description: repository is the URL
|
|
type: string
|
|
revision:
|
|
description: revision is the commit hash for the specified
|
|
revision.
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
description: |-
|
|
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md
|
|
properties:
|
|
endpoints:
|
|
description: |-
|
|
endpoints is the endpoint name that details Glusterfs topology.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
path:
|
|
description: |-
|
|
path is the Glusterfs volume path.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
description: |-
|
|
hostPath represents a pre-existing file or directory on the host
|
|
machine that is directly exposed to the container. This is generally
|
|
used for system agents or other privileged things that are allowed
|
|
to see the host machine. Most containers will NOT need this.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
---
|
|
TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
|
|
mount host directories as read/write.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path of the directory on the host.
|
|
If the path is a symlink, it will follow the link to the real path.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type for HostPath Volume
|
|
Defaults to ""
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
iscsi:
|
|
description: |-
|
|
iscsi represents an ISCSI Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://examples.k8s.io/volumes/iscsi/README.md
|
|
properties:
|
|
chapAuthDiscovery:
|
|
description: chapAuthDiscovery defines whether support iSCSI
|
|
Discovery CHAP authentication
|
|
type: boolean
|
|
chapAuthSession:
|
|
description: chapAuthSession defines whether support iSCSI
|
|
Session CHAP authentication
|
|
type: boolean
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
initiatorName:
|
|
description: |-
|
|
initiatorName is the custom iSCSI Initiator Name.
|
|
If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
|
|
<target portal>:<volume name> will be created for the connection.
|
|
type: string
|
|
iqn:
|
|
description: iqn is the target iSCSI Qualified Name.
|
|
type: string
|
|
iscsiInterface:
|
|
description: |-
|
|
iscsiInterface is the interface Name that uses an iSCSI transport.
|
|
Defaults to 'default' (tcp).
|
|
type: string
|
|
lun:
|
|
description: lun represents iSCSI Target Lun number.
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
description: |-
|
|
portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
type: boolean
|
|
secretRef:
|
|
description: secretRef is the CHAP Secret for iSCSI target
|
|
and initiator authentication
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
description: |-
|
|
targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
nfs:
|
|
description: |-
|
|
nfs represents an NFS mount on the host that shares a pod's lifetime
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path that is exported by the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the NFS export to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: boolean
|
|
server:
|
|
description: |-
|
|
server is the hostname or IP address of the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
description: |-
|
|
persistentVolumeClaimVolumeSource represents a reference to a
|
|
PersistentVolumeClaim in the same namespace.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
claimName:
|
|
description: |-
|
|
claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Will force the ReadOnly setting in VolumeMounts.
|
|
Default false.
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
description: photonPersistentDisk represents a PhotonController
|
|
persistent disk attached and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
pdID:
|
|
description: pdID is the ID that identifies Photon Controller
|
|
persistent disk
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
description: portworxVolume represents a portworx volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fSType represents the filesystem type to mount
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
volumeID:
|
|
description: volumeID uniquely identifies a Portworx volume
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
description: projected items for all in one resources secrets,
|
|
configmaps, and downward API
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode are the mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
description: sources is the list of volume projections
|
|
items:
|
|
description: Projection that may be projected along with
|
|
other supported volume types
|
|
properties:
|
|
clusterTrustBundle:
|
|
description: |-
|
|
ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
|
|
of ClusterTrustBundle objects in an auto-updating file.
|
|
|
|
|
|
Alpha, gated by the ClusterTrustBundleProjection feature gate.
|
|
|
|
|
|
ClusterTrustBundle objects can either be selected by name, or by the
|
|
combination of signer name and a label selector.
|
|
|
|
|
|
Kubelet performs aggressive normalization of the PEM contents written
|
|
into the pod filesystem. Esoteric PEM features such as inter-block
|
|
comments and block headers are stripped. Certificates are deduplicated.
|
|
The ordering of certificates within the file is arbitrary, and Kubelet
|
|
may change the order over time.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this label selector. Only has
|
|
effect if signerName is set. Mutually-exclusive with name. If unset,
|
|
interpreted as "match nothing". If set but empty, interpreted as "match
|
|
everything".
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
name:
|
|
description: |-
|
|
Select a single ClusterTrustBundle by object name. Mutually-exclusive
|
|
with signerName and labelSelector.
|
|
type: string
|
|
optional:
|
|
description: |-
|
|
If true, don't block pod startup if the referenced ClusterTrustBundle(s)
|
|
aren't available. If using name, then the named ClusterTrustBundle is
|
|
allowed not to exist. If using signerName, then the combination of
|
|
signerName and labelSelector is allowed to match zero
|
|
ClusterTrustBundles.
|
|
type: boolean
|
|
path:
|
|
description: Relative path from the volume root
|
|
to write the bundle.
|
|
type: string
|
|
signerName:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this signer name.
|
|
Mutually-exclusive with name. The contents of all selected
|
|
ClusterTrustBundles will be unified and deduplicated.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
description: configMap information about the configMap
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap
|
|
or its keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
description: downwardAPI information about the downwardAPI
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: Items is a list of DownwardAPIVolume
|
|
file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents
|
|
information to create the file containing the
|
|
pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field of
|
|
the pod: only annotations, labels, name,
|
|
namespace and uid are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the
|
|
FieldPath is written in terms of, defaults
|
|
to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select
|
|
in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative
|
|
path name of the file to be created. Must
|
|
not be absolute or contain the ''..'' path.
|
|
Must be utf-8 encoded. The first item of
|
|
the relative path must not start with ''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format
|
|
of the exposed resources, defaults to
|
|
"1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
secret:
|
|
description: secret information about the secret data
|
|
to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional field specify whether the
|
|
Secret or its key must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
description: serviceAccountToken is information about
|
|
the serviceAccountToken data to project
|
|
properties:
|
|
audience:
|
|
description: |-
|
|
audience is the intended audience of the token. A recipient of a token
|
|
must identify itself with an identifier specified in the audience of the
|
|
token, and otherwise should reject the token. The audience defaults to the
|
|
identifier of the apiserver.
|
|
type: string
|
|
expirationSeconds:
|
|
description: |-
|
|
expirationSeconds is the requested duration of validity of the service
|
|
account token. As the token approaches expiration, the kubelet volume
|
|
plugin will proactively rotate the service account token. The kubelet will
|
|
start trying to rotate the token if the token is older than 80 percent of
|
|
its time to live or if the token is older than 24 hours.Defaults to 1 hour
|
|
and must be at least 10 minutes.
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the path relative to the mount point of the file to project the
|
|
token into.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
description: quobyte represents a Quobyte mount on the host that
|
|
shares a pod's lifetime
|
|
properties:
|
|
group:
|
|
description: |-
|
|
group to map volume access to
|
|
Default is no group
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Quobyte volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
type: boolean
|
|
registry:
|
|
description: |-
|
|
registry represents a single or multiple Quobyte Registry services
|
|
specified as a string as host:port pair (multiple entries are separated with commas)
|
|
which acts as the central registry for volumes
|
|
type: string
|
|
tenant:
|
|
description: |-
|
|
tenant owning the given Quobyte volume in the Backend
|
|
Used with dynamically provisioned Quobyte volumes, value is set by the plugin
|
|
type: string
|
|
user:
|
|
description: |-
|
|
user to map volume access to
|
|
Defaults to serivceaccount user
|
|
type: string
|
|
volume:
|
|
description: volume is a string that references an already
|
|
created Quobyte volume by name.
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
description: |-
|
|
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
image:
|
|
description: |-
|
|
image is the rados image name.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
keyring:
|
|
description: |-
|
|
keyring is the path to key ring for RBDUser.
|
|
Default is /etc/ceph/keyring.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
monitors:
|
|
description: |-
|
|
monitors is a collection of Ceph monitors.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
description: |-
|
|
pool is the rados pool name.
|
|
Default is rbd.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is name of the authentication secret for RBDUser. If provided
|
|
overrides keyring.
|
|
Default is nil.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is the rados user name.
|
|
Default is admin.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
description: scaleIO represents a ScaleIO persistent volume attached
|
|
and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs".
|
|
Default is "xfs".
|
|
type: string
|
|
gateway:
|
|
description: gateway is the host address of the ScaleIO API
|
|
Gateway.
|
|
type: string
|
|
protectionDomain:
|
|
description: protectionDomain is the name of the ScaleIO Protection
|
|
Domain for the configured storage.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef references to the secret for ScaleIO user and other
|
|
sensitive information. If this is not provided, Login operation will fail.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
description: sslEnabled Flag enable/disable SSL communication
|
|
with Gateway, default false
|
|
type: boolean
|
|
storageMode:
|
|
description: |-
|
|
storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
|
|
Default is ThinProvisioned.
|
|
type: string
|
|
storagePool:
|
|
description: storagePool is the ScaleIO Storage Pool associated
|
|
with the protection domain.
|
|
type: string
|
|
system:
|
|
description: system is the name of the storage system as configured
|
|
in ScaleIO.
|
|
type: string
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the name of a volume already created in the ScaleIO system
|
|
that is associated with this volume source.
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
description: |-
|
|
secret represents a secret that should populate this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values
|
|
for mode bits. Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items If unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
description: optional field specify whether the Secret or
|
|
its keys must be defined
|
|
type: boolean
|
|
secretName:
|
|
description: |-
|
|
secretName is the name of the secret in the pod's namespace to use.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
description: storageOS represents a StorageOS volume attached
|
|
and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef specifies the secret to use for obtaining the StorageOS API
|
|
credentials. If not specified, default values will be attempted.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the human-readable name of the StorageOS volume. Volume
|
|
names are only unique within a namespace.
|
|
type: string
|
|
volumeNamespace:
|
|
description: |-
|
|
volumeNamespace specifies the scope of the volume within StorageOS. If no
|
|
namespace is specified then the Pod's namespace will be used. This allows the
|
|
Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
|
|
Set VolumeName to any name to override the default behaviour.
|
|
Set to "default" if you are not using namespaces within StorageOS.
|
|
Namespaces that do not pre-exist within StorageOS will be created.
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
description: vsphereVolume represents a vSphere volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
storagePolicyID:
|
|
description: storagePolicyID is the storage Policy Based Management
|
|
(SPBM) profile ID associated with the StoragePolicyName.
|
|
type: string
|
|
storagePolicyName:
|
|
description: storagePolicyName is the storage Policy Based
|
|
Management (SPBM) profile name.
|
|
type: string
|
|
volumePath:
|
|
description: volumePath is the path that identifies vSphere
|
|
volume vmdk
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
type: object
|
|
priorityClassName:
|
|
description: PriorityClassName represents the pod's priority class.
|
|
type: string
|
|
rbacRules:
|
|
description: RBACRules represents additional rbac rules which will
|
|
be applied to the fluent-bit clusterrole.
|
|
items:
|
|
description: |-
|
|
PolicyRule holds information that describes a policy rule, but does not contain information
|
|
about who the rule applies to or which namespace the rule applies to.
|
|
properties:
|
|
apiGroups:
|
|
description: |-
|
|
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
|
|
the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
nonResourceURLs:
|
|
description: |-
|
|
NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path
|
|
Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
|
|
Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resourceNames:
|
|
description: ResourceNames is an optional white list of names
|
|
that the rule applies to. An empty set means that everything
|
|
is allowed.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
description: Resources is a list of resources this rule applies
|
|
to. '*' represents all resources.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
verbs:
|
|
description: Verbs is a list of Verbs that apply to ALL the
|
|
ResourceKinds contained in this rule. '*' represents all verbs.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- verbs
|
|
type: object
|
|
type: array
|
|
readinessProbe:
|
|
description: ReadinessProbe represents the pod's readiness probe.
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
description: |-
|
|
Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
Defaults to 3. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
description: GRPC specifies an action involving a GRPC port.
|
|
properties:
|
|
port:
|
|
description: Port number of the gRPC service. Number must
|
|
be in the range 1 to 65535.
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
description: |-
|
|
Service is the name of the service to place in the gRPC HealthCheckRequest
|
|
(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
|
|
|
|
|
|
If this is not specified, the default behavior is defined by gRPC.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request. HTTP allows
|
|
repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header to be
|
|
used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
description: |-
|
|
Number of seconds after the container has started before liveness probes are initiated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: |-
|
|
How often (in seconds) to perform the probe.
|
|
Default to 10 seconds. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
description: |-
|
|
Minimum consecutive successes for the probe to be considered successful after having failed.
|
|
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: TCPSocket specifies an action involving a TCP port.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to, defaults
|
|
to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
description: |-
|
|
Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
The grace period is the duration in seconds after the processes running in the pod are sent
|
|
a termination signal and the time when the processes are forcibly halted with a kill signal.
|
|
Set this value longer than the expected cleanup time for your process.
|
|
If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
|
|
value overrides the value provided by the pod spec.
|
|
Value must be non-negative integer. The value zero indicates stop immediately via
|
|
the kill signal (no opportunity to shut down).
|
|
This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
|
|
Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
description: |-
|
|
Number of seconds after which the probe times out.
|
|
Defaults to 1 second. Minimum value is 1.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resources:
|
|
description: Compute Resources required by container.
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
runtimeClassName:
|
|
description: RuntimeClassName represents the container runtime configuration.
|
|
type: string
|
|
schedulerName:
|
|
description: SchedulerName represents the desired scheduler for fluent-bit
|
|
pods.
|
|
type: string
|
|
secrets:
|
|
description: The Secrets are mounted into /fluent-bit/secrets/<secret-name>.
|
|
items:
|
|
type: string
|
|
type: array
|
|
securityContext:
|
|
description: SecurityContext holds pod-level security attributes and
|
|
common container settings.
|
|
properties:
|
|
appArmorProfile:
|
|
description: |-
|
|
appArmorProfile is the AppArmor options to use by the containers in this pod.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile loaded on the node that should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must match the loaded name of the profile.
|
|
Must be set if and only if type is "Localhost".
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of AppArmor profile will be applied.
|
|
Valid options are:
|
|
Localhost - a profile pre-loaded on the node.
|
|
RuntimeDefault - the container runtime's default profile.
|
|
Unconfined - no AppArmor enforcement.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
description: |-
|
|
A special supplemental group that applies to all containers in a pod.
|
|
Some volume types allow the Kubelet to change the ownership of that volume
|
|
to be owned by the pod:
|
|
|
|
|
|
1. The owning GID will be the FSGroup
|
|
2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
|
|
3. The permission bits are OR'd with rw-rw----
|
|
|
|
|
|
If unset, the Kubelet will not modify the ownership and permissions of any volume.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
description: |-
|
|
fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
|
|
before being exposed inside Pod. This field will only apply to
|
|
volume types which support fsGroup based ownership(and permissions).
|
|
It will have no effect on ephemeral volume types such as: secret, configmaps
|
|
and emptydir.
|
|
Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: string
|
|
runAsGroup:
|
|
description: |-
|
|
The GID to run the entrypoint of the container process.
|
|
Uses runtime default if unset.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence
|
|
for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
description: |-
|
|
Indicates that the container must run as a non-root user.
|
|
If true, the Kubelet will validate the image at runtime to ensure that it
|
|
does not run as UID 0 (root) and fail to start the container if it does.
|
|
If unset or false, no such validation will be performed.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: boolean
|
|
runAsUser:
|
|
description: |-
|
|
The UID to run the entrypoint of the container process.
|
|
Defaults to user specified in image metadata if unspecified.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence
|
|
for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
description: |-
|
|
The SELinux context to be applied to all containers.
|
|
If unspecified, the container runtime will allocate a random SELinux context for each
|
|
container. May also be set in SecurityContext. If set in
|
|
both SecurityContext and PodSecurityContext, the value specified in SecurityContext
|
|
takes precedence for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
level:
|
|
description: Level is SELinux level label that applies to
|
|
the container.
|
|
type: string
|
|
role:
|
|
description: Role is a SELinux role label that applies to
|
|
the container.
|
|
type: string
|
|
type:
|
|
description: Type is a SELinux type label that applies to
|
|
the container.
|
|
type: string
|
|
user:
|
|
description: User is a SELinux user label that applies to
|
|
the container.
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
description: |-
|
|
The seccomp options to use by the containers in this pod.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of seccomp profile will be applied.
|
|
Valid options are:
|
|
|
|
|
|
Localhost - a profile defined in a file on the node should be used.
|
|
RuntimeDefault - the container runtime default profile should be used.
|
|
Unconfined - no profile should be applied.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
description: |-
|
|
A list of groups applied to the first process run in each container, in addition
|
|
to the container's primary GID, the fsGroup (if specified), and group memberships
|
|
defined in the container image for the uid of the container process. If unspecified,
|
|
no additional groups are added to any container. Note that group memberships
|
|
defined in the container image for the uid of the container process are still effective,
|
|
even if they are not included in this list.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
sysctls:
|
|
description: |-
|
|
Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
|
|
sysctls (by the container runtime) might fail to launch.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
items:
|
|
description: Sysctl defines a kernel parameter to be set
|
|
properties:
|
|
name:
|
|
description: Name of a property to set
|
|
type: string
|
|
value:
|
|
description: Value of a property to set
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
windowsOptions:
|
|
description: |-
|
|
The Windows specific settings applied to all containers.
|
|
If unspecified, the options within a container's SecurityContext will be used.
|
|
If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is linux.
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
description: |-
|
|
GMSACredentialSpec is where the GMSA admission webhook
|
|
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
|
GMSA credential spec named by the GMSACredentialSpecName field.
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
description: GMSACredentialSpecName is the name of the GMSA
|
|
credential spec to use.
|
|
type: string
|
|
hostProcess:
|
|
description: |-
|
|
HostProcess determines if a container should be run as a 'Host Process' container.
|
|
All of a Pod's containers must have the same effective HostProcess value
|
|
(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
|
|
In addition, if HostProcess is true then HostNetwork must also be set to true.
|
|
type: boolean
|
|
runAsUserName:
|
|
description: |-
|
|
The UserName in Windows to run the entrypoint of the container process.
|
|
Defaults to the user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
service:
|
|
description: Service represents configurations on the fluent-bit service.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to each Fluentbit service.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to add to each FluentBit service
|
|
type: object
|
|
name:
|
|
description: Name is the name of the FluentBit service.
|
|
type: string
|
|
type: object
|
|
serviceAccountAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to the Fluentbit service account
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
description: Optional duration in seconds the pod needs to terminate
|
|
gracefully. Value must be non-negative integer.
|
|
format: int64
|
|
type: integer
|
|
tolerations:
|
|
description: Tolerations
|
|
items:
|
|
description: |-
|
|
The pod this Toleration is attached to tolerates any taint that matches
|
|
the triple <key,value,effect> using the matching operator <operator>.
|
|
properties:
|
|
effect:
|
|
description: |-
|
|
Effect indicates the taint effect to match. Empty means match all taint effects.
|
|
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
|
type: string
|
|
key:
|
|
description: |-
|
|
Key is the taint key that the toleration applies to. Empty means match all taint keys.
|
|
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Operator represents a key's relationship to the value.
|
|
Valid operators are Exists and Equal. Defaults to Equal.
|
|
Exists is equivalent to wildcard for value, so that a pod can
|
|
tolerate all taints of a particular category.
|
|
type: string
|
|
tolerationSeconds:
|
|
description: |-
|
|
TolerationSeconds represents the period of time the toleration (which must be
|
|
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
|
|
it is not set, which means tolerate the taint forever (do not evict). Zero and
|
|
negative values will be treated as 0 (evict immediately) by the system.
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
description: |-
|
|
Value is the taint value the toleration matches to.
|
|
If the operator is Exists, the value should be empty, otherwise just a regular string.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
volumes:
|
|
description: List of volumes that can be mounted by containers belonging
|
|
to the pod.
|
|
items:
|
|
description: Volume represents a named volume in a pod that may
|
|
be accessed by any container in the pod.
|
|
properties:
|
|
awsElasticBlockStore:
|
|
description: |-
|
|
awsElasticBlockStore represents an AWS Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly value true will force the readOnly setting in VolumeMounts.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: boolean
|
|
volumeID:
|
|
description: |-
|
|
volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
description: azureDisk represents an Azure Data Disk mount on
|
|
the host and bind mount to the pod.
|
|
properties:
|
|
cachingMode:
|
|
description: 'cachingMode is the Host Caching mode: None,
|
|
Read Only, Read Write.'
|
|
type: string
|
|
diskName:
|
|
description: diskName is the Name of the data disk in the
|
|
blob storage
|
|
type: string
|
|
diskURI:
|
|
description: diskURI is the URI of data disk in the blob
|
|
storage
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is Filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
kind:
|
|
description: 'kind expected values are Shared: multiple
|
|
blob disks per storage account Dedicated: single blob
|
|
disk per storage account Managed: azure managed data
|
|
disk (only in managed availability set). defaults to shared'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
description: azureFile represents an Azure File Service mount
|
|
on the host and bind mount to the pod.
|
|
properties:
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretName:
|
|
description: secretName is the name of secret that contains
|
|
Azure Storage Account Name and Key
|
|
type: string
|
|
shareName:
|
|
description: shareName is the azure share Name
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
description: cephFS represents a Ceph FS mount on the host that
|
|
shares a pod's lifetime
|
|
properties:
|
|
monitors:
|
|
description: |-
|
|
monitors is Required: Monitors is a collection of Ceph monitors
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: 'path is Optional: Used as the mounted root,
|
|
rather than the full Ceph tree, default is /'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: boolean
|
|
secretFile:
|
|
description: |-
|
|
secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is optional: User is the rados user name, default is admin
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
description: |-
|
|
cinder represents a cinder volume attached and mounted on kubelets host machine.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is optional: points to a secret object containing parameters used to connect
|
|
to OpenStack.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
description: |-
|
|
volumeID used to identify the volume in cinder.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
description: configMap represents a configMap that should populate
|
|
this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap or its
|
|
keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
description: csi (Container Storage Interface) represents ephemeral
|
|
storage that is handled by certain external CSI drivers (Beta
|
|
feature).
|
|
properties:
|
|
driver:
|
|
description: |-
|
|
driver is the name of the CSI driver that handles this volume.
|
|
Consult with your admin for the correct name as registered in the cluster.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType to mount. Ex. "ext4", "xfs", "ntfs".
|
|
If not provided, the empty value is passed to the associated CSI driver
|
|
which will determine the default filesystem to apply.
|
|
type: string
|
|
nodePublishSecretRef:
|
|
description: |-
|
|
nodePublishSecretRef is a reference to the secret object containing
|
|
sensitive information to pass to the CSI driver to complete the CSI
|
|
NodePublishVolume and NodeUnpublishVolume calls.
|
|
This field is optional, and may be empty if no secret is required. If the
|
|
secret object contains more than one secret, all secret references are passed.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly specifies a read-only configuration for the volume.
|
|
Defaults to false (read/write).
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
volumeAttributes stores driver-specific properties that are passed to the CSI
|
|
driver. Consult your driver's documentation for supported values.
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
description: downwardAPI represents downward API about the pod
|
|
that should populate this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
Optional: mode bits to use on created files by default. Must be a
|
|
Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: Items is a list of downward API volume file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents information
|
|
to create the file containing the pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field of the pod:
|
|
only annotations, labels, name, namespace and uid
|
|
are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative path
|
|
name of the file to be created. Must not be absolute
|
|
or contain the ''..'' path. Must be utf-8 encoded.
|
|
The first item of the relative path must not start
|
|
with ''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
description: |-
|
|
emptyDir represents a temporary directory that shares a pod's lifetime.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
properties:
|
|
medium:
|
|
description: |-
|
|
medium represents what type of storage medium should back this directory.
|
|
The default is "" which means to use the node's default medium.
|
|
Must be an empty string (default) or Memory.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
sizeLimit is the total amount of local storage required for this EmptyDir volume.
|
|
The size limit is also applicable for memory medium.
|
|
The maximum usage on memory medium EmptyDir would be the minimum value between
|
|
the SizeLimit specified here and the sum of memory limits of all containers in a pod.
|
|
The default is nil which means that the limit is undefined.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
description: |-
|
|
ephemeral represents a volume that is handled by a cluster storage driver.
|
|
The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
|
|
and deleted when the pod is removed.
|
|
|
|
|
|
Use this if:
|
|
a) the volume is only needed while the pod runs,
|
|
b) features of normal volumes like restoring from snapshot or capacity
|
|
tracking are needed,
|
|
c) the storage driver is specified through a storage class, and
|
|
d) the storage driver supports dynamic volume provisioning through
|
|
a PersistentVolumeClaim (see EphemeralVolumeSource for more
|
|
information on the connection between this volume type
|
|
and PersistentVolumeClaim).
|
|
|
|
|
|
Use PersistentVolumeClaim or one of the vendor-specific
|
|
APIs for volumes that persist for longer than the lifecycle
|
|
of an individual pod.
|
|
|
|
|
|
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
|
|
be used that way - see the documentation of the driver for
|
|
more information.
|
|
|
|
|
|
A pod can use both types of ephemeral volumes and
|
|
persistent volumes at the same time.
|
|
properties:
|
|
volumeClaimTemplate:
|
|
description: |-
|
|
Will be used to create a stand-alone PVC to provision the volume.
|
|
The pod in which this EphemeralVolumeSource is embedded will be the
|
|
owner of the PVC, i.e. the PVC will be deleted together with the
|
|
pod. The name of the PVC will be `<pod name>-<volume name>` where
|
|
`<volume name>` is the name from the `PodSpec.Volumes` array
|
|
entry. Pod validation will reject the pod if the concatenated name
|
|
is not valid for a PVC (for example, too long).
|
|
|
|
|
|
An existing PVC with that name that is not owned by the pod
|
|
will *not* be used for the pod to avoid using an unrelated
|
|
volume by mistake. Starting the pod is then blocked until
|
|
the unrelated PVC is removed. If such a pre-created PVC is
|
|
meant to be used by the pod, the PVC has to updated with an
|
|
owner reference to the pod once the pod exists. Normally
|
|
this should not be necessary, but it may be useful when
|
|
manually reconstructing a broken cluster.
|
|
|
|
|
|
This field is read-only and no changes will be made by Kubernetes
|
|
to the PVC after it has been created.
|
|
|
|
|
|
Required, must not be nil.
|
|
properties:
|
|
metadata:
|
|
description: |-
|
|
May contain labels and annotations that will be copied into the PVC
|
|
when creating it. No other fields are allowed and will be rejected during
|
|
validation.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
The specification for the PersistentVolumeClaim. The entire content is
|
|
copied unchanged into the PVC that gets created from this
|
|
template. The same fields as in a PersistentVolumeClaim
|
|
are also valid here.
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over volumes
|
|
to consider for binding.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference
|
|
to the PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
description: fc represents a Fibre Channel resource that is
|
|
attached to a kubelet's host machine and then exposed to the
|
|
pod.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
lun:
|
|
description: 'lun is Optional: FC target lun number'
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
targetWWNs:
|
|
description: 'targetWWNs is Optional: FC target worldwide
|
|
names (WWNs)'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
description: |-
|
|
wwids Optional: FC volume world wide identifiers (wwids)
|
|
Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
description: |-
|
|
flexVolume represents a generic volume resource that is
|
|
provisioned/attached using an exec based plugin.
|
|
properties:
|
|
driver:
|
|
description: driver is the name of the driver to use for
|
|
this volume.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'options is Optional: this field holds extra
|
|
command options if any.'
|
|
type: object
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: secretRef is reference to the secret object containing
|
|
sensitive information to pass to the plugin scripts. This may be
|
|
empty if no secret object is specified. If the secret object
|
|
contains more than one secret, all secrets are passed to the plugin
|
|
scripts.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
description: flocker represents a Flocker volume attached to
|
|
a kubelet's host machine. This depends on the Flocker control
|
|
service being running
|
|
properties:
|
|
datasetName:
|
|
description: |-
|
|
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
|
|
should be considered as deprecated
|
|
type: string
|
|
datasetUUID:
|
|
description: datasetUUID is the UUID of the dataset. This
|
|
is unique identifier of a Flocker dataset
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
description: |-
|
|
gcePersistentDisk represents a GCE Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
description: |-
|
|
pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
description: |-
|
|
gitRepo represents a git repository at a particular revision.
|
|
DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
|
|
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
|
|
into the Pod's container.
|
|
properties:
|
|
directory:
|
|
description: |-
|
|
directory is the target directory name.
|
|
Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
|
|
git repository. Otherwise, if specified, the volume will contain the git repository in
|
|
the subdirectory with the given name.
|
|
type: string
|
|
repository:
|
|
description: repository is the URL
|
|
type: string
|
|
revision:
|
|
description: revision is the commit hash for the specified
|
|
revision.
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
description: |-
|
|
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md
|
|
properties:
|
|
endpoints:
|
|
description: |-
|
|
endpoints is the endpoint name that details Glusterfs topology.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
path:
|
|
description: |-
|
|
path is the Glusterfs volume path.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
description: |-
|
|
hostPath represents a pre-existing file or directory on the host
|
|
machine that is directly exposed to the container. This is generally
|
|
used for system agents or other privileged things that are allowed
|
|
to see the host machine. Most containers will NOT need this.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
---
|
|
TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
|
|
mount host directories as read/write.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path of the directory on the host.
|
|
If the path is a symlink, it will follow the link to the real path.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type for HostPath Volume
|
|
Defaults to ""
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
iscsi:
|
|
description: |-
|
|
iscsi represents an ISCSI Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://examples.k8s.io/volumes/iscsi/README.md
|
|
properties:
|
|
chapAuthDiscovery:
|
|
description: chapAuthDiscovery defines whether support iSCSI
|
|
Discovery CHAP authentication
|
|
type: boolean
|
|
chapAuthSession:
|
|
description: chapAuthSession defines whether support iSCSI
|
|
Session CHAP authentication
|
|
type: boolean
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
initiatorName:
|
|
description: |-
|
|
initiatorName is the custom iSCSI Initiator Name.
|
|
If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
|
|
<target portal>:<volume name> will be created for the connection.
|
|
type: string
|
|
iqn:
|
|
description: iqn is the target iSCSI Qualified Name.
|
|
type: string
|
|
iscsiInterface:
|
|
description: |-
|
|
iscsiInterface is the interface Name that uses an iSCSI transport.
|
|
Defaults to 'default' (tcp).
|
|
type: string
|
|
lun:
|
|
description: lun represents iSCSI Target Lun number.
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
description: |-
|
|
portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
type: boolean
|
|
secretRef:
|
|
description: secretRef is the CHAP Secret for iSCSI target
|
|
and initiator authentication
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
description: |-
|
|
targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
description: |-
|
|
name of the volume.
|
|
Must be a DNS_LABEL and unique within the pod.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
nfs:
|
|
description: |-
|
|
nfs represents an NFS mount on the host that shares a pod's lifetime
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path that is exported by the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the NFS export to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: boolean
|
|
server:
|
|
description: |-
|
|
server is the hostname or IP address of the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
description: |-
|
|
persistentVolumeClaimVolumeSource represents a reference to a
|
|
PersistentVolumeClaim in the same namespace.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
claimName:
|
|
description: |-
|
|
claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Will force the ReadOnly setting in VolumeMounts.
|
|
Default false.
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
description: photonPersistentDisk represents a PhotonController
|
|
persistent disk attached and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
pdID:
|
|
description: pdID is the ID that identifies Photon Controller
|
|
persistent disk
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
description: portworxVolume represents a portworx volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fSType represents the filesystem type to mount
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
volumeID:
|
|
description: volumeID uniquely identifies a Portworx volume
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
description: projected items for all in one resources secrets,
|
|
configmaps, and downward API
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode are the mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
description: sources is the list of volume projections
|
|
items:
|
|
description: Projection that may be projected along with
|
|
other supported volume types
|
|
properties:
|
|
clusterTrustBundle:
|
|
description: |-
|
|
ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
|
|
of ClusterTrustBundle objects in an auto-updating file.
|
|
|
|
|
|
Alpha, gated by the ClusterTrustBundleProjection feature gate.
|
|
|
|
|
|
ClusterTrustBundle objects can either be selected by name, or by the
|
|
combination of signer name and a label selector.
|
|
|
|
|
|
Kubelet performs aggressive normalization of the PEM contents written
|
|
into the pod filesystem. Esoteric PEM features such as inter-block
|
|
comments and block headers are stripped. Certificates are deduplicated.
|
|
The ordering of certificates within the file is arbitrary, and Kubelet
|
|
may change the order over time.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this label selector. Only has
|
|
effect if signerName is set. Mutually-exclusive with name. If unset,
|
|
interpreted as "match nothing". If set but empty, interpreted as "match
|
|
everything".
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
name:
|
|
description: |-
|
|
Select a single ClusterTrustBundle by object name. Mutually-exclusive
|
|
with signerName and labelSelector.
|
|
type: string
|
|
optional:
|
|
description: |-
|
|
If true, don't block pod startup if the referenced ClusterTrustBundle(s)
|
|
aren't available. If using name, then the named ClusterTrustBundle is
|
|
allowed not to exist. If using signerName, then the combination of
|
|
signerName and labelSelector is allowed to match zero
|
|
ClusterTrustBundles.
|
|
type: boolean
|
|
path:
|
|
description: Relative path from the volume root
|
|
to write the bundle.
|
|
type: string
|
|
signerName:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this signer name.
|
|
Mutually-exclusive with name. The contents of all selected
|
|
ClusterTrustBundles will be unified and deduplicated.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
description: configMap information about the configMap
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap
|
|
or its keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
description: downwardAPI information about the downwardAPI
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: Items is a list of DownwardAPIVolume
|
|
file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents
|
|
information to create the file containing
|
|
the pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field
|
|
of the pod: only annotations, labels,
|
|
name, namespace and uid are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the
|
|
FieldPath is written in terms of,
|
|
defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select
|
|
in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative
|
|
path name of the file to be created. Must
|
|
not be absolute or contain the ''..''
|
|
path. Must be utf-8 encoded. The first
|
|
item of the relative path must not start
|
|
with ''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format
|
|
of the exposed resources, defaults
|
|
to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to
|
|
select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
secret:
|
|
description: secret information about the secret data
|
|
to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional field specify whether the
|
|
Secret or its key must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
description: serviceAccountToken is information about
|
|
the serviceAccountToken data to project
|
|
properties:
|
|
audience:
|
|
description: |-
|
|
audience is the intended audience of the token. A recipient of a token
|
|
must identify itself with an identifier specified in the audience of the
|
|
token, and otherwise should reject the token. The audience defaults to the
|
|
identifier of the apiserver.
|
|
type: string
|
|
expirationSeconds:
|
|
description: |-
|
|
expirationSeconds is the requested duration of validity of the service
|
|
account token. As the token approaches expiration, the kubelet volume
|
|
plugin will proactively rotate the service account token. The kubelet will
|
|
start trying to rotate the token if the token is older than 80 percent of
|
|
its time to live or if the token is older than 24 hours.Defaults to 1 hour
|
|
and must be at least 10 minutes.
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the path relative to the mount point of the file to project the
|
|
token into.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
description: quobyte represents a Quobyte mount on the host
|
|
that shares a pod's lifetime
|
|
properties:
|
|
group:
|
|
description: |-
|
|
group to map volume access to
|
|
Default is no group
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Quobyte volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
type: boolean
|
|
registry:
|
|
description: |-
|
|
registry represents a single or multiple Quobyte Registry services
|
|
specified as a string as host:port pair (multiple entries are separated with commas)
|
|
which acts as the central registry for volumes
|
|
type: string
|
|
tenant:
|
|
description: |-
|
|
tenant owning the given Quobyte volume in the Backend
|
|
Used with dynamically provisioned Quobyte volumes, value is set by the plugin
|
|
type: string
|
|
user:
|
|
description: |-
|
|
user to map volume access to
|
|
Defaults to serivceaccount user
|
|
type: string
|
|
volume:
|
|
description: volume is a string that references an already
|
|
created Quobyte volume by name.
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
description: |-
|
|
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
image:
|
|
description: |-
|
|
image is the rados image name.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
keyring:
|
|
description: |-
|
|
keyring is the path to key ring for RBDUser.
|
|
Default is /etc/ceph/keyring.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
monitors:
|
|
description: |-
|
|
monitors is a collection of Ceph monitors.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
description: |-
|
|
pool is the rados pool name.
|
|
Default is rbd.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is name of the authentication secret for RBDUser. If provided
|
|
overrides keyring.
|
|
Default is nil.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is the rados user name.
|
|
Default is admin.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
description: scaleIO represents a ScaleIO persistent volume
|
|
attached and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs".
|
|
Default is "xfs".
|
|
type: string
|
|
gateway:
|
|
description: gateway is the host address of the ScaleIO
|
|
API Gateway.
|
|
type: string
|
|
protectionDomain:
|
|
description: protectionDomain is the name of the ScaleIO
|
|
Protection Domain for the configured storage.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef references to the secret for ScaleIO user and other
|
|
sensitive information. If this is not provided, Login operation will fail.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
description: sslEnabled Flag enable/disable SSL communication
|
|
with Gateway, default false
|
|
type: boolean
|
|
storageMode:
|
|
description: |-
|
|
storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
|
|
Default is ThinProvisioned.
|
|
type: string
|
|
storagePool:
|
|
description: storagePool is the ScaleIO Storage Pool associated
|
|
with the protection domain.
|
|
type: string
|
|
system:
|
|
description: system is the name of the storage system as
|
|
configured in ScaleIO.
|
|
type: string
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the name of a volume already created in the ScaleIO system
|
|
that is associated with this volume source.
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
description: |-
|
|
secret represents a secret that should populate this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values
|
|
for mode bits. Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items If unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
description: optional field specify whether the Secret or
|
|
its keys must be defined
|
|
type: boolean
|
|
secretName:
|
|
description: |-
|
|
secretName is the name of the secret in the pod's namespace to use.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
description: storageOS represents a StorageOS volume attached
|
|
and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef specifies the secret to use for obtaining the StorageOS API
|
|
credentials. If not specified, default values will be attempted.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the human-readable name of the StorageOS volume. Volume
|
|
names are only unique within a namespace.
|
|
type: string
|
|
volumeNamespace:
|
|
description: |-
|
|
volumeNamespace specifies the scope of the volume within StorageOS. If no
|
|
namespace is specified then the Pod's namespace will be used. This allows the
|
|
Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
|
|
Set VolumeName to any name to override the default behaviour.
|
|
Set to "default" if you are not using namespaces within StorageOS.
|
|
Namespaces that do not pre-exist within StorageOS will be created.
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
description: vsphereVolume represents a vSphere volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
storagePolicyID:
|
|
description: storagePolicyID is the storage Policy Based
|
|
Management (SPBM) profile ID associated with the StoragePolicyName.
|
|
type: string
|
|
storagePolicyName:
|
|
description: storagePolicyName is the storage Policy Based
|
|
Management (SPBM) profile name.
|
|
type: string
|
|
volumePath:
|
|
description: volumePath is the path that identifies vSphere
|
|
volume vmdk
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
volumesMounts:
|
|
description: Pod volumes to mount into the container's filesystem.
|
|
items:
|
|
description: VolumeMount describes a mounting of a Volume within
|
|
a container.
|
|
properties:
|
|
mountPath:
|
|
description: |-
|
|
Path within the container at which the volume should be mounted. Must
|
|
not contain ':'.
|
|
type: string
|
|
mountPropagation:
|
|
description: |-
|
|
mountPropagation determines how mounts are propagated from the host
|
|
to container and the other way around.
|
|
When not set, MountPropagationNone is used.
|
|
This field is beta in 1.10.
|
|
When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
|
|
(which defaults to None).
|
|
type: string
|
|
name:
|
|
description: This must match the Name of a Volume.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
Mounted read-only if true, read-write otherwise (false or unspecified).
|
|
Defaults to false.
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
description: |-
|
|
RecursiveReadOnly specifies whether read-only mounts should be handled
|
|
recursively.
|
|
|
|
|
|
If ReadOnly is false, this field has no meaning and must be unspecified.
|
|
|
|
|
|
If ReadOnly is true, and this field is set to Disabled, the mount is not made
|
|
recursively read-only. If this field is set to IfPossible, the mount is made
|
|
recursively read-only, if it is supported by the container runtime. If this
|
|
field is set to Enabled, the mount is made recursively read-only if it is
|
|
supported by the container runtime, otherwise the pod will not be started and
|
|
an error will be generated to indicate the reason.
|
|
|
|
|
|
If this field is set to IfPossible or Enabled, MountPropagation must be set to
|
|
None (or be unspecified, which defaults to None).
|
|
|
|
|
|
If this field is not specified, it is treated as an equivalent of Disabled.
|
|
type: string
|
|
subPath:
|
|
description: |-
|
|
Path within the volume from which the container's volume should be mounted.
|
|
Defaults to "" (volume's root).
|
|
type: string
|
|
subPathExpr:
|
|
description: |-
|
|
Expanded path within the volume from which the container's volume should be mounted.
|
|
Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
|
|
Defaults to "" (volume's root).
|
|
SubPathExpr and SubPath are mutually exclusive.
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: FluentBitStatus defines the observed state of FluentBit
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: fluentdconfigs.fluentd.fluent.io
|
|
spec:
|
|
group: fluentd.fluent.io
|
|
names:
|
|
kind: FluentdConfig
|
|
listKind: FluentdConfigList
|
|
plural: fluentdconfigs
|
|
shortNames:
|
|
- fdc
|
|
singular: fluentdconfig
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: FluentdConfig is the Schema for the fluentdconfigs 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: FluentdConfigSpec defines the desired state of FluentdConfig
|
|
properties:
|
|
clusterFilterSelector:
|
|
description: Select cluster filter 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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:
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
emit_mode:
|
|
description: |-
|
|
Emit mode. If batch, the plugin will emit events per labels matched. Enum: record, batch.
|
|
will make no effect if EnableFilterKubernetes is set false.
|
|
enum:
|
|
- record
|
|
- batch
|
|
type: string
|
|
filterSelector:
|
|
description: Select namespaced filter 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
inputSelector:
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
outputSelector:
|
|
description: Select namespaced output 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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
stickyTags:
|
|
description: |-
|
|
Sticky tags will match only one record from an event stream. The same tag will be treated the same way.
|
|
will make no effect if EnableFilterKubernetes is set false.
|
|
type: string
|
|
watchedConstainers:
|
|
description: A set of container names. Ignored if left empty.
|
|
items:
|
|
type: string
|
|
type: array
|
|
watchedHosts:
|
|
description: A set of hosts. Ignored if left empty.
|
|
items:
|
|
type: string
|
|
type: array
|
|
watchedLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Use this field to filter the logs, will make no effect
|
|
if EnableFilterKubernetes is set false.
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: FluentdConfigStatus defines the observed state of FluentdConfig
|
|
properties:
|
|
messages:
|
|
description: Messages defines the plugin errors which is selected
|
|
by this fluentdconfig
|
|
type: string
|
|
state:
|
|
description: The state of this fluentd config
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: fluentds.fluentd.fluent.io
|
|
spec:
|
|
group: fluentd.fluent.io
|
|
names:
|
|
kind: Fluentd
|
|
listKind: FluentdList
|
|
plural: fluentds
|
|
shortNames:
|
|
- fd
|
|
singular: fluentd
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Fluentd is the Schema for the fluentds 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: FluentdSpec defines the desired state of Fluentd
|
|
properties:
|
|
affinity:
|
|
description: Pod's scheduling constraints.
|
|
properties:
|
|
nodeAffinity:
|
|
description: Describes node affinity scheduling rules for the
|
|
pod.
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node matches the corresponding matchExpressions; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: |-
|
|
An empty preferred scheduling term matches all objects with implicit weight 0
|
|
(i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
|
|
properties:
|
|
preference:
|
|
description: A node selector term, associated with the
|
|
corresponding weight.
|
|
properties:
|
|
matchExpressions:
|
|
description: A list of node selector requirements
|
|
by node's labels.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
description: A list of node selector requirements
|
|
by node's fields.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
description: Weight associated with matching the corresponding
|
|
nodeSelectorTerm, in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to an update), the system
|
|
may or may not try to eventually evict the pod from its node.
|
|
properties:
|
|
nodeSelectorTerms:
|
|
description: Required. A list of node selector terms.
|
|
The terms are ORed.
|
|
items:
|
|
description: |-
|
|
A null or empty node selector term matches no objects. The requirements of
|
|
them are ANDed.
|
|
The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
|
|
properties:
|
|
matchExpressions:
|
|
description: A list of node selector requirements
|
|
by node's labels.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
description: A list of node selector requirements
|
|
by node's fields.
|
|
items:
|
|
description: |-
|
|
A node selector requirement is a selector that contains values, a key, and an operator
|
|
that relates the key and values.
|
|
properties:
|
|
key:
|
|
description: The label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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. If the operator is Gt or Lt, the values
|
|
array must have a single element, which will be interpreted as an integer.
|
|
This array is replaced during a strategic merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
description: Describes pod affinity scheduling rules (e.g. co-locate
|
|
this pod in the same node, zone, etc. as some other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the matched WeightedPodAffinityTerm
|
|
fields are added per-node to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term, associated
|
|
with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: |-
|
|
weight associated with matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to a pod label update), the
|
|
system may or may not try to eventually evict the pod from its node.
|
|
When there are multiple elements, the lists of nodes corresponding to each
|
|
podAffinityTerm are intersected, i.e. all terms must be satisfied.
|
|
items:
|
|
description: |-
|
|
Defines a set of pods (namely those matching the labelSelector
|
|
relative to the given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity) with,
|
|
where co-located is defined as running on a node whose value of
|
|
the label with key <topologyKey> matches that of any node on which
|
|
a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
description: Describes pod anti-affinity scheduling rules (e.g.
|
|
avoid putting this pod in the same node, zone, etc. as some
|
|
other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
The scheduler will prefer to schedule pods to nodes that satisfy
|
|
the anti-affinity expressions specified by this field, but it may choose
|
|
a node that violates one or more of the expressions. The node that is
|
|
most preferred is the one with the greatest sum of weights, i.e.
|
|
for each node that meets all of the scheduling requirements (resource
|
|
request, requiredDuringScheduling anti-affinity expressions, etc.),
|
|
compute a sum by iterating through the elements of this field and adding
|
|
"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
|
|
node(s) with the highest sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the matched WeightedPodAffinityTerm
|
|
fields are added per-node to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term, associated
|
|
with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: |-
|
|
weight associated with matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: |-
|
|
If the anti-affinity requirements specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled onto the node.
|
|
If the anti-affinity requirements specified by this field cease to be met
|
|
at some point during pod execution (e.g. due to a pod label update), the
|
|
system may or may not try to eventually evict the pod from its node.
|
|
When there are multiple elements, the lists of nodes corresponding to each
|
|
podAffinityTerm are intersected, i.e. all terms must be satisfied.
|
|
items:
|
|
description: |-
|
|
Defines a set of pods (namely those matching the labelSelector
|
|
relative to the given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity) with,
|
|
where co-located is defined as running on a node whose value of
|
|
the label with key <topologyKey> matches that of any node on which
|
|
a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label query over a set of resources, in this case pods.
|
|
If it's null, this PodAffinityTerm matches with no Pods.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
matchLabelKeys:
|
|
description: |-
|
|
MatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
|
|
Also, matchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
description: |-
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will
|
|
be taken into consideration. The keys are used to lookup values from the
|
|
incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
|
|
to select the group of existing pods which pods will be taken into consideration
|
|
for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
|
|
pod labels will be ignored. The default value is empty.
|
|
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
|
|
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
|
|
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
description: |-
|
|
A label query over the set of namespaces that the term applies to.
|
|
The term is applied to the union of the namespaces selected by this field
|
|
and the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces list means "this pod's namespace".
|
|
An empty selector ({}) matches all namespaces.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
namespaces:
|
|
description: |-
|
|
namespaces specifies a static list of namespace names that the term applies to.
|
|
The term is applied to the union of the namespaces listed in this field
|
|
and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
description: |-
|
|
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
|
|
the labelSelector in the specified namespaces, where co-located is defined as running on a node
|
|
whose value of the label with key topologyKey matches that of any node on which any of the
|
|
selected pods is running.
|
|
Empty topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to each Fluentd pod.
|
|
type: object
|
|
args:
|
|
description: Fluentd Watcher command line arguments.
|
|
items:
|
|
type: string
|
|
type: array
|
|
buffer:
|
|
description: Buffer definition
|
|
properties:
|
|
disableBufferVolume:
|
|
description: Enabled buffer pvc by default.
|
|
type: boolean
|
|
emptyDir:
|
|
description: |-
|
|
Represents an empty directory for a pod.
|
|
Empty directory volumes support ownership management and SELinux relabeling.
|
|
properties:
|
|
medium:
|
|
description: |-
|
|
medium represents what type of storage medium should back this directory.
|
|
The default is "" which means to use the node's default medium.
|
|
Must be an empty string (default) or Memory.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
sizeLimit is the total amount of local storage required for this EmptyDir volume.
|
|
The size limit is also applicable for memory medium.
|
|
The maximum usage on memory medium EmptyDir would be the minimum value between
|
|
the SizeLimit specified here and the sum of memory limits of all containers in a pod.
|
|
The default is nil which means that the limit is undefined.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
hostPath:
|
|
description: Volume definition.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path of the directory on the host.
|
|
If the path is a symlink, it will follow the link to the real path.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type for HostPath Volume
|
|
Defaults to ""
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
pvc:
|
|
description: PVC definition
|
|
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:
|
|
description: |-
|
|
Standard object's metadata.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
spec defines the desired characteristics of a volume requested by a pod author.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over volumes to
|
|
consider for binding.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference to the
|
|
PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
status:
|
|
description: |-
|
|
status represents the current information/status of a persistent volume claim.
|
|
Read-only.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the actual access modes the volume backing the PVC has.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
allocatedResourceStatuses:
|
|
additionalProperties:
|
|
description: |-
|
|
When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource
|
|
that it does not recognizes, then it should ignore that update and let other controllers
|
|
handle it.
|
|
type: string
|
|
description: "allocatedResourceStatuses stores status
|
|
of resource being resized for the given PVC.\nKey names
|
|
follow standard Kubernetes label syntax. Valid values
|
|
are either:\n\t* Un-prefixed keys:\n\t\t- storage -
|
|
the capacity of the volume.\n\t* Custom resources must
|
|
use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart
|
|
from above values - keys that are unprefixed or have
|
|
kubernetes.io prefix are considered\nreserved and hence
|
|
may not be used.\n\n\nClaimResourceStatus can be in
|
|
any of following states:\n\t- ControllerResizeInProgress:\n\t\tState
|
|
set when resize controller starts resizing the volume
|
|
in control-plane.\n\t- ControllerResizeFailed:\n\t\tState
|
|
set when resize has failed in resize controller with
|
|
a terminal error.\n\t- NodeResizePending:\n\t\tState
|
|
set when resize controller has finished resizing the
|
|
volume but further resizing of\n\t\tvolume is needed
|
|
on the node.\n\t- NodeResizeInProgress:\n\t\tState set
|
|
when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState
|
|
set when resizing has failed in kubelet with a terminal
|
|
error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor
|
|
example: if expanding a PVC for more capacity - this
|
|
field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage']
|
|
= \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizeFailed\"\nWhen this field is not set,
|
|
it means that no resize operation is in progress for
|
|
the given PVC.\n\n\nA controller that receives PVC update
|
|
with previously unknown resourceName or ClaimResourceStatus\nshould
|
|
ignore the update for the purpose it was designed. For
|
|
example - a controller that\nonly is responsible for
|
|
resizing capacity of the volume, should ignore PVC updates
|
|
that change other valid\nresources associated with PVC.\n\n\nThis
|
|
is an alpha field and requires enabling RecoverVolumeExpansionFailure
|
|
feature."
|
|
type: object
|
|
x-kubernetes-map-type: granular
|
|
allocatedResources:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: "allocatedResources tracks the resources
|
|
allocated to a PVC including its capacity.\nKey names
|
|
follow standard Kubernetes label syntax. Valid values
|
|
are either:\n\t* Un-prefixed keys:\n\t\t- storage -
|
|
the capacity of the volume.\n\t* Custom resources must
|
|
use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart
|
|
from above values - keys that are unprefixed or have
|
|
kubernetes.io prefix are considered\nreserved and hence
|
|
may not be used.\n\n\nCapacity reported here may be
|
|
larger than the actual capacity when a volume expansion
|
|
operation\nis requested.\nFor storage quota, the larger
|
|
value from allocatedResources and PVC.spec.resources
|
|
is used.\nIf allocatedResources is not set, PVC.spec.resources
|
|
alone is used for quota calculation.\nIf a volume expansion
|
|
capacity request is lowered, allocatedResources is only\nlowered
|
|
if there are no expansion operations in progress and
|
|
if the actual volume capacity\nis equal or lower than
|
|
the requested capacity.\n\n\nA controller that receives
|
|
PVC update with previously unknown resourceName\nshould
|
|
ignore the update for the purpose it was designed. For
|
|
example - a controller that\nonly is responsible for
|
|
resizing capacity of the volume, should ignore PVC updates
|
|
that change other valid\nresources associated with PVC.\n\n\nThis
|
|
is an alpha field and requires enabling RecoverVolumeExpansionFailure
|
|
feature."
|
|
type: object
|
|
capacity:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: capacity represents the actual resources
|
|
of the underlying volume.
|
|
type: object
|
|
conditions:
|
|
description: |-
|
|
conditions is the current Condition of persistent volume claim. If underlying persistent volume is being
|
|
resized then the Condition will be set to 'Resizing'.
|
|
items:
|
|
description: PersistentVolumeClaimCondition contains
|
|
details about state of pvc
|
|
properties:
|
|
lastProbeTime:
|
|
description: lastProbeTime is the time we probed
|
|
the condition.
|
|
format: date-time
|
|
type: string
|
|
lastTransitionTime:
|
|
description: lastTransitionTime is the time the
|
|
condition transitioned from one status to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: message is the human-readable message
|
|
indicating details about last transition.
|
|
type: string
|
|
reason:
|
|
description: |-
|
|
reason is a unique, this should be a short, machine understandable string that gives the reason
|
|
for condition's last transition. If it reports "Resizing" that means the underlying
|
|
persistent volume is being resized.
|
|
type: string
|
|
status:
|
|
type: string
|
|
type:
|
|
description: PersistentVolumeClaimConditionType
|
|
is a valid value of PersistentVolumeClaimCondition.Type
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- type
|
|
x-kubernetes-list-type: map
|
|
currentVolumeAttributesClassName:
|
|
description: |-
|
|
currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
|
|
When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
|
|
This is an alpha field and requires enabling VolumeAttributesClass feature.
|
|
type: string
|
|
modifyVolumeStatus:
|
|
description: |-
|
|
ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
|
|
When this is unset, there is no ModifyVolume operation being attempted.
|
|
This is an alpha field and requires enabling VolumeAttributesClass feature.
|
|
properties:
|
|
status:
|
|
description: "status is the status of the ControllerModifyVolume
|
|
operation. It can be in any of following states:\n
|
|
- Pending\n Pending indicates that the PersistentVolumeClaim
|
|
cannot be modified due to unmet requirements, such
|
|
as\n the specified VolumeAttributesClass not existing.\n
|
|
- InProgress\n InProgress indicates that the volume
|
|
is being modified.\n - Infeasible\n Infeasible
|
|
indicates that the request has been rejected as
|
|
invalid by the CSI driver. To\n\t resolve the error,
|
|
a valid VolumeAttributesClass needs to be specified.\nNote:
|
|
New statuses can be added in the future. Consumers
|
|
should check for unknown statuses and fail appropriately."
|
|
type: string
|
|
targetVolumeAttributesClassName:
|
|
description: targetVolumeAttributesClassName is the
|
|
name of the VolumeAttributesClass the PVC currently
|
|
being reconciled
|
|
type: string
|
|
required:
|
|
- status
|
|
type: object
|
|
phase:
|
|
description: phase represents the current phase of PersistentVolumeClaim.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
containerSecurityContext:
|
|
description: ContainerSecurityContext represents the security context
|
|
for the fluentd container.
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
description: |-
|
|
AllowPrivilegeEscalation controls whether a process can gain more
|
|
privileges than its parent process. This bool directly controls if
|
|
the no_new_privs flag will be set on the container process.
|
|
AllowPrivilegeEscalation is true always when the container is:
|
|
1) run as Privileged
|
|
2) has CAP_SYS_ADMIN
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
appArmorProfile:
|
|
description: |-
|
|
appArmorProfile is the AppArmor options to use by this container. If set, this profile
|
|
overrides the pod's appArmorProfile.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile loaded on the node that should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must match the loaded name of the profile.
|
|
Must be set if and only if type is "Localhost".
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of AppArmor profile will be applied.
|
|
Valid options are:
|
|
Localhost - a profile pre-loaded on the node.
|
|
RuntimeDefault - the container runtime's default profile.
|
|
Unconfined - no AppArmor enforcement.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
description: |-
|
|
The capabilities to add/drop when running containers.
|
|
Defaults to the default set of capabilities granted by the container runtime.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
add:
|
|
description: Added capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
description: Removed capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
description: |-
|
|
Run container in privileged mode.
|
|
Processes in privileged containers are essentially equivalent to root on the host.
|
|
Defaults to false.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
procMount:
|
|
description: |-
|
|
procMount denotes the type of proc mount to use for the containers.
|
|
The default is DefaultProcMount which uses the container runtime defaults for
|
|
readonly paths and masked paths.
|
|
This requires the ProcMountType feature flag to be enabled.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
description: |-
|
|
Whether this container has a read-only root filesystem.
|
|
Default is false.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: boolean
|
|
runAsGroup:
|
|
description: |-
|
|
The GID to run the entrypoint of the container process.
|
|
Uses runtime default if unset.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
description: |-
|
|
Indicates that the container must run as a non-root user.
|
|
If true, the Kubelet will validate the image at runtime to ensure that it
|
|
does not run as UID 0 (root) and fail to start the container if it does.
|
|
If unset or false, no such validation will be performed.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: boolean
|
|
runAsUser:
|
|
description: |-
|
|
The UID to run the entrypoint of the container process.
|
|
Defaults to user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
description: |-
|
|
The SELinux context to be applied to the container.
|
|
If unspecified, the container runtime will allocate a random SELinux context for each
|
|
container. May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
level:
|
|
description: Level is SELinux level label that applies to
|
|
the container.
|
|
type: string
|
|
role:
|
|
description: Role is a SELinux role label that applies to
|
|
the container.
|
|
type: string
|
|
type:
|
|
description: Type is a SELinux type label that applies to
|
|
the container.
|
|
type: string
|
|
user:
|
|
description: User is a SELinux user label that applies to
|
|
the container.
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
description: |-
|
|
The seccomp options to use by this container. If seccomp options are
|
|
provided at both the pod & container level, the container options
|
|
override the pod options.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of seccomp profile will be applied.
|
|
Valid options are:
|
|
|
|
|
|
Localhost - a profile defined in a file on the node should be used.
|
|
RuntimeDefault - the container runtime default profile should be used.
|
|
Unconfined - no profile should be applied.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
description: |-
|
|
The Windows specific settings applied to all containers.
|
|
If unspecified, the options from the PodSecurityContext will be used.
|
|
If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is linux.
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
description: |-
|
|
GMSACredentialSpec is where the GMSA admission webhook
|
|
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
|
GMSA credential spec named by the GMSACredentialSpecName field.
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
description: GMSACredentialSpecName is the name of the GMSA
|
|
credential spec to use.
|
|
type: string
|
|
hostProcess:
|
|
description: |-
|
|
HostProcess determines if a container should be run as a 'Host Process' container.
|
|
All of a Pod's containers must have the same effective HostProcess value
|
|
(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
|
|
In addition, if HostProcess is true then HostNetwork must also be set to true.
|
|
type: boolean
|
|
runAsUserName:
|
|
description: |-
|
|
The UserName in Windows to run the entrypoint of the container process.
|
|
Defaults to the user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
defaultFilterSelector:
|
|
description: Select cluster filter plugins used to filter for the
|
|
default cluster output
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
defaultInputSelector:
|
|
description: Select cluster input plugins used to gather the default
|
|
cluster output
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
defaultOutputSelector:
|
|
description: Select cluster output plugins used to send all logs that
|
|
did not match any route to the matching outputs
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
disableService:
|
|
description: By default will build the related service according to
|
|
the globalinputs definition.
|
|
type: boolean
|
|
envFrom:
|
|
description: EnvFrom represent environment variables that can be passed
|
|
to fluentd pods directly from secret or configmap
|
|
items:
|
|
description: EnvFromSource represents the source of a set of ConfigMaps
|
|
properties:
|
|
configMapRef:
|
|
description: The ConfigMap to select from
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
description: An optional identifier to prepend to each key in
|
|
the ConfigMap. Must be a C_IDENTIFIER.
|
|
type: string
|
|
secretRef:
|
|
description: The Secret to select from
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
envVars:
|
|
description: EnvVars represent environment variables that can be passed
|
|
to fluentd pods.
|
|
items:
|
|
description: EnvVar represents an environment variable present in
|
|
a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: |-
|
|
Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in the container and
|
|
any service environment variables. If a variable cannot be resolved,
|
|
the reference in the input string will be unchanged. Double $$ are reduced
|
|
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless of whether the variable
|
|
exists or not.
|
|
Defaults to "".
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value. Cannot
|
|
be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
description: |-
|
|
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
|
|
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath is
|
|
written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the specified
|
|
API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the exposed
|
|
resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
fluentdCfgSelector:
|
|
description: FluentdCfgSelector defines the selectors to select the
|
|
fluentd config CRs.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
globalInputs:
|
|
description: Fluentd global 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. <client> 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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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 <label> sections.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
monitorAgent:
|
|
description: monitor_agent plugin
|
|
properties:
|
|
bind:
|
|
description: The bind address to listen to.
|
|
type: string
|
|
emitInterval:
|
|
description: The interval time between event emits. This
|
|
will be used when "tag" is configured.
|
|
format: int64
|
|
type: integer
|
|
includeConfig:
|
|
description: You can set this option to false to remove
|
|
the config field from the response.
|
|
type: boolean
|
|
includeRetry:
|
|
description: You can set this option to false to remove
|
|
the retry field from the response.
|
|
type: boolean
|
|
port:
|
|
description: The port to listen to.
|
|
format: int64
|
|
type: integer
|
|
tag:
|
|
description: If you set this parameter, this plugin emits
|
|
metrics as records.
|
|
type: string
|
|
type: object
|
|
sample:
|
|
description: in_sample plugin
|
|
properties:
|
|
autoIncrementKey:
|
|
description: If specified, each generated event has an auto-incremented
|
|
key field.
|
|
type: string
|
|
rate:
|
|
description: It configures how many events to generate per
|
|
second.
|
|
format: int64
|
|
type: integer
|
|
sample:
|
|
description: The sample data to be generated. It should
|
|
be either an array of JSON hashes or a single JSON hash.
|
|
If it is an array of JSON hashes, the hashes in the array
|
|
are cycled through in order.
|
|
type: string
|
|
size:
|
|
description: The number of events in the event stream of
|
|
each emit.
|
|
format: int64
|
|
type: integer
|
|
tag:
|
|
description: The tag of the event. The value is the tag
|
|
assigned to the generated events.
|
|
type: string
|
|
type: object
|
|
tail:
|
|
description: in_tail plugin
|
|
properties:
|
|
emitUnmatchedLines:
|
|
description: Emits unmatched lines when <parse> format is
|
|
not matched for incoming logs.
|
|
type: boolean
|
|
enableStatWatcher:
|
|
description: |-
|
|
Enables the additional inotify-based watcher. Setting this parameter to false will disable the inotify events and use only timer watcher for file tailing.
|
|
This option is mainly for avoiding the stuck issue with inotify.
|
|
type: boolean
|
|
enableWatchTimer:
|
|
description: |-
|
|
Enables the additional watch timer. Setting this parameter to false will significantly reduce CPU and I/O consumption when tailing a large number of files on systems with inotify support.
|
|
The default is true which results in an additional 1 second timer being used.
|
|
type: boolean
|
|
encoding:
|
|
description: |-
|
|
Specifies the encoding of reading lines. By default, in_tail emits string value as ASCII-8BIT encoding.
|
|
If encoding is specified, in_tail changes string to encoding.
|
|
If encoding and fromEncoding both are specified, in_tail tries to encode string from fromEncoding to encoding.
|
|
type: string
|
|
excludePath:
|
|
description: The paths excluded from the watcher list.
|
|
items:
|
|
type: string
|
|
type: array
|
|
followInodes:
|
|
description: Avoid to read rotated files duplicately. You
|
|
should set true when you use * or strftime format in path.
|
|
type: boolean
|
|
fromEncoding:
|
|
description: |-
|
|
Specifies the encoding of reading lines. By default, in_tail emits string value as ASCII-8BIT encoding.
|
|
If encoding is specified, in_tail changes string to encoding.
|
|
If encoding and fromEncoding both are specified, in_tail tries to encode string from fromEncoding to encoding.
|
|
type: string
|
|
group:
|
|
description: |-
|
|
The in_tail plugin can assign each log file to a group, based on user defined rules.
|
|
The limit parameter controls the total number of lines collected for a group within a rate_period time interval.
|
|
properties:
|
|
pattern:
|
|
description: |-
|
|
Specifies the regular expression for extracting metadata (namespace, podname) from log file path.
|
|
Default value of the pattern regexp extracts information about namespace, podname, docker_id, container of the log (K8s specific).
|
|
type: string
|
|
ratePeriod:
|
|
description: Time period in which the group line limit
|
|
is applied. in_tail resets the counter after every
|
|
rate_period interval.
|
|
format: int32
|
|
type: integer
|
|
rule:
|
|
description: Grouping rules for log files.
|
|
properties:
|
|
limit:
|
|
description: Maximum number of lines allowed from
|
|
a group in rate_period time interval. The default
|
|
value of -1 doesn't throttle log files of that
|
|
group.
|
|
format: int32
|
|
type: integer
|
|
match:
|
|
additionalProperties:
|
|
type: string
|
|
description: match parameter is used to check if
|
|
a file belongs to a particular group based on
|
|
hash keys (named captures from pattern) and hash
|
|
values (regexp in string)
|
|
type: object
|
|
type: object
|
|
required:
|
|
- rule
|
|
type: object
|
|
ignoreRepeatedPermissionError:
|
|
description: If you have to exclude the non-permission files
|
|
from the watch list, set this parameter to true. It suppresses
|
|
the repeated permission error logs.
|
|
type: boolean
|
|
limitRecentlyModified:
|
|
description: Limits the watching files that the modification
|
|
time is within the specified time range when using * in
|
|
path.
|
|
format: int32
|
|
type: integer
|
|
maxLineSize:
|
|
description: The maximum length of a line. Longer lines
|
|
than it will be just skipped.
|
|
format: int32
|
|
type: integer
|
|
multilineFlushInterval:
|
|
description: The interval of flushing the buffer for multiline
|
|
format.
|
|
format: int32
|
|
type: integer
|
|
openOnEveryUpdate:
|
|
description: Opens and closes the file on every update instead
|
|
of leaving it open until it gets rotated.
|
|
type: boolean
|
|
parse:
|
|
description: Parse defines various parameters for the parse
|
|
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
|
|
path:
|
|
description: The path(s) to read. Multiple paths can be
|
|
specified, separated by comma ','.
|
|
type: string
|
|
pathKey:
|
|
description: Adds the watching file path to the path_key
|
|
field.
|
|
type: string
|
|
pathTimezone:
|
|
description: This parameter is for strftime formatted path
|
|
like /path/to/%Y/%m/%d/.
|
|
type: string
|
|
posFile:
|
|
description: |-
|
|
(recommended) Fluentd will record the position it last read from this file.
|
|
pos_file handles multiple positions in one file so no need to have multiple pos_file parameters per source.
|
|
Don't share pos_file between in_tail configurations. It causes unexpected behavior e.g. corrupt pos_file content.
|
|
type: string
|
|
posFileCompactionInterval:
|
|
description: The interval of doing compaction of pos file.
|
|
format: int32
|
|
type: integer
|
|
readBytesLimitPerSecond:
|
|
description: The number of reading bytes per second to read
|
|
with I/O operation. This value should be equal or greater
|
|
than 8192.
|
|
format: int32
|
|
type: integer
|
|
readFromHead:
|
|
description: Starts to read the logs from the head of the
|
|
file or the last read position recorded in pos_file, not
|
|
tail.
|
|
type: boolean
|
|
readLinesLimit:
|
|
description: The number of lines to read with each I/O operation.
|
|
format: int32
|
|
type: integer
|
|
refreshInterval:
|
|
description: The interval to refresh the list of watch files.
|
|
This is used when the path includes *.
|
|
format: int32
|
|
type: integer
|
|
rotateWait:
|
|
description: |-
|
|
in_tail actually does a bit more than tail -F itself. When rotating a file, some data may still need to be written to the old file as opposed to the new one.
|
|
in_tail takes care of this by keeping a reference to the old file (even after it has been rotated) for some time before transitioning completely to the new file.
|
|
This helps prevent data designated for the old file from getting lost. By default, this time interval is 5 seconds.
|
|
The rotate_wait parameter accepts a single integer representing the number of seconds you want this time interval to be.
|
|
format: int32
|
|
type: integer
|
|
skipRefreshOnStartup:
|
|
description: Skips the refresh of the watch list on startup.
|
|
This reduces the startup time when * is used in path.
|
|
type: boolean
|
|
tag:
|
|
description: The tag of the event.
|
|
type: string
|
|
required:
|
|
- parse
|
|
- path
|
|
- tag
|
|
type: object
|
|
type: object
|
|
type: array
|
|
hostAliases:
|
|
description: HostAliases is an optional list of IPs and hostnames
|
|
that will be injected into the pod's hosts file if specified.
|
|
items:
|
|
description: |-
|
|
HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the
|
|
pod's hosts file.
|
|
properties:
|
|
hostnames:
|
|
description: Hostnames for the above IP address.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
ip:
|
|
description: IP address of the host file entry.
|
|
type: string
|
|
required:
|
|
- ip
|
|
type: object
|
|
type: array
|
|
image:
|
|
description: Fluentd image.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Fluentd image pull policy.
|
|
type: string
|
|
imagePullSecrets:
|
|
description: Fluentd image pull secret
|
|
items:
|
|
description: |-
|
|
LocalObjectReference contains enough information to let you locate the
|
|
referenced object inside the same namespace.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
livenessProbe:
|
|
description: LivenessProbe represents the liveness probe for the fluentd
|
|
container.
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
description: |-
|
|
Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
Defaults to 3. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
description: GRPC specifies an action involving a GRPC port.
|
|
properties:
|
|
port:
|
|
description: Port number of the gRPC service. Number must
|
|
be in the range 1 to 65535.
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
description: |-
|
|
Service is the name of the service to place in the gRPC HealthCheckRequest
|
|
(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
|
|
|
|
|
|
If this is not specified, the default behavior is defined by gRPC.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request. HTTP allows
|
|
repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header to be
|
|
used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
description: |-
|
|
Number of seconds after the container has started before liveness probes are initiated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: |-
|
|
How often (in seconds) to perform the probe.
|
|
Default to 10 seconds. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
description: |-
|
|
Minimum consecutive successes for the probe to be considered successful after having failed.
|
|
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: TCPSocket specifies an action involving a TCP port.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to, defaults
|
|
to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
description: |-
|
|
Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
The grace period is the duration in seconds after the processes running in the pod are sent
|
|
a termination signal and the time when the processes are forcibly halted with a kill signal.
|
|
Set this value longer than the expected cleanup time for your process.
|
|
If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
|
|
value overrides the value provided by the pod spec.
|
|
Value must be non-negative integer. The value zero indicates stop immediately via
|
|
the kill signal (no opportunity to shut down).
|
|
This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
|
|
Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
description: |-
|
|
Number of seconds after which the probe times out.
|
|
Defaults to 1 second. Minimum value is 1.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
logLevel:
|
|
default: info
|
|
description: Global logging verbosity
|
|
enum:
|
|
- fatal
|
|
- error
|
|
- warn
|
|
- info
|
|
- debug
|
|
- trace
|
|
type: string
|
|
mode:
|
|
default: collector
|
|
description: Mode to determine whether to run Fluentd as collector
|
|
or agent.
|
|
enum:
|
|
- collector
|
|
- agent
|
|
type: string
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: NodeSelector
|
|
type: object
|
|
positionDB:
|
|
description: |-
|
|
Storage for position db. You will use it if tail input is enabled.
|
|
Applicable when the mode is "agent", and will be ignored when the mode is "collector"
|
|
properties:
|
|
awsElasticBlockStore:
|
|
description: |-
|
|
awsElasticBlockStore represents an AWS Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly value true will force the readOnly setting in VolumeMounts.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: boolean
|
|
volumeID:
|
|
description: |-
|
|
volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
description: azureDisk represents an Azure Data Disk mount on
|
|
the host and bind mount to the pod.
|
|
properties:
|
|
cachingMode:
|
|
description: 'cachingMode is the Host Caching mode: None,
|
|
Read Only, Read Write.'
|
|
type: string
|
|
diskName:
|
|
description: diskName is the Name of the data disk in the
|
|
blob storage
|
|
type: string
|
|
diskURI:
|
|
description: diskURI is the URI of data disk in the blob storage
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is Filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
kind:
|
|
description: 'kind expected values are Shared: multiple blob
|
|
disks per storage account Dedicated: single blob disk per
|
|
storage account Managed: azure managed data disk (only
|
|
in managed availability set). defaults to shared'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
description: azureFile represents an Azure File Service mount
|
|
on the host and bind mount to the pod.
|
|
properties:
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretName:
|
|
description: secretName is the name of secret that contains
|
|
Azure Storage Account Name and Key
|
|
type: string
|
|
shareName:
|
|
description: shareName is the azure share Name
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
description: cephFS represents a Ceph FS mount on the host that
|
|
shares a pod's lifetime
|
|
properties:
|
|
monitors:
|
|
description: |-
|
|
monitors is Required: Monitors is a collection of Ceph monitors
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: 'path is Optional: Used as the mounted root,
|
|
rather than the full Ceph tree, default is /'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: boolean
|
|
secretFile:
|
|
description: |-
|
|
secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is optional: User is the rados user name, default is admin
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
description: |-
|
|
cinder represents a cinder volume attached and mounted on kubelets host machine.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is optional: points to a secret object containing parameters used to connect
|
|
to OpenStack.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
description: |-
|
|
volumeID used to identify the volume in cinder.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
description: configMap represents a configMap that should populate
|
|
this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap or its
|
|
keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
description: csi (Container Storage Interface) represents ephemeral
|
|
storage that is handled by certain external CSI drivers (Beta
|
|
feature).
|
|
properties:
|
|
driver:
|
|
description: |-
|
|
driver is the name of the CSI driver that handles this volume.
|
|
Consult with your admin for the correct name as registered in the cluster.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType to mount. Ex. "ext4", "xfs", "ntfs".
|
|
If not provided, the empty value is passed to the associated CSI driver
|
|
which will determine the default filesystem to apply.
|
|
type: string
|
|
nodePublishSecretRef:
|
|
description: |-
|
|
nodePublishSecretRef is a reference to the secret object containing
|
|
sensitive information to pass to the CSI driver to complete the CSI
|
|
NodePublishVolume and NodeUnpublishVolume calls.
|
|
This field is optional, and may be empty if no secret is required. If the
|
|
secret object contains more than one secret, all secret references are passed.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly specifies a read-only configuration for the volume.
|
|
Defaults to false (read/write).
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
volumeAttributes stores driver-specific properties that are passed to the CSI
|
|
driver. Consult your driver's documentation for supported values.
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
description: downwardAPI represents downward API about the pod
|
|
that should populate this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
Optional: mode bits to use on created files by default. Must be a
|
|
Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: Items is a list of downward API volume file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents information
|
|
to create the file containing the pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field of the pod:
|
|
only annotations, labels, name, namespace and uid
|
|
are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative path name
|
|
of the file to be created. Must not be absolute or
|
|
contain the ''..'' path. Must be utf-8 encoded. The
|
|
first item of the relative path must not start with
|
|
''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
description: |-
|
|
emptyDir represents a temporary directory that shares a pod's lifetime.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
properties:
|
|
medium:
|
|
description: |-
|
|
medium represents what type of storage medium should back this directory.
|
|
The default is "" which means to use the node's default medium.
|
|
Must be an empty string (default) or Memory.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
sizeLimit is the total amount of local storage required for this EmptyDir volume.
|
|
The size limit is also applicable for memory medium.
|
|
The maximum usage on memory medium EmptyDir would be the minimum value between
|
|
the SizeLimit specified here and the sum of memory limits of all containers in a pod.
|
|
The default is nil which means that the limit is undefined.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
description: |-
|
|
ephemeral represents a volume that is handled by a cluster storage driver.
|
|
The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
|
|
and deleted when the pod is removed.
|
|
|
|
|
|
Use this if:
|
|
a) the volume is only needed while the pod runs,
|
|
b) features of normal volumes like restoring from snapshot or capacity
|
|
tracking are needed,
|
|
c) the storage driver is specified through a storage class, and
|
|
d) the storage driver supports dynamic volume provisioning through
|
|
a PersistentVolumeClaim (see EphemeralVolumeSource for more
|
|
information on the connection between this volume type
|
|
and PersistentVolumeClaim).
|
|
|
|
|
|
Use PersistentVolumeClaim or one of the vendor-specific
|
|
APIs for volumes that persist for longer than the lifecycle
|
|
of an individual pod.
|
|
|
|
|
|
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
|
|
be used that way - see the documentation of the driver for
|
|
more information.
|
|
|
|
|
|
A pod can use both types of ephemeral volumes and
|
|
persistent volumes at the same time.
|
|
properties:
|
|
volumeClaimTemplate:
|
|
description: |-
|
|
Will be used to create a stand-alone PVC to provision the volume.
|
|
The pod in which this EphemeralVolumeSource is embedded will be the
|
|
owner of the PVC, i.e. the PVC will be deleted together with the
|
|
pod. The name of the PVC will be `<pod name>-<volume name>` where
|
|
`<volume name>` is the name from the `PodSpec.Volumes` array
|
|
entry. Pod validation will reject the pod if the concatenated name
|
|
is not valid for a PVC (for example, too long).
|
|
|
|
|
|
An existing PVC with that name that is not owned by the pod
|
|
will *not* be used for the pod to avoid using an unrelated
|
|
volume by mistake. Starting the pod is then blocked until
|
|
the unrelated PVC is removed. If such a pre-created PVC is
|
|
meant to be used by the pod, the PVC has to updated with an
|
|
owner reference to the pod once the pod exists. Normally
|
|
this should not be necessary, but it may be useful when
|
|
manually reconstructing a broken cluster.
|
|
|
|
|
|
This field is read-only and no changes will be made by Kubernetes
|
|
to the PVC after it has been created.
|
|
|
|
|
|
Required, must not be nil.
|
|
properties:
|
|
metadata:
|
|
description: |-
|
|
May contain labels and annotations that will be copied into the PVC
|
|
when creating it. No other fields are allowed and will be rejected during
|
|
validation.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
The specification for the PersistentVolumeClaim. The entire content is
|
|
copied unchanged into the PVC that gets created from this
|
|
template. The same fields as in a PersistentVolumeClaim
|
|
are also valid here.
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over volumes
|
|
to consider for binding.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference to
|
|
the PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
description: fc represents a Fibre Channel resource that is attached
|
|
to a kubelet's host machine and then exposed to the pod.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
lun:
|
|
description: 'lun is Optional: FC target lun number'
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
targetWWNs:
|
|
description: 'targetWWNs is Optional: FC target worldwide
|
|
names (WWNs)'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
description: |-
|
|
wwids Optional: FC volume world wide identifiers (wwids)
|
|
Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
description: |-
|
|
flexVolume represents a generic volume resource that is
|
|
provisioned/attached using an exec based plugin.
|
|
properties:
|
|
driver:
|
|
description: driver is the name of the driver to use for this
|
|
volume.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'options is Optional: this field holds extra
|
|
command options if any.'
|
|
type: object
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: secretRef is reference to the secret object containing
|
|
sensitive information to pass to the plugin scripts. This may be
|
|
empty if no secret object is specified. If the secret object
|
|
contains more than one secret, all secrets are passed to the plugin
|
|
scripts.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
description: flocker represents a Flocker volume attached to a
|
|
kubelet's host machine. This depends on the Flocker control
|
|
service being running
|
|
properties:
|
|
datasetName:
|
|
description: |-
|
|
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
|
|
should be considered as deprecated
|
|
type: string
|
|
datasetUUID:
|
|
description: datasetUUID is the UUID of the dataset. This
|
|
is unique identifier of a Flocker dataset
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
description: |-
|
|
gcePersistentDisk represents a GCE Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
description: |-
|
|
pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
description: |-
|
|
gitRepo represents a git repository at a particular revision.
|
|
DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
|
|
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
|
|
into the Pod's container.
|
|
properties:
|
|
directory:
|
|
description: |-
|
|
directory is the target directory name.
|
|
Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
|
|
git repository. Otherwise, if specified, the volume will contain the git repository in
|
|
the subdirectory with the given name.
|
|
type: string
|
|
repository:
|
|
description: repository is the URL
|
|
type: string
|
|
revision:
|
|
description: revision is the commit hash for the specified
|
|
revision.
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
description: |-
|
|
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md
|
|
properties:
|
|
endpoints:
|
|
description: |-
|
|
endpoints is the endpoint name that details Glusterfs topology.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
path:
|
|
description: |-
|
|
path is the Glusterfs volume path.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
description: |-
|
|
hostPath represents a pre-existing file or directory on the host
|
|
machine that is directly exposed to the container. This is generally
|
|
used for system agents or other privileged things that are allowed
|
|
to see the host machine. Most containers will NOT need this.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
---
|
|
TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
|
|
mount host directories as read/write.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path of the directory on the host.
|
|
If the path is a symlink, it will follow the link to the real path.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type for HostPath Volume
|
|
Defaults to ""
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
iscsi:
|
|
description: |-
|
|
iscsi represents an ISCSI Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://examples.k8s.io/volumes/iscsi/README.md
|
|
properties:
|
|
chapAuthDiscovery:
|
|
description: chapAuthDiscovery defines whether support iSCSI
|
|
Discovery CHAP authentication
|
|
type: boolean
|
|
chapAuthSession:
|
|
description: chapAuthSession defines whether support iSCSI
|
|
Session CHAP authentication
|
|
type: boolean
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
initiatorName:
|
|
description: |-
|
|
initiatorName is the custom iSCSI Initiator Name.
|
|
If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
|
|
<target portal>:<volume name> will be created for the connection.
|
|
type: string
|
|
iqn:
|
|
description: iqn is the target iSCSI Qualified Name.
|
|
type: string
|
|
iscsiInterface:
|
|
description: |-
|
|
iscsiInterface is the interface Name that uses an iSCSI transport.
|
|
Defaults to 'default' (tcp).
|
|
type: string
|
|
lun:
|
|
description: lun represents iSCSI Target Lun number.
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
description: |-
|
|
portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
type: boolean
|
|
secretRef:
|
|
description: secretRef is the CHAP Secret for iSCSI target
|
|
and initiator authentication
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
description: |-
|
|
targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
nfs:
|
|
description: |-
|
|
nfs represents an NFS mount on the host that shares a pod's lifetime
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path that is exported by the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the NFS export to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: boolean
|
|
server:
|
|
description: |-
|
|
server is the hostname or IP address of the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
description: |-
|
|
persistentVolumeClaimVolumeSource represents a reference to a
|
|
PersistentVolumeClaim in the same namespace.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
claimName:
|
|
description: |-
|
|
claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Will force the ReadOnly setting in VolumeMounts.
|
|
Default false.
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
description: photonPersistentDisk represents a PhotonController
|
|
persistent disk attached and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
pdID:
|
|
description: pdID is the ID that identifies Photon Controller
|
|
persistent disk
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
description: portworxVolume represents a portworx volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fSType represents the filesystem type to mount
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
volumeID:
|
|
description: volumeID uniquely identifies a Portworx volume
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
description: projected items for all in one resources secrets,
|
|
configmaps, and downward API
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode are the mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
description: sources is the list of volume projections
|
|
items:
|
|
description: Projection that may be projected along with
|
|
other supported volume types
|
|
properties:
|
|
clusterTrustBundle:
|
|
description: |-
|
|
ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
|
|
of ClusterTrustBundle objects in an auto-updating file.
|
|
|
|
|
|
Alpha, gated by the ClusterTrustBundleProjection feature gate.
|
|
|
|
|
|
ClusterTrustBundle objects can either be selected by name, or by the
|
|
combination of signer name and a label selector.
|
|
|
|
|
|
Kubelet performs aggressive normalization of the PEM contents written
|
|
into the pod filesystem. Esoteric PEM features such as inter-block
|
|
comments and block headers are stripped. Certificates are deduplicated.
|
|
The ordering of certificates within the file is arbitrary, and Kubelet
|
|
may change the order over time.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this label selector. Only has
|
|
effect if signerName is set. Mutually-exclusive with name. If unset,
|
|
interpreted as "match nothing". If set but empty, interpreted as "match
|
|
everything".
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
name:
|
|
description: |-
|
|
Select a single ClusterTrustBundle by object name. Mutually-exclusive
|
|
with signerName and labelSelector.
|
|
type: string
|
|
optional:
|
|
description: |-
|
|
If true, don't block pod startup if the referenced ClusterTrustBundle(s)
|
|
aren't available. If using name, then the named ClusterTrustBundle is
|
|
allowed not to exist. If using signerName, then the combination of
|
|
signerName and labelSelector is allowed to match zero
|
|
ClusterTrustBundles.
|
|
type: boolean
|
|
path:
|
|
description: Relative path from the volume root
|
|
to write the bundle.
|
|
type: string
|
|
signerName:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this signer name.
|
|
Mutually-exclusive with name. The contents of all selected
|
|
ClusterTrustBundles will be unified and deduplicated.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
description: configMap information about the configMap
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap
|
|
or its keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
description: downwardAPI information about the downwardAPI
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: Items is a list of DownwardAPIVolume
|
|
file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents
|
|
information to create the file containing the
|
|
pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field of
|
|
the pod: only annotations, labels, name,
|
|
namespace and uid are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the
|
|
FieldPath is written in terms of, defaults
|
|
to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select
|
|
in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative
|
|
path name of the file to be created. Must
|
|
not be absolute or contain the ''..'' path.
|
|
Must be utf-8 encoded. The first item of
|
|
the relative path must not start with ''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format
|
|
of the exposed resources, defaults to
|
|
"1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
secret:
|
|
description: secret information about the secret data
|
|
to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional field specify whether the
|
|
Secret or its key must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
description: serviceAccountToken is information about
|
|
the serviceAccountToken data to project
|
|
properties:
|
|
audience:
|
|
description: |-
|
|
audience is the intended audience of the token. A recipient of a token
|
|
must identify itself with an identifier specified in the audience of the
|
|
token, and otherwise should reject the token. The audience defaults to the
|
|
identifier of the apiserver.
|
|
type: string
|
|
expirationSeconds:
|
|
description: |-
|
|
expirationSeconds is the requested duration of validity of the service
|
|
account token. As the token approaches expiration, the kubelet volume
|
|
plugin will proactively rotate the service account token. The kubelet will
|
|
start trying to rotate the token if the token is older than 80 percent of
|
|
its time to live or if the token is older than 24 hours.Defaults to 1 hour
|
|
and must be at least 10 minutes.
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the path relative to the mount point of the file to project the
|
|
token into.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
description: quobyte represents a Quobyte mount on the host that
|
|
shares a pod's lifetime
|
|
properties:
|
|
group:
|
|
description: |-
|
|
group to map volume access to
|
|
Default is no group
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Quobyte volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
type: boolean
|
|
registry:
|
|
description: |-
|
|
registry represents a single or multiple Quobyte Registry services
|
|
specified as a string as host:port pair (multiple entries are separated with commas)
|
|
which acts as the central registry for volumes
|
|
type: string
|
|
tenant:
|
|
description: |-
|
|
tenant owning the given Quobyte volume in the Backend
|
|
Used with dynamically provisioned Quobyte volumes, value is set by the plugin
|
|
type: string
|
|
user:
|
|
description: |-
|
|
user to map volume access to
|
|
Defaults to serivceaccount user
|
|
type: string
|
|
volume:
|
|
description: volume is a string that references an already
|
|
created Quobyte volume by name.
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
description: |-
|
|
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
image:
|
|
description: |-
|
|
image is the rados image name.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
keyring:
|
|
description: |-
|
|
keyring is the path to key ring for RBDUser.
|
|
Default is /etc/ceph/keyring.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
monitors:
|
|
description: |-
|
|
monitors is a collection of Ceph monitors.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
description: |-
|
|
pool is the rados pool name.
|
|
Default is rbd.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is name of the authentication secret for RBDUser. If provided
|
|
overrides keyring.
|
|
Default is nil.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is the rados user name.
|
|
Default is admin.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
description: scaleIO represents a ScaleIO persistent volume attached
|
|
and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs".
|
|
Default is "xfs".
|
|
type: string
|
|
gateway:
|
|
description: gateway is the host address of the ScaleIO API
|
|
Gateway.
|
|
type: string
|
|
protectionDomain:
|
|
description: protectionDomain is the name of the ScaleIO Protection
|
|
Domain for the configured storage.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef references to the secret for ScaleIO user and other
|
|
sensitive information. If this is not provided, Login operation will fail.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
description: sslEnabled Flag enable/disable SSL communication
|
|
with Gateway, default false
|
|
type: boolean
|
|
storageMode:
|
|
description: |-
|
|
storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
|
|
Default is ThinProvisioned.
|
|
type: string
|
|
storagePool:
|
|
description: storagePool is the ScaleIO Storage Pool associated
|
|
with the protection domain.
|
|
type: string
|
|
system:
|
|
description: system is the name of the storage system as configured
|
|
in ScaleIO.
|
|
type: string
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the name of a volume already created in the ScaleIO system
|
|
that is associated with this volume source.
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
description: |-
|
|
secret represents a secret that should populate this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values
|
|
for mode bits. Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items If unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
description: optional field specify whether the Secret or
|
|
its keys must be defined
|
|
type: boolean
|
|
secretName:
|
|
description: |-
|
|
secretName is the name of the secret in the pod's namespace to use.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
description: storageOS represents a StorageOS volume attached
|
|
and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef specifies the secret to use for obtaining the StorageOS API
|
|
credentials. If not specified, default values will be attempted.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the human-readable name of the StorageOS volume. Volume
|
|
names are only unique within a namespace.
|
|
type: string
|
|
volumeNamespace:
|
|
description: |-
|
|
volumeNamespace specifies the scope of the volume within StorageOS. If no
|
|
namespace is specified then the Pod's namespace will be used. This allows the
|
|
Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
|
|
Set VolumeName to any name to override the default behaviour.
|
|
Set to "default" if you are not using namespaces within StorageOS.
|
|
Namespaces that do not pre-exist within StorageOS will be created.
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
description: vsphereVolume represents a vSphere volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
storagePolicyID:
|
|
description: storagePolicyID is the storage Policy Based Management
|
|
(SPBM) profile ID associated with the StoragePolicyName.
|
|
type: string
|
|
storagePolicyName:
|
|
description: storagePolicyName is the storage Policy Based
|
|
Management (SPBM) profile name.
|
|
type: string
|
|
volumePath:
|
|
description: volumePath is the path that identifies vSphere
|
|
volume vmdk
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
type: object
|
|
priorityClassName:
|
|
description: PriorityClassName represents the pod's priority class.
|
|
type: string
|
|
rbacRules:
|
|
description: RBACRules represents additional rbac rules which will
|
|
be applied to the fluentd clusterrole.
|
|
items:
|
|
description: |-
|
|
PolicyRule holds information that describes a policy rule, but does not contain information
|
|
about who the rule applies to or which namespace the rule applies to.
|
|
properties:
|
|
apiGroups:
|
|
description: |-
|
|
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
|
|
the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
nonResourceURLs:
|
|
description: |-
|
|
NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path
|
|
Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
|
|
Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resourceNames:
|
|
description: ResourceNames is an optional white list of names
|
|
that the rule applies to. An empty set means that everything
|
|
is allowed.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
description: Resources is a list of resources this rule applies
|
|
to. '*' represents all resources.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
verbs:
|
|
description: Verbs is a list of Verbs that apply to ALL the
|
|
ResourceKinds contained in this rule. '*' represents all verbs.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- verbs
|
|
type: object
|
|
type: array
|
|
readinessProbe:
|
|
description: ReadinessProbe represents the readiness probe for the
|
|
fluentd container.
|
|
properties:
|
|
exec:
|
|
description: Exec specifies the action to take.
|
|
properties:
|
|
command:
|
|
description: |-
|
|
Command is the command line to execute inside the container, the working directory for the
|
|
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
|
|
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
|
|
a shell, you need to explicitly call out to that shell.
|
|
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
description: |-
|
|
Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
Defaults to 3. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
description: GRPC specifies an action involving a GRPC port.
|
|
properties:
|
|
port:
|
|
description: Port number of the gRPC service. Number must
|
|
be in the range 1 to 65535.
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
description: |-
|
|
Service is the name of the service to place in the gRPC HealthCheckRequest
|
|
(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
|
|
|
|
|
|
If this is not specified, the default behavior is defined by gRPC.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
description: HTTPGet specifies the http request to perform.
|
|
properties:
|
|
host:
|
|
description: |-
|
|
Host name to connect to, defaults to the pod IP. You probably want to set
|
|
"Host" in httpHeaders instead.
|
|
type: string
|
|
httpHeaders:
|
|
description: Custom headers to set in the request. HTTP allows
|
|
repeated headers.
|
|
items:
|
|
description: HTTPHeader describes a custom header to be
|
|
used in HTTP probes
|
|
properties:
|
|
name:
|
|
description: |-
|
|
The header field name.
|
|
This will be canonicalized upon output, so case-variant names will be understood as the same header.
|
|
type: string
|
|
value:
|
|
description: The header field value
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Name or number of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: |-
|
|
Scheme to use for connecting to the host.
|
|
Defaults to HTTP.
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
description: |-
|
|
Number of seconds after the container has started before liveness probes are initiated.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: |-
|
|
How often (in seconds) to perform the probe.
|
|
Default to 10 seconds. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
description: |-
|
|
Minimum consecutive successes for the probe to be considered successful after having failed.
|
|
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: TCPSocket specifies an action involving a TCP port.
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect to, defaults
|
|
to the pod IP.'
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
Number or name of the port to access on the container.
|
|
Number must be in the range 1 to 65535.
|
|
Name must be an IANA_SVC_NAME.
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
description: |-
|
|
Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
The grace period is the duration in seconds after the processes running in the pod are sent
|
|
a termination signal and the time when the processes are forcibly halted with a kill signal.
|
|
Set this value longer than the expected cleanup time for your process.
|
|
If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
|
|
value overrides the value provided by the pod spec.
|
|
Value must be non-negative integer. The value zero indicates stop immediately via
|
|
the kill signal (no opportunity to shut down).
|
|
This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
|
|
Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
description: |-
|
|
Number of seconds after which the probe times out.
|
|
Defaults to 1 second. Minimum value is 1.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
replicas:
|
|
description: |-
|
|
Numbers of the Fluentd instance
|
|
Applicable when the mode is "collector", and will be ignored when the mode is "agent"
|
|
format: int32
|
|
type: integer
|
|
resources:
|
|
description: Compute Resources required by container.
|
|
properties:
|
|
claims:
|
|
description: |-
|
|
Claims lists the names of resources, defined in spec.resourceClaims,
|
|
that are used by this container.
|
|
|
|
|
|
This is an alpha field and requires enabling the
|
|
DynamicResourceAllocation feature gate.
|
|
|
|
|
|
This field is immutable. It can only be set for containers.
|
|
items:
|
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
|
properties:
|
|
name:
|
|
description: |-
|
|
Name must match the name of one entry in pod.spec.resourceClaims of
|
|
the Pod where this field is used. It makes that resource available
|
|
inside a container.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
runtimeClassName:
|
|
description: RuntimeClassName represents the container runtime configuration.
|
|
type: string
|
|
schedulerName:
|
|
description: SchedulerName represents the desired scheduler for fluentd
|
|
pods.
|
|
type: string
|
|
securityContext:
|
|
description: PodSecurityContext represents the security context for
|
|
the fluentd pods.
|
|
properties:
|
|
appArmorProfile:
|
|
description: |-
|
|
appArmorProfile is the AppArmor options to use by the containers in this pod.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile loaded on the node that should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must match the loaded name of the profile.
|
|
Must be set if and only if type is "Localhost".
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of AppArmor profile will be applied.
|
|
Valid options are:
|
|
Localhost - a profile pre-loaded on the node.
|
|
RuntimeDefault - the container runtime's default profile.
|
|
Unconfined - no AppArmor enforcement.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
description: |-
|
|
A special supplemental group that applies to all containers in a pod.
|
|
Some volume types allow the Kubelet to change the ownership of that volume
|
|
to be owned by the pod:
|
|
|
|
|
|
1. The owning GID will be the FSGroup
|
|
2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
|
|
3. The permission bits are OR'd with rw-rw----
|
|
|
|
|
|
If unset, the Kubelet will not modify the ownership and permissions of any volume.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
description: |-
|
|
fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
|
|
before being exposed inside Pod. This field will only apply to
|
|
volume types which support fsGroup based ownership(and permissions).
|
|
It will have no effect on ephemeral volume types such as: secret, configmaps
|
|
and emptydir.
|
|
Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
type: string
|
|
runAsGroup:
|
|
description: |-
|
|
The GID to run the entrypoint of the container process.
|
|
Uses runtime default if unset.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence
|
|
for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
description: |-
|
|
Indicates that the container must run as a non-root user.
|
|
If true, the Kubelet will validate the image at runtime to ensure that it
|
|
does not run as UID 0 (root) and fail to start the container if it does.
|
|
If unset or false, no such validation will be performed.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: boolean
|
|
runAsUser:
|
|
description: |-
|
|
The UID to run the entrypoint of the container process.
|
|
Defaults to user specified in image metadata if unspecified.
|
|
May also be set in SecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence
|
|
for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
description: |-
|
|
The SELinux context to be applied to all containers.
|
|
If unspecified, the container runtime will allocate a random SELinux context for each
|
|
container. May also be set in SecurityContext. If set in
|
|
both SecurityContext and PodSecurityContext, the value specified in SecurityContext
|
|
takes precedence for that container.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
level:
|
|
description: Level is SELinux level label that applies to
|
|
the container.
|
|
type: string
|
|
role:
|
|
description: Role is a SELinux role label that applies to
|
|
the container.
|
|
type: string
|
|
type:
|
|
description: Type is a SELinux type label that applies to
|
|
the container.
|
|
type: string
|
|
user:
|
|
description: User is a SELinux user label that applies to
|
|
the container.
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
description: |-
|
|
The seccomp options to use by the containers in this pod.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of seccomp profile will be applied.
|
|
Valid options are:
|
|
|
|
|
|
Localhost - a profile defined in a file on the node should be used.
|
|
RuntimeDefault - the container runtime default profile should be used.
|
|
Unconfined - no profile should be applied.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
description: |-
|
|
A list of groups applied to the first process run in each container, in addition
|
|
to the container's primary GID, the fsGroup (if specified), and group memberships
|
|
defined in the container image for the uid of the container process. If unspecified,
|
|
no additional groups are added to any container. Note that group memberships
|
|
defined in the container image for the uid of the container process are still effective,
|
|
even if they are not included in this list.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
sysctls:
|
|
description: |-
|
|
Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
|
|
sysctls (by the container runtime) might fail to launch.
|
|
Note that this field cannot be set when spec.os.name is windows.
|
|
items:
|
|
description: Sysctl defines a kernel parameter to be set
|
|
properties:
|
|
name:
|
|
description: Name of a property to set
|
|
type: string
|
|
value:
|
|
description: Value of a property to set
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
windowsOptions:
|
|
description: |-
|
|
The Windows specific settings applied to all containers.
|
|
If unspecified, the options within a container's SecurityContext will be used.
|
|
If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
Note that this field cannot be set when spec.os.name is linux.
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
description: |-
|
|
GMSACredentialSpec is where the GMSA admission webhook
|
|
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
|
GMSA credential spec named by the GMSACredentialSpecName field.
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
description: GMSACredentialSpecName is the name of the GMSA
|
|
credential spec to use.
|
|
type: string
|
|
hostProcess:
|
|
description: |-
|
|
HostProcess determines if a container should be run as a 'Host Process' container.
|
|
All of a Pod's containers must have the same effective HostProcess value
|
|
(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
|
|
In addition, if HostProcess is true then HostNetwork must also be set to true.
|
|
type: boolean
|
|
runAsUserName:
|
|
description: |-
|
|
The UserName in Windows to run the entrypoint of the container process.
|
|
Defaults to the user specified in image metadata if unspecified.
|
|
May also be set in PodSecurityContext. If set in both SecurityContext and
|
|
PodSecurityContext, the value specified in SecurityContext takes precedence.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
service:
|
|
description: Service represents configurations on the fluentd service.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to each FluentD service.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to add to each FluentD service
|
|
type: object
|
|
name:
|
|
description: Name is the name of the FluentD service.
|
|
type: string
|
|
type: object
|
|
serviceAccountAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to add to the Fluentd service account
|
|
type: object
|
|
tolerations:
|
|
description: Tolerations
|
|
items:
|
|
description: |-
|
|
The pod this Toleration is attached to tolerates any taint that matches
|
|
the triple <key,value,effect> using the matching operator <operator>.
|
|
properties:
|
|
effect:
|
|
description: |-
|
|
Effect indicates the taint effect to match. Empty means match all taint effects.
|
|
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
|
type: string
|
|
key:
|
|
description: |-
|
|
Key is the taint key that the toleration applies to. Empty means match all taint keys.
|
|
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Operator represents a key's relationship to the value.
|
|
Valid operators are Exists and Equal. Defaults to Equal.
|
|
Exists is equivalent to wildcard for value, so that a pod can
|
|
tolerate all taints of a particular category.
|
|
type: string
|
|
tolerationSeconds:
|
|
description: |-
|
|
TolerationSeconds represents the period of time the toleration (which must be
|
|
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
|
|
it is not set, which means tolerate the taint forever (do not evict). Zero and
|
|
negative values will be treated as 0 (evict immediately) by the system.
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
description: |-
|
|
Value is the taint value the toleration matches to.
|
|
If the operator is Exists, the value should be empty, otherwise just a regular string.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
volumeClaimTemplates:
|
|
description: |-
|
|
volumeClaimTemplates is a list of claims that pods are allowed to reference.
|
|
The StatefulSet controller is responsible for mapping network identities to
|
|
claims in a way that maintains the identity of a pod. Every claim in
|
|
this list must have at least one matching (by name) volumeMount in one
|
|
container in the template.
|
|
Applicable when the mode is "collector", and will be ignored when the mode is "agent"
|
|
items:
|
|
description: PersistentVolumeClaim is a user's request for and claim
|
|
to a persistent volume
|
|
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:
|
|
description: |-
|
|
Standard object's metadata.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
spec defines the desired characteristics of a volume requested by a pod author.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over volumes to consider
|
|
for binding.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference to the
|
|
PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
status:
|
|
description: |-
|
|
status represents the current information/status of a persistent volume claim.
|
|
Read-only.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the actual access modes the volume backing the PVC has.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
allocatedResourceStatuses:
|
|
additionalProperties:
|
|
description: |-
|
|
When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource
|
|
that it does not recognizes, then it should ignore that update and let other controllers
|
|
handle it.
|
|
type: string
|
|
description: "allocatedResourceStatuses stores status of
|
|
resource being resized for the given PVC.\nKey names follow
|
|
standard Kubernetes label syntax. Valid values are either:\n\t*
|
|
Un-prefixed keys:\n\t\t- storage - the capacity of the
|
|
volume.\n\t* Custom resources must use implementation-defined
|
|
prefixed names such as \"example.com/my-custom-resource\"\nApart
|
|
from above values - keys that are unprefixed or have kubernetes.io
|
|
prefix are considered\nreserved and hence may not be used.\n\n\nClaimResourceStatus
|
|
can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState
|
|
set when resize controller starts resizing the volume
|
|
in control-plane.\n\t- ControllerResizeFailed:\n\t\tState
|
|
set when resize has failed in resize controller with a
|
|
terminal error.\n\t- NodeResizePending:\n\t\tState set
|
|
when resize controller has finished resizing the volume
|
|
but further resizing of\n\t\tvolume is needed on the node.\n\t-
|
|
NodeResizeInProgress:\n\t\tState set when kubelet starts
|
|
resizing the volume.\n\t- NodeResizeFailed:\n\t\tState
|
|
set when resizing has failed in kubelet with a terminal
|
|
error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor
|
|
example: if expanding a PVC for more capacity - this field
|
|
can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage']
|
|
= \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage']
|
|
= \"NodeResizeFailed\"\nWhen this field is not set, it
|
|
means that no resize operation is in progress for the
|
|
given PVC.\n\n\nA controller that receives PVC update
|
|
with previously unknown resourceName or ClaimResourceStatus\nshould
|
|
ignore the update for the purpose it was designed. For
|
|
example - a controller that\nonly is responsible for resizing
|
|
capacity of the volume, should ignore PVC updates that
|
|
change other valid\nresources associated with PVC.\n\n\nThis
|
|
is an alpha field and requires enabling RecoverVolumeExpansionFailure
|
|
feature."
|
|
type: object
|
|
x-kubernetes-map-type: granular
|
|
allocatedResources:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: "allocatedResources tracks the resources allocated
|
|
to a PVC including its capacity.\nKey names follow standard
|
|
Kubernetes label syntax. Valid values are either:\n\t*
|
|
Un-prefixed keys:\n\t\t- storage - the capacity of the
|
|
volume.\n\t* Custom resources must use implementation-defined
|
|
prefixed names such as \"example.com/my-custom-resource\"\nApart
|
|
from above values - keys that are unprefixed or have kubernetes.io
|
|
prefix are considered\nreserved and hence may not be used.\n\n\nCapacity
|
|
reported here may be larger than the actual capacity when
|
|
a volume expansion operation\nis requested.\nFor storage
|
|
quota, the larger value from allocatedResources and PVC.spec.resources
|
|
is used.\nIf allocatedResources is not set, PVC.spec.resources
|
|
alone is used for quota calculation.\nIf a volume expansion
|
|
capacity request is lowered, allocatedResources is only\nlowered
|
|
if there are no expansion operations in progress and if
|
|
the actual volume capacity\nis equal or lower than the
|
|
requested capacity.\n\n\nA controller that receives PVC
|
|
update with previously unknown resourceName\nshould ignore
|
|
the update for the purpose it was designed. For example
|
|
- a controller that\nonly is responsible for resizing
|
|
capacity of the volume, should ignore PVC updates that
|
|
change other valid\nresources associated with PVC.\n\n\nThis
|
|
is an alpha field and requires enabling RecoverVolumeExpansionFailure
|
|
feature."
|
|
type: object
|
|
capacity:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: capacity represents the actual resources of
|
|
the underlying volume.
|
|
type: object
|
|
conditions:
|
|
description: |-
|
|
conditions is the current Condition of persistent volume claim. If underlying persistent volume is being
|
|
resized then the Condition will be set to 'Resizing'.
|
|
items:
|
|
description: PersistentVolumeClaimCondition contains details
|
|
about state of pvc
|
|
properties:
|
|
lastProbeTime:
|
|
description: lastProbeTime is the time we probed the
|
|
condition.
|
|
format: date-time
|
|
type: string
|
|
lastTransitionTime:
|
|
description: lastTransitionTime is the time the condition
|
|
transitioned from one status to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: message is the human-readable message
|
|
indicating details about last transition.
|
|
type: string
|
|
reason:
|
|
description: |-
|
|
reason is a unique, this should be a short, machine understandable string that gives the reason
|
|
for condition's last transition. If it reports "Resizing" that means the underlying
|
|
persistent volume is being resized.
|
|
type: string
|
|
status:
|
|
type: string
|
|
type:
|
|
description: PersistentVolumeClaimConditionType is
|
|
a valid value of PersistentVolumeClaimCondition.Type
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- type
|
|
x-kubernetes-list-type: map
|
|
currentVolumeAttributesClassName:
|
|
description: |-
|
|
currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
|
|
When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
|
|
This is an alpha field and requires enabling VolumeAttributesClass feature.
|
|
type: string
|
|
modifyVolumeStatus:
|
|
description: |-
|
|
ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
|
|
When this is unset, there is no ModifyVolume operation being attempted.
|
|
This is an alpha field and requires enabling VolumeAttributesClass feature.
|
|
properties:
|
|
status:
|
|
description: "status is the status of the ControllerModifyVolume
|
|
operation. It can be in any of following states:\n
|
|
- Pending\n Pending indicates that the PersistentVolumeClaim
|
|
cannot be modified due to unmet requirements, such
|
|
as\n the specified VolumeAttributesClass not existing.\n
|
|
- InProgress\n InProgress indicates that the volume
|
|
is being modified.\n - Infeasible\n Infeasible indicates
|
|
that the request has been rejected as invalid by the
|
|
CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass
|
|
needs to be specified.\nNote: New statuses can be
|
|
added in the future. Consumers should check for unknown
|
|
statuses and fail appropriately."
|
|
type: string
|
|
targetVolumeAttributesClassName:
|
|
description: targetVolumeAttributesClassName is the
|
|
name of the VolumeAttributesClass the PVC currently
|
|
being reconciled
|
|
type: string
|
|
required:
|
|
- status
|
|
type: object
|
|
phase:
|
|
description: phase represents the current phase of PersistentVolumeClaim.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
volumeMounts:
|
|
description: Pod volumes to mount into the container's filesystem.
|
|
Cannot be updated.
|
|
items:
|
|
description: VolumeMount describes a mounting of a Volume within
|
|
a container.
|
|
properties:
|
|
mountPath:
|
|
description: |-
|
|
Path within the container at which the volume should be mounted. Must
|
|
not contain ':'.
|
|
type: string
|
|
mountPropagation:
|
|
description: |-
|
|
mountPropagation determines how mounts are propagated from the host
|
|
to container and the other way around.
|
|
When not set, MountPropagationNone is used.
|
|
This field is beta in 1.10.
|
|
When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
|
|
(which defaults to None).
|
|
type: string
|
|
name:
|
|
description: This must match the Name of a Volume.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
Mounted read-only if true, read-write otherwise (false or unspecified).
|
|
Defaults to false.
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
description: |-
|
|
RecursiveReadOnly specifies whether read-only mounts should be handled
|
|
recursively.
|
|
|
|
|
|
If ReadOnly is false, this field has no meaning and must be unspecified.
|
|
|
|
|
|
If ReadOnly is true, and this field is set to Disabled, the mount is not made
|
|
recursively read-only. If this field is set to IfPossible, the mount is made
|
|
recursively read-only, if it is supported by the container runtime. If this
|
|
field is set to Enabled, the mount is made recursively read-only if it is
|
|
supported by the container runtime, otherwise the pod will not be started and
|
|
an error will be generated to indicate the reason.
|
|
|
|
|
|
If this field is set to IfPossible or Enabled, MountPropagation must be set to
|
|
None (or be unspecified, which defaults to None).
|
|
|
|
|
|
If this field is not specified, it is treated as an equivalent of Disabled.
|
|
type: string
|
|
subPath:
|
|
description: |-
|
|
Path within the volume from which the container's volume should be mounted.
|
|
Defaults to "" (volume's root).
|
|
type: string
|
|
subPathExpr:
|
|
description: |-
|
|
Expanded path within the volume from which the container's volume should be mounted.
|
|
Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
|
|
Defaults to "" (volume's root).
|
|
SubPathExpr and SubPath are mutually exclusive.
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
volumes:
|
|
description: List of volumes that can be mounted by containers belonging
|
|
to the pod.
|
|
items:
|
|
description: Volume represents a named volume in a pod that may
|
|
be accessed by any container in the pod.
|
|
properties:
|
|
awsElasticBlockStore:
|
|
description: |-
|
|
awsElasticBlockStore represents an AWS Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly value true will force the readOnly setting in VolumeMounts.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: boolean
|
|
volumeID:
|
|
description: |-
|
|
volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
description: azureDisk represents an Azure Data Disk mount on
|
|
the host and bind mount to the pod.
|
|
properties:
|
|
cachingMode:
|
|
description: 'cachingMode is the Host Caching mode: None,
|
|
Read Only, Read Write.'
|
|
type: string
|
|
diskName:
|
|
description: diskName is the Name of the data disk in the
|
|
blob storage
|
|
type: string
|
|
diskURI:
|
|
description: diskURI is the URI of data disk in the blob
|
|
storage
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is Filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
kind:
|
|
description: 'kind expected values are Shared: multiple
|
|
blob disks per storage account Dedicated: single blob
|
|
disk per storage account Managed: azure managed data
|
|
disk (only in managed availability set). defaults to shared'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
description: azureFile represents an Azure File Service mount
|
|
on the host and bind mount to the pod.
|
|
properties:
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretName:
|
|
description: secretName is the name of secret that contains
|
|
Azure Storage Account Name and Key
|
|
type: string
|
|
shareName:
|
|
description: shareName is the azure share Name
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
description: cephFS represents a Ceph FS mount on the host that
|
|
shares a pod's lifetime
|
|
properties:
|
|
monitors:
|
|
description: |-
|
|
monitors is Required: Monitors is a collection of Ceph monitors
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
description: 'path is Optional: Used as the mounted root,
|
|
rather than the full Ceph tree, default is /'
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: boolean
|
|
secretFile:
|
|
description: |-
|
|
secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is optional: User is the rados user name, default is admin
|
|
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
description: |-
|
|
cinder represents a cinder volume attached and mounted on kubelets host machine.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is optional: points to a secret object containing parameters used to connect
|
|
to OpenStack.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
description: |-
|
|
volumeID used to identify the volume in cinder.
|
|
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
description: configMap represents a configMap that should populate
|
|
this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap or its
|
|
keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
description: csi (Container Storage Interface) represents ephemeral
|
|
storage that is handled by certain external CSI drivers (Beta
|
|
feature).
|
|
properties:
|
|
driver:
|
|
description: |-
|
|
driver is the name of the CSI driver that handles this volume.
|
|
Consult with your admin for the correct name as registered in the cluster.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType to mount. Ex. "ext4", "xfs", "ntfs".
|
|
If not provided, the empty value is passed to the associated CSI driver
|
|
which will determine the default filesystem to apply.
|
|
type: string
|
|
nodePublishSecretRef:
|
|
description: |-
|
|
nodePublishSecretRef is a reference to the secret object containing
|
|
sensitive information to pass to the CSI driver to complete the CSI
|
|
NodePublishVolume and NodeUnpublishVolume calls.
|
|
This field is optional, and may be empty if no secret is required. If the
|
|
secret object contains more than one secret, all secret references are passed.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly specifies a read-only configuration for the volume.
|
|
Defaults to false (read/write).
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
volumeAttributes stores driver-specific properties that are passed to the CSI
|
|
driver. Consult your driver's documentation for supported values.
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
description: downwardAPI represents downward API about the pod
|
|
that should populate this volume
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
Optional: mode bits to use on created files by default. Must be a
|
|
Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: Items is a list of downward API volume file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents information
|
|
to create the file containing the pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field of the pod:
|
|
only annotations, labels, name, namespace and uid
|
|
are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative path
|
|
name of the file to be created. Must not be absolute
|
|
or contain the ''..'' path. Must be utf-8 encoded.
|
|
The first item of the relative path must not start
|
|
with ''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
description: |-
|
|
emptyDir represents a temporary directory that shares a pod's lifetime.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
properties:
|
|
medium:
|
|
description: |-
|
|
medium represents what type of storage medium should back this directory.
|
|
The default is "" which means to use the node's default medium.
|
|
Must be an empty string (default) or Memory.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
sizeLimit is the total amount of local storage required for this EmptyDir volume.
|
|
The size limit is also applicable for memory medium.
|
|
The maximum usage on memory medium EmptyDir would be the minimum value between
|
|
the SizeLimit specified here and the sum of memory limits of all containers in a pod.
|
|
The default is nil which means that the limit is undefined.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
description: |-
|
|
ephemeral represents a volume that is handled by a cluster storage driver.
|
|
The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
|
|
and deleted when the pod is removed.
|
|
|
|
|
|
Use this if:
|
|
a) the volume is only needed while the pod runs,
|
|
b) features of normal volumes like restoring from snapshot or capacity
|
|
tracking are needed,
|
|
c) the storage driver is specified through a storage class, and
|
|
d) the storage driver supports dynamic volume provisioning through
|
|
a PersistentVolumeClaim (see EphemeralVolumeSource for more
|
|
information on the connection between this volume type
|
|
and PersistentVolumeClaim).
|
|
|
|
|
|
Use PersistentVolumeClaim or one of the vendor-specific
|
|
APIs for volumes that persist for longer than the lifecycle
|
|
of an individual pod.
|
|
|
|
|
|
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
|
|
be used that way - see the documentation of the driver for
|
|
more information.
|
|
|
|
|
|
A pod can use both types of ephemeral volumes and
|
|
persistent volumes at the same time.
|
|
properties:
|
|
volumeClaimTemplate:
|
|
description: |-
|
|
Will be used to create a stand-alone PVC to provision the volume.
|
|
The pod in which this EphemeralVolumeSource is embedded will be the
|
|
owner of the PVC, i.e. the PVC will be deleted together with the
|
|
pod. The name of the PVC will be `<pod name>-<volume name>` where
|
|
`<volume name>` is the name from the `PodSpec.Volumes` array
|
|
entry. Pod validation will reject the pod if the concatenated name
|
|
is not valid for a PVC (for example, too long).
|
|
|
|
|
|
An existing PVC with that name that is not owned by the pod
|
|
will *not* be used for the pod to avoid using an unrelated
|
|
volume by mistake. Starting the pod is then blocked until
|
|
the unrelated PVC is removed. If such a pre-created PVC is
|
|
meant to be used by the pod, the PVC has to updated with an
|
|
owner reference to the pod once the pod exists. Normally
|
|
this should not be necessary, but it may be useful when
|
|
manually reconstructing a broken cluster.
|
|
|
|
|
|
This field is read-only and no changes will be made by Kubernetes
|
|
to the PVC after it has been created.
|
|
|
|
|
|
Required, must not be nil.
|
|
properties:
|
|
metadata:
|
|
description: |-
|
|
May contain labels and annotations that will be copied into the PVC
|
|
when creating it. No other fields are allowed and will be rejected during
|
|
validation.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
The specification for the PersistentVolumeClaim. The entire content is
|
|
copied unchanged into the PVC that gets created from this
|
|
template. The same fields as in a PersistentVolumeClaim
|
|
are also valid here.
|
|
properties:
|
|
accessModes:
|
|
description: |-
|
|
accessModes contains the desired access modes the volume should have.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
description: |-
|
|
dataSource field can be used to specify either:
|
|
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
|
|
* An existing PVC (PersistentVolumeClaim)
|
|
If the provisioner or an external controller can support the specified data source,
|
|
it will create a new volume based on the contents of the specified data source.
|
|
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
|
|
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
|
|
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
description: |-
|
|
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
|
|
volume is desired. This may be any object from a non-empty API group (non
|
|
core object) or a PersistentVolumeClaim object.
|
|
When this field is specified, volume binding will only succeed if the type of
|
|
the specified object matches some installed volume populator or dynamic
|
|
provisioner.
|
|
This field will replace the functionality of the dataSource field and as such
|
|
if both fields are non-empty, they must have the same value. For backwards
|
|
compatibility, when namespace isn't specified in dataSourceRef,
|
|
both fields (dataSource and dataSourceRef) will be set to the same
|
|
value automatically if one of them is empty and the other is non-empty.
|
|
When namespace is specified in dataSourceRef,
|
|
dataSource isn't set to the same value and must be empty.
|
|
There are three important differences between dataSource and dataSourceRef:
|
|
* While dataSource only allows two specific types of objects, dataSourceRef
|
|
allows any non-core object, as well as PersistentVolumeClaim objects.
|
|
* While dataSource ignores disallowed values (dropping them), dataSourceRef
|
|
preserves all values, and generates an error if a disallowed value is
|
|
specified.
|
|
* While dataSource only allows local objects, dataSourceRef allows objects
|
|
in any namespaces.
|
|
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
|
|
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being
|
|
referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being
|
|
referenced
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace is the namespace of resource being referenced
|
|
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
|
|
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
resources represents the minimum resources the volume should have.
|
|
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
|
|
that are lower than previous value but must still be higher than capacity recorded in the
|
|
status field of the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: selector is a label query over volumes
|
|
to consider for binding.
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
storageClassName:
|
|
description: |-
|
|
storageClassName is the name of the StorageClass required by the claim.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
|
|
type: string
|
|
volumeAttributesClassName:
|
|
description: |-
|
|
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
|
|
If specified, the CSI driver will create or update the volume with the attributes defined
|
|
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
|
|
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
|
|
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
|
|
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
|
|
will be set by the persistentvolume controller if it exists.
|
|
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
|
|
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
|
|
exists.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
|
|
(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
|
|
type: string
|
|
volumeMode:
|
|
description: |-
|
|
volumeMode defines what type of volume is required by the claim.
|
|
Value of Filesystem is implied when not included in claim spec.
|
|
type: string
|
|
volumeName:
|
|
description: volumeName is the binding reference
|
|
to the PersistentVolume backing this claim.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
description: fc represents a Fibre Channel resource that is
|
|
attached to a kubelet's host machine and then exposed to the
|
|
pod.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
lun:
|
|
description: 'lun is Optional: FC target lun number'
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
targetWWNs:
|
|
description: 'targetWWNs is Optional: FC target worldwide
|
|
names (WWNs)'
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
description: |-
|
|
wwids Optional: FC volume world wide identifiers (wwids)
|
|
Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
description: |-
|
|
flexVolume represents a generic volume resource that is
|
|
provisioned/attached using an exec based plugin.
|
|
properties:
|
|
driver:
|
|
description: driver is the name of the driver to use for
|
|
this volume.
|
|
type: string
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'options is Optional: this field holds extra
|
|
command options if any.'
|
|
type: object
|
|
readOnly:
|
|
description: |-
|
|
readOnly is Optional: defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is Optional: secretRef is reference to the secret object containing
|
|
sensitive information to pass to the plugin scripts. This may be
|
|
empty if no secret object is specified. If the secret object
|
|
contains more than one secret, all secrets are passed to the plugin
|
|
scripts.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
description: flocker represents a Flocker volume attached to
|
|
a kubelet's host machine. This depends on the Flocker control
|
|
service being running
|
|
properties:
|
|
datasetName:
|
|
description: |-
|
|
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
|
|
should be considered as deprecated
|
|
type: string
|
|
datasetUUID:
|
|
description: datasetUUID is the UUID of the dataset. This
|
|
is unique identifier of a Flocker dataset
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
description: |-
|
|
gcePersistentDisk represents a GCE Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
partition:
|
|
description: |-
|
|
partition is the partition in the volume that you want to mount.
|
|
If omitted, the default is to mount by volume name.
|
|
Examples: For volume /dev/sda1, you specify the partition as "1".
|
|
Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
description: |-
|
|
pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
description: |-
|
|
gitRepo represents a git repository at a particular revision.
|
|
DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
|
|
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
|
|
into the Pod's container.
|
|
properties:
|
|
directory:
|
|
description: |-
|
|
directory is the target directory name.
|
|
Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
|
|
git repository. Otherwise, if specified, the volume will contain the git repository in
|
|
the subdirectory with the given name.
|
|
type: string
|
|
repository:
|
|
description: repository is the URL
|
|
type: string
|
|
revision:
|
|
description: revision is the commit hash for the specified
|
|
revision.
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
description: |-
|
|
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md
|
|
properties:
|
|
endpoints:
|
|
description: |-
|
|
endpoints is the endpoint name that details Glusterfs topology.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
path:
|
|
description: |-
|
|
path is the Glusterfs volume path.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
description: |-
|
|
hostPath represents a pre-existing file or directory on the host
|
|
machine that is directly exposed to the container. This is generally
|
|
used for system agents or other privileged things that are allowed
|
|
to see the host machine. Most containers will NOT need this.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
---
|
|
TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
|
|
mount host directories as read/write.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path of the directory on the host.
|
|
If the path is a symlink, it will follow the link to the real path.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type for HostPath Volume
|
|
Defaults to ""
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
iscsi:
|
|
description: |-
|
|
iscsi represents an ISCSI Disk resource that is attached to a
|
|
kubelet's host machine and then exposed to the pod.
|
|
More info: https://examples.k8s.io/volumes/iscsi/README.md
|
|
properties:
|
|
chapAuthDiscovery:
|
|
description: chapAuthDiscovery defines whether support iSCSI
|
|
Discovery CHAP authentication
|
|
type: boolean
|
|
chapAuthSession:
|
|
description: chapAuthSession defines whether support iSCSI
|
|
Session CHAP authentication
|
|
type: boolean
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
initiatorName:
|
|
description: |-
|
|
initiatorName is the custom iSCSI Initiator Name.
|
|
If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
|
|
<target portal>:<volume name> will be created for the connection.
|
|
type: string
|
|
iqn:
|
|
description: iqn is the target iSCSI Qualified Name.
|
|
type: string
|
|
iscsiInterface:
|
|
description: |-
|
|
iscsiInterface is the interface Name that uses an iSCSI transport.
|
|
Defaults to 'default' (tcp).
|
|
type: string
|
|
lun:
|
|
description: lun represents iSCSI Target Lun number.
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
description: |-
|
|
portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
type: boolean
|
|
secretRef:
|
|
description: secretRef is the CHAP Secret for iSCSI target
|
|
and initiator authentication
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
description: |-
|
|
targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
|
|
is other than default (typically TCP ports 860 and 3260).
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
description: |-
|
|
name of the volume.
|
|
Must be a DNS_LABEL and unique within the pod.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
nfs:
|
|
description: |-
|
|
nfs represents an NFS mount on the host that shares a pod's lifetime
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
properties:
|
|
path:
|
|
description: |-
|
|
path that is exported by the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the NFS export to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: boolean
|
|
server:
|
|
description: |-
|
|
server is the hostname or IP address of the NFS server.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
description: |-
|
|
persistentVolumeClaimVolumeSource represents a reference to a
|
|
PersistentVolumeClaim in the same namespace.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
properties:
|
|
claimName:
|
|
description: |-
|
|
claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Will force the ReadOnly setting in VolumeMounts.
|
|
Default false.
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
description: photonPersistentDisk represents a PhotonController
|
|
persistent disk attached and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
pdID:
|
|
description: pdID is the ID that identifies Photon Controller
|
|
persistent disk
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
description: portworxVolume represents a portworx volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fSType represents the filesystem type to mount
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
volumeID:
|
|
description: volumeID uniquely identifies a Portworx volume
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
description: projected items for all in one resources secrets,
|
|
configmaps, and downward API
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode are the mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
description: sources is the list of volume projections
|
|
items:
|
|
description: Projection that may be projected along with
|
|
other supported volume types
|
|
properties:
|
|
clusterTrustBundle:
|
|
description: |-
|
|
ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
|
|
of ClusterTrustBundle objects in an auto-updating file.
|
|
|
|
|
|
Alpha, gated by the ClusterTrustBundleProjection feature gate.
|
|
|
|
|
|
ClusterTrustBundle objects can either be selected by name, or by the
|
|
combination of signer name and a label selector.
|
|
|
|
|
|
Kubelet performs aggressive normalization of the PEM contents written
|
|
into the pod filesystem. Esoteric PEM features such as inter-block
|
|
comments and block headers are stripped. Certificates are deduplicated.
|
|
The ordering of certificates within the file is arbitrary, and Kubelet
|
|
may change the order over time.
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this label selector. Only has
|
|
effect if signerName is set. Mutually-exclusive with name. If unset,
|
|
interpreted as "match nothing". If set but empty, interpreted as "match
|
|
everything".
|
|
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
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
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
|
|
name:
|
|
description: |-
|
|
Select a single ClusterTrustBundle by object name. Mutually-exclusive
|
|
with signerName and labelSelector.
|
|
type: string
|
|
optional:
|
|
description: |-
|
|
If true, don't block pod startup if the referenced ClusterTrustBundle(s)
|
|
aren't available. If using name, then the named ClusterTrustBundle is
|
|
allowed not to exist. If using signerName, then the combination of
|
|
signerName and labelSelector is allowed to match zero
|
|
ClusterTrustBundles.
|
|
type: boolean
|
|
path:
|
|
description: Relative path from the volume root
|
|
to write the bundle.
|
|
type: string
|
|
signerName:
|
|
description: |-
|
|
Select all ClusterTrustBundles that match this signer name.
|
|
Mutually-exclusive with name. The contents of all selected
|
|
ClusterTrustBundles will be unified and deduplicated.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
description: configMap information about the configMap
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
ConfigMap will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the ConfigMap,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional specify whether the ConfigMap
|
|
or its keys must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
description: downwardAPI information about the downwardAPI
|
|
data to project
|
|
properties:
|
|
items:
|
|
description: Items is a list of DownwardAPIVolume
|
|
file
|
|
items:
|
|
description: DownwardAPIVolumeFile represents
|
|
information to create the file containing
|
|
the pod field
|
|
properties:
|
|
fieldRef:
|
|
description: 'Required: Selects a field
|
|
of the pod: only annotations, labels,
|
|
name, namespace and uid are supported.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the
|
|
FieldPath is written in terms of,
|
|
defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select
|
|
in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
description: |-
|
|
Optional: mode bits used to set permissions on this file, must be an octal value
|
|
between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: 'Required: Path is the relative
|
|
path name of the file to be created. Must
|
|
not be absolute or contain the ''..''
|
|
path. Must be utf-8 encoded. The first
|
|
item of the relative path must not start
|
|
with ''..'''
|
|
type: string
|
|
resourceFieldRef:
|
|
description: |-
|
|
Selects a resource of the container: only resources limits and requests
|
|
(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format
|
|
of the exposed resources, defaults
|
|
to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to
|
|
select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
secret:
|
|
description: secret information about the secret data
|
|
to project
|
|
properties:
|
|
items:
|
|
description: |-
|
|
items if unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within
|
|
a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
optional:
|
|
description: optional field specify whether the
|
|
Secret or its key must be defined
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
description: serviceAccountToken is information about
|
|
the serviceAccountToken data to project
|
|
properties:
|
|
audience:
|
|
description: |-
|
|
audience is the intended audience of the token. A recipient of a token
|
|
must identify itself with an identifier specified in the audience of the
|
|
token, and otherwise should reject the token. The audience defaults to the
|
|
identifier of the apiserver.
|
|
type: string
|
|
expirationSeconds:
|
|
description: |-
|
|
expirationSeconds is the requested duration of validity of the service
|
|
account token. As the token approaches expiration, the kubelet volume
|
|
plugin will proactively rotate the service account token. The kubelet will
|
|
start trying to rotate the token if the token is older than 80 percent of
|
|
its time to live or if the token is older than 24 hours.Defaults to 1 hour
|
|
and must be at least 10 minutes.
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the path relative to the mount point of the file to project the
|
|
token into.
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
description: quobyte represents a Quobyte mount on the host
|
|
that shares a pod's lifetime
|
|
properties:
|
|
group:
|
|
description: |-
|
|
group to map volume access to
|
|
Default is no group
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the Quobyte volume to be mounted with read-only permissions.
|
|
Defaults to false.
|
|
type: boolean
|
|
registry:
|
|
description: |-
|
|
registry represents a single or multiple Quobyte Registry services
|
|
specified as a string as host:port pair (multiple entries are separated with commas)
|
|
which acts as the central registry for volumes
|
|
type: string
|
|
tenant:
|
|
description: |-
|
|
tenant owning the given Quobyte volume in the Backend
|
|
Used with dynamically provisioned Quobyte volumes, value is set by the plugin
|
|
type: string
|
|
user:
|
|
description: |-
|
|
user to map volume access to
|
|
Defaults to serivceaccount user
|
|
type: string
|
|
volume:
|
|
description: volume is a string that references an already
|
|
created Quobyte volume by name.
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
description: |-
|
|
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type of the volume that you want to mount.
|
|
Tip: Ensure that the filesystem type is supported by the host operating system.
|
|
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
|
|
TODO: how do we prevent errors in the filesystem from compromising the machine
|
|
type: string
|
|
image:
|
|
description: |-
|
|
image is the rados image name.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
keyring:
|
|
description: |-
|
|
keyring is the path to key ring for RBDUser.
|
|
Default is /etc/ceph/keyring.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
monitors:
|
|
description: |-
|
|
monitors is a collection of Ceph monitors.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
description: |-
|
|
pool is the rados pool name.
|
|
Default is rbd.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly here will force the ReadOnly setting in VolumeMounts.
|
|
Defaults to false.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef is name of the authentication secret for RBDUser. If provided
|
|
overrides keyring.
|
|
Default is nil.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
description: |-
|
|
user is the rados user name.
|
|
Default is admin.
|
|
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
description: scaleIO represents a ScaleIO persistent volume
|
|
attached and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs".
|
|
Default is "xfs".
|
|
type: string
|
|
gateway:
|
|
description: gateway is the host address of the ScaleIO
|
|
API Gateway.
|
|
type: string
|
|
protectionDomain:
|
|
description: protectionDomain is the name of the ScaleIO
|
|
Protection Domain for the configured storage.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly Defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef references to the secret for ScaleIO user and other
|
|
sensitive information. If this is not provided, Login operation will fail.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
description: sslEnabled Flag enable/disable SSL communication
|
|
with Gateway, default false
|
|
type: boolean
|
|
storageMode:
|
|
description: |-
|
|
storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
|
|
Default is ThinProvisioned.
|
|
type: string
|
|
storagePool:
|
|
description: storagePool is the ScaleIO Storage Pool associated
|
|
with the protection domain.
|
|
type: string
|
|
system:
|
|
description: system is the name of the storage system as
|
|
configured in ScaleIO.
|
|
type: string
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the name of a volume already created in the ScaleIO system
|
|
that is associated with this volume source.
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
description: |-
|
|
secret represents a secret that should populate this volume.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
properties:
|
|
defaultMode:
|
|
description: |-
|
|
defaultMode is Optional: mode bits used to set permissions on created files by default.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values
|
|
for mode bits. Defaults to 0644.
|
|
Directories within the path are not affected by this setting.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
description: |-
|
|
items If unspecified, each key-value pair in the Data field of the referenced
|
|
Secret will be projected into the volume as a file whose name is the
|
|
key and content is the value. If specified, the listed keys will be
|
|
projected into the specified paths, and unlisted keys will not be
|
|
present. If a key is specified which is not present in the Secret,
|
|
the volume setup will error unless it is marked optional. Paths must be
|
|
relative and may not contain the '..' path or start with '..'.
|
|
items:
|
|
description: Maps a string key to a path within a volume.
|
|
properties:
|
|
key:
|
|
description: key is the key to project.
|
|
type: string
|
|
mode:
|
|
description: |-
|
|
mode is Optional: mode bits used to set permissions on this file.
|
|
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
|
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
|
If not specified, the volume defaultMode will be used.
|
|
This might be in conflict with other options that affect the file
|
|
mode, like fsGroup, and the result can be other mode bits set.
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
description: |-
|
|
path is the relative path of the file to map the key to.
|
|
May not be an absolute path.
|
|
May not contain the path element '..'.
|
|
May not start with the string '..'.
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
description: optional field specify whether the Secret or
|
|
its keys must be defined
|
|
type: boolean
|
|
secretName:
|
|
description: |-
|
|
secretName is the name of the secret in the pod's namespace to use.
|
|
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
description: storageOS represents a StorageOS volume attached
|
|
and mounted on Kubernetes nodes.
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is the filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
readOnly:
|
|
description: |-
|
|
readOnly defaults to false (read/write). ReadOnly here will force
|
|
the ReadOnly setting in VolumeMounts.
|
|
type: boolean
|
|
secretRef:
|
|
description: |-
|
|
secretRef specifies the secret to use for obtaining the StorageOS API
|
|
credentials. If not specified, default values will be attempted.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
description: |-
|
|
volumeName is the human-readable name of the StorageOS volume. Volume
|
|
names are only unique within a namespace.
|
|
type: string
|
|
volumeNamespace:
|
|
description: |-
|
|
volumeNamespace specifies the scope of the volume within StorageOS. If no
|
|
namespace is specified then the Pod's namespace will be used. This allows the
|
|
Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
|
|
Set VolumeName to any name to override the default behaviour.
|
|
Set to "default" if you are not using namespaces within StorageOS.
|
|
Namespaces that do not pre-exist within StorageOS will be created.
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
description: vsphereVolume represents a vSphere volume attached
|
|
and mounted on kubelets host machine
|
|
properties:
|
|
fsType:
|
|
description: |-
|
|
fsType is filesystem type to mount.
|
|
Must be a filesystem type supported by the host operating system.
|
|
Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
|
|
type: string
|
|
storagePolicyID:
|
|
description: storagePolicyID is the storage Policy Based
|
|
Management (SPBM) profile ID associated with the StoragePolicyName.
|
|
type: string
|
|
storagePolicyName:
|
|
description: storagePolicyName is the storage Policy Based
|
|
Management (SPBM) profile name.
|
|
type: string
|
|
volumePath:
|
|
description: volumePath is the path that identifies vSphere
|
|
volume vmdk
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
workers:
|
|
description: Numbers of the workers in Fluentd instance
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
status:
|
|
description: FluentdStatus defines the observed state of Fluentd
|
|
properties:
|
|
messages:
|
|
description: Messages defines the plugin errors which is selected
|
|
by this fluentdconfig
|
|
type: string
|
|
state:
|
|
description: The state of this fluentd
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: inputs.fluentd.fluent.io
|
|
spec:
|
|
group: fluentd.fluent.io
|
|
names:
|
|
kind: Input
|
|
listKind: InputList
|
|
plural: inputs
|
|
shortNames:
|
|
- fdi
|
|
singular: input
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Input is the Schema for the inputs 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: InputSpec defines the desired state of Input
|
|
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. <client> 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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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 <label> sections.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
monitorAgent:
|
|
description: monitor_agent plugin
|
|
properties:
|
|
bind:
|
|
description: The bind address to listen to.
|
|
type: string
|
|
emitInterval:
|
|
description: The interval time between event emits. This
|
|
will be used when "tag" is configured.
|
|
format: int64
|
|
type: integer
|
|
includeConfig:
|
|
description: You can set this option to false to remove
|
|
the config field from the response.
|
|
type: boolean
|
|
includeRetry:
|
|
description: You can set this option to false to remove
|
|
the retry field from the response.
|
|
type: boolean
|
|
port:
|
|
description: The port to listen to.
|
|
format: int64
|
|
type: integer
|
|
tag:
|
|
description: If you set this parameter, this plugin emits
|
|
metrics as records.
|
|
type: string
|
|
type: object
|
|
sample:
|
|
description: in_sample plugin
|
|
properties:
|
|
autoIncrementKey:
|
|
description: If specified, each generated event has an auto-incremented
|
|
key field.
|
|
type: string
|
|
rate:
|
|
description: It configures how many events to generate per
|
|
second.
|
|
format: int64
|
|
type: integer
|
|
sample:
|
|
description: The sample data to be generated. It should
|
|
be either an array of JSON hashes or a single JSON hash.
|
|
If it is an array of JSON hashes, the hashes in the array
|
|
are cycled through in order.
|
|
type: string
|
|
size:
|
|
description: The number of events in the event stream of
|
|
each emit.
|
|
format: int64
|
|
type: integer
|
|
tag:
|
|
description: The tag of the event. The value is the tag
|
|
assigned to the generated events.
|
|
type: string
|
|
type: object
|
|
tail:
|
|
description: in_tail plugin
|
|
properties:
|
|
emitUnmatchedLines:
|
|
description: Emits unmatched lines when <parse> format is
|
|
not matched for incoming logs.
|
|
type: boolean
|
|
enableStatWatcher:
|
|
description: |-
|
|
Enables the additional inotify-based watcher. Setting this parameter to false will disable the inotify events and use only timer watcher for file tailing.
|
|
This option is mainly for avoiding the stuck issue with inotify.
|
|
type: boolean
|
|
enableWatchTimer:
|
|
description: |-
|
|
Enables the additional watch timer. Setting this parameter to false will significantly reduce CPU and I/O consumption when tailing a large number of files on systems with inotify support.
|
|
The default is true which results in an additional 1 second timer being used.
|
|
type: boolean
|
|
encoding:
|
|
description: |-
|
|
Specifies the encoding of reading lines. By default, in_tail emits string value as ASCII-8BIT encoding.
|
|
If encoding is specified, in_tail changes string to encoding.
|
|
If encoding and fromEncoding both are specified, in_tail tries to encode string from fromEncoding to encoding.
|
|
type: string
|
|
excludePath:
|
|
description: The paths excluded from the watcher list.
|
|
items:
|
|
type: string
|
|
type: array
|
|
followInodes:
|
|
description: Avoid to read rotated files duplicately. You
|
|
should set true when you use * or strftime format in path.
|
|
type: boolean
|
|
fromEncoding:
|
|
description: |-
|
|
Specifies the encoding of reading lines. By default, in_tail emits string value as ASCII-8BIT encoding.
|
|
If encoding is specified, in_tail changes string to encoding.
|
|
If encoding and fromEncoding both are specified, in_tail tries to encode string from fromEncoding to encoding.
|
|
type: string
|
|
group:
|
|
description: |-
|
|
The in_tail plugin can assign each log file to a group, based on user defined rules.
|
|
The limit parameter controls the total number of lines collected for a group within a rate_period time interval.
|
|
properties:
|
|
pattern:
|
|
description: |-
|
|
Specifies the regular expression for extracting metadata (namespace, podname) from log file path.
|
|
Default value of the pattern regexp extracts information about namespace, podname, docker_id, container of the log (K8s specific).
|
|
type: string
|
|
ratePeriod:
|
|
description: Time period in which the group line limit
|
|
is applied. in_tail resets the counter after every
|
|
rate_period interval.
|
|
format: int32
|
|
type: integer
|
|
rule:
|
|
description: Grouping rules for log files.
|
|
properties:
|
|
limit:
|
|
description: Maximum number of lines allowed from
|
|
a group in rate_period time interval. The default
|
|
value of -1 doesn't throttle log files of that
|
|
group.
|
|
format: int32
|
|
type: integer
|
|
match:
|
|
additionalProperties:
|
|
type: string
|
|
description: match parameter is used to check if
|
|
a file belongs to a particular group based on
|
|
hash keys (named captures from pattern) and hash
|
|
values (regexp in string)
|
|
type: object
|
|
type: object
|
|
required:
|
|
- rule
|
|
type: object
|
|
ignoreRepeatedPermissionError:
|
|
description: If you have to exclude the non-permission files
|
|
from the watch list, set this parameter to true. It suppresses
|
|
the repeated permission error logs.
|
|
type: boolean
|
|
limitRecentlyModified:
|
|
description: Limits the watching files that the modification
|
|
time is within the specified time range when using * in
|
|
path.
|
|
format: int32
|
|
type: integer
|
|
maxLineSize:
|
|
description: The maximum length of a line. Longer lines
|
|
than it will be just skipped.
|
|
format: int32
|
|
type: integer
|
|
multilineFlushInterval:
|
|
description: The interval of flushing the buffer for multiline
|
|
format.
|
|
format: int32
|
|
type: integer
|
|
openOnEveryUpdate:
|
|
description: Opens and closes the file on every update instead
|
|
of leaving it open until it gets rotated.
|
|
type: boolean
|
|
parse:
|
|
description: Parse defines various parameters for the parse
|
|
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
|
|
path:
|
|
description: The path(s) to read. Multiple paths can be
|
|
specified, separated by comma ','.
|
|
type: string
|
|
pathKey:
|
|
description: Adds the watching file path to the path_key
|
|
field.
|
|
type: string
|
|
pathTimezone:
|
|
description: This parameter is for strftime formatted path
|
|
like /path/to/%Y/%m/%d/.
|
|
type: string
|
|
posFile:
|
|
description: |-
|
|
(recommended) Fluentd will record the position it last read from this file.
|
|
pos_file handles multiple positions in one file so no need to have multiple pos_file parameters per source.
|
|
Don't share pos_file between in_tail configurations. It causes unexpected behavior e.g. corrupt pos_file content.
|
|
type: string
|
|
posFileCompactionInterval:
|
|
description: The interval of doing compaction of pos file.
|
|
format: int32
|
|
type: integer
|
|
readBytesLimitPerSecond:
|
|
description: The number of reading bytes per second to read
|
|
with I/O operation. This value should be equal or greater
|
|
than 8192.
|
|
format: int32
|
|
type: integer
|
|
readFromHead:
|
|
description: Starts to read the logs from the head of the
|
|
file or the last read position recorded in pos_file, not
|
|
tail.
|
|
type: boolean
|
|
readLinesLimit:
|
|
description: The number of lines to read with each I/O operation.
|
|
format: int32
|
|
type: integer
|
|
refreshInterval:
|
|
description: The interval to refresh the list of watch files.
|
|
This is used when the path includes *.
|
|
format: int32
|
|
type: integer
|
|
rotateWait:
|
|
description: |-
|
|
in_tail actually does a bit more than tail -F itself. When rotating a file, some data may still need to be written to the old file as opposed to the new one.
|
|
in_tail takes care of this by keeping a reference to the old file (even after it has been rotated) for some time before transitioning completely to the new file.
|
|
This helps prevent data designated for the old file from getting lost. By default, this time interval is 5 seconds.
|
|
The rotate_wait parameter accepts a single integer representing the number of seconds you want this time interval to be.
|
|
format: int32
|
|
type: integer
|
|
skipRefreshOnStartup:
|
|
description: Skips the refresh of the watch list on startup.
|
|
This reduces the startup time when * is used in path.
|
|
type: boolean
|
|
tag:
|
|
description: The tag of the event.
|
|
type: string
|
|
required:
|
|
- parse
|
|
- path
|
|
- tag
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: InputStatus defines the observed state of Input
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: multilineparsers.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: MultilineParser
|
|
listKind: MultilineParserList
|
|
plural: multilineparsers
|
|
shortNames:
|
|
- fbmp
|
|
singular: multilineparser
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: MultilineParser is the Schema of namespace-level multiline parser
|
|
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:
|
|
properties:
|
|
flushTimeout:
|
|
default: 5000
|
|
description: Timeout in milliseconds to flush a non-terminated multiline
|
|
buffer. Default is set to 5 seconds.
|
|
type: integer
|
|
keyContent:
|
|
description: For an incoming structured message, specify the key that
|
|
contains the data that should be processed by the regular expression
|
|
and possibly concatenated.
|
|
type: string
|
|
parser:
|
|
description: Name of a pre-defined parser that must be applied to
|
|
the incoming content before applying the regex rule. If no parser
|
|
is defined, it's assumed that's a raw text and not a structured
|
|
message.
|
|
type: string
|
|
rules:
|
|
description: Configure a rule to match a multiline pattern. The rule
|
|
has a specific format described below. Multiple rules can be defined.
|
|
items:
|
|
properties:
|
|
next:
|
|
type: string
|
|
regex:
|
|
type: string
|
|
start:
|
|
type: string
|
|
required:
|
|
- next
|
|
- regex
|
|
- start
|
|
type: object
|
|
type: array
|
|
type:
|
|
default: regex
|
|
description: Set the multiline mode, for now, we support the type
|
|
regex.
|
|
enum:
|
|
- regex
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: outputs.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: Output
|
|
listKind: OutputList
|
|
plural: outputs
|
|
shortNames:
|
|
- fbo
|
|
singular: output
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Output is the schema for namespace level output 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: OutputSpec defines the desired state of ClusterOutput
|
|
properties:
|
|
alias:
|
|
description: |-
|
|
A user friendly alias name for this output plugin.
|
|
Used in metrics for distinction of each configured output.
|
|
type: string
|
|
azureBlob:
|
|
description: AzureBlob defines AzureBlob Output Configuration
|
|
properties:
|
|
accountName:
|
|
description: Azure Storage account name
|
|
type: string
|
|
autoCreateContainer:
|
|
description: Creates container if ContainerName is not set.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
blobType:
|
|
description: Specify the desired blob type. Must be `appendblob`
|
|
or `blockblob`
|
|
enum:
|
|
- appendblob
|
|
- blockblob
|
|
type: string
|
|
containerName:
|
|
description: Name of the container that will contain the blobs
|
|
type: string
|
|
emulatorMode:
|
|
description: Optional toggle to use an Azure emulator
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
endpoint:
|
|
description: HTTP Service of the endpoint (if using EmulatorMode)
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: Optional path to store the blobs.
|
|
type: string
|
|
sharedKey:
|
|
description: Specify the Azure Storage Shared Key to authenticate
|
|
against the storage account
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
tls:
|
|
description: Enable/Disable TLS Encryption. Azure services require
|
|
TLS to be enabled.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
required:
|
|
- accountName
|
|
- containerName
|
|
- sharedKey
|
|
type: object
|
|
azureLogAnalytics:
|
|
description: AzureLogAnalytics defines AzureLogAnalytics Output Configuration
|
|
properties:
|
|
customerID:
|
|
description: Customer ID or Workspace ID
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
logType:
|
|
description: Name of the event type.
|
|
type: string
|
|
logTypeKey:
|
|
description: Set a record key that will populate 'logtype'. If
|
|
the key is found, it will have precedence
|
|
type: string
|
|
sharedKey:
|
|
description: Specify the primary or the secondary client authentication
|
|
key
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
timeGenerated:
|
|
description: If set, overrides the timeKey value with the `time-generated-field`
|
|
HTTP header value.
|
|
type: boolean
|
|
timeKey:
|
|
description: Specify the name of the key where the timestamp is
|
|
stored.
|
|
type: string
|
|
required:
|
|
- customerID
|
|
- sharedKey
|
|
type: object
|
|
cloudWatch:
|
|
description: CloudWatch defines CloudWatch Output Configuration
|
|
properties:
|
|
autoCreateGroup:
|
|
description: Automatically create the log group. Defaults to False.
|
|
type: boolean
|
|
autoRetryRequests:
|
|
description: Automatically retry failed requests to CloudWatch
|
|
once. Defaults to True.
|
|
type: boolean
|
|
endpoint:
|
|
description: Custom endpoint for CloudWatch logs API
|
|
type: string
|
|
externalID:
|
|
description: Specify an external ID for the STS API.
|
|
type: string
|
|
logFormat:
|
|
description: Optional parameter to tell CloudWatch the format
|
|
of the data
|
|
type: string
|
|
logGroupName:
|
|
description: Name of Cloudwatch Log Group to send log records
|
|
to
|
|
type: string
|
|
logGroupTemplate:
|
|
description: Template for Log Group name, overrides LogGroupName
|
|
if set.
|
|
type: string
|
|
logKey:
|
|
description: If set, only the value of the key will be sent to
|
|
CloudWatch
|
|
type: string
|
|
logRetentionDays:
|
|
description: Number of days logs are retained for
|
|
enum:
|
|
- 1
|
|
- 3
|
|
- 5
|
|
- 7
|
|
- 14
|
|
- 30
|
|
- 60
|
|
- 90
|
|
- 120
|
|
- 150
|
|
- 180
|
|
- 365
|
|
- 400
|
|
- 545
|
|
- 731
|
|
- 1827
|
|
- 3653
|
|
format: int32
|
|
type: integer
|
|
logStreamName:
|
|
description: The name of the CloudWatch Log Stream to send log
|
|
records to
|
|
type: string
|
|
logStreamPrefix:
|
|
description: Prefix for the Log Stream name. Not compatible with
|
|
LogStreamName setting
|
|
type: string
|
|
logStreamTemplate:
|
|
description: Template for Log Stream name. Overrides LogStreamPrefix
|
|
and LogStreamName if set.
|
|
type: string
|
|
metricDimensions:
|
|
description: |-
|
|
Optional lists of lists for dimension keys to be added to all metrics. Use comma separated strings
|
|
for one list of dimensions and semicolon separated strings for list of lists dimensions.
|
|
type: string
|
|
metricNamespace:
|
|
description: Optional string to represent the CloudWatch namespace.
|
|
type: string
|
|
region:
|
|
description: AWS Region
|
|
type: string
|
|
roleArn:
|
|
description: Role ARN to use for cross-account access
|
|
type: string
|
|
stsEndpoint:
|
|
description: Specify a custom STS endpoint for the AWS STS API
|
|
type: string
|
|
required:
|
|
- region
|
|
type: object
|
|
customPlugin:
|
|
description: CustomPlugin defines Custom Output configuration.
|
|
properties:
|
|
config:
|
|
description: |-
|
|
Config holds any unsupported plugins classic configurations,
|
|
if ConfigFileFormat is set to yaml, this filed will be ignored
|
|
type: string
|
|
yamlConfig:
|
|
description: YamlConfig holds the unsupported plugins yaml configurations,
|
|
it only works when the ConfigFileFormat is yaml
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: object
|
|
datadog:
|
|
description: DataDog defines DataDog Output configuration.
|
|
properties:
|
|
apikey:
|
|
description: Your Datadog API key.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
compress:
|
|
description: |-
|
|
Compress the payload in GZIP format.
|
|
Datadog supports and recommends setting this to gzip.
|
|
type: string
|
|
dd_message_key:
|
|
description: By default, the plugin searches for the key 'log'
|
|
and remap the value to the key 'message'. If the property is
|
|
set, the plugin will search the property name key.
|
|
type: string
|
|
dd_service:
|
|
description: The human readable name for your service generating
|
|
the logs.
|
|
type: string
|
|
dd_source:
|
|
description: A human readable name for the underlying technology
|
|
of your service.
|
|
type: string
|
|
dd_tags:
|
|
description: The tags you want to assign to your logs in Datadog.
|
|
type: string
|
|
host:
|
|
description: Host is the Datadog server where you are sending
|
|
your logs.
|
|
type: string
|
|
include_tag_key:
|
|
description: If enabled, a tag is appended to output. The key
|
|
name is used tag_key property.
|
|
type: boolean
|
|
json_date_key:
|
|
description: Date key name for output.
|
|
type: string
|
|
provider:
|
|
description: To activate the remapping, specify configuration
|
|
flag provider.
|
|
type: string
|
|
proxy:
|
|
description: Specify an HTTP Proxy.
|
|
type: string
|
|
tag_key:
|
|
description: The key name of tag. If include_tag_key is false,
|
|
This property is ignored.
|
|
type: string
|
|
tls:
|
|
description: |-
|
|
TLS controls whether to use end-to-end security communications security protocol.
|
|
Datadog recommends setting this to on.
|
|
type: boolean
|
|
type: object
|
|
es:
|
|
description: Elasticsearch defines Elasticsearch Output configuration.
|
|
properties:
|
|
awsAuth:
|
|
description: Enable AWS Sigv4 Authentication for Amazon ElasticSearch
|
|
Service.
|
|
type: string
|
|
awsAuthSecret:
|
|
description: AWSAuthSecret Enable AWS Sigv4 Authentication for
|
|
Amazon ElasticSearch Service.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
awsExternalID:
|
|
description: External ID for the AWS IAM Role specified with aws_role_arn.
|
|
type: string
|
|
awsRegion:
|
|
description: Specify the AWS region for Amazon ElasticSearch Service.
|
|
type: string
|
|
awsRoleARN:
|
|
description: AWS IAM Role to assume to put records to your Amazon
|
|
ES cluster.
|
|
type: string
|
|
awsSTSEndpoint:
|
|
description: Specify the custom sts endpoint to be used with STS
|
|
API for Amazon ElasticSearch Service.
|
|
type: string
|
|
bufferSize:
|
|
description: |-
|
|
Specify the buffer size used to read the response from the Elasticsearch HTTP service.
|
|
This option is useful for debugging purposes where is required to read full responses,
|
|
note that response size grows depending of the number of records inserted.
|
|
To set an unlimited amount of memory set this value to False,
|
|
otherwise the value must be according to the Unit Size specification.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
cloudAuth:
|
|
description: Specify the credentials to use to connect to Elastic's
|
|
Elasticsearch Service running on Elastic Cloud.
|
|
type: string
|
|
cloudAuthSecret:
|
|
description: CloudAuthSecret Specify the credentials to use to
|
|
connect to Elastic's Elasticsearch Service running on Elastic
|
|
Cloud.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudID:
|
|
description: If you are using Elastic's Elasticsearch Service
|
|
you can specify the cloud_id of the cluster running.
|
|
type: string
|
|
compress:
|
|
description: Set payload compression mechanism. Option available
|
|
is 'gzip'
|
|
enum:
|
|
- gzip
|
|
type: string
|
|
currentTimeIndex:
|
|
description: Use current time for index generation instead of
|
|
message record
|
|
type: boolean
|
|
generateID:
|
|
description: |-
|
|
When enabled, generate _id for outgoing records.
|
|
This prevents duplicate records when retrying ES.
|
|
type: boolean
|
|
host:
|
|
description: IP address or hostname of the target Elasticsearch
|
|
instance
|
|
type: string
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username credential for Elastic X-Pack access
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
idKey:
|
|
description: If set, _id will be the value of the key from incoming
|
|
record and Generate_ID option is ignored.
|
|
type: string
|
|
includeTagKey:
|
|
description: When enabled, it append the Tag name to the record.
|
|
type: boolean
|
|
index:
|
|
description: Index name
|
|
type: string
|
|
logstashDateFormat:
|
|
description: Time format (based on strftime) to generate the second
|
|
part of the Index name.
|
|
type: string
|
|
logstashFormat:
|
|
description: |-
|
|
Enable Logstash format compatibility.
|
|
This option takes a boolean value: True/False, On/Off
|
|
type: boolean
|
|
logstashPrefix:
|
|
description: |-
|
|
When Logstash_Format is enabled, the Index name is composed using a prefix and the date,
|
|
e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'.
|
|
The last string appended belongs to the date when the data is being generated.
|
|
type: string
|
|
logstashPrefixKey:
|
|
description: Prefix keys with this string
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: |-
|
|
Elasticsearch accepts new data on HTTP query path "/_bulk".
|
|
But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath.
|
|
This option defines such path on the fluent-bit side.
|
|
It simply adds a path prefix in the indexing HTTP POST URI.
|
|
type: string
|
|
pipeline:
|
|
description: |-
|
|
Newer versions of Elasticsearch allows setting up filters called pipelines.
|
|
This option allows defining which pipeline the database should use.
|
|
For performance reasons is strongly suggested parsing
|
|
and filtering on Fluent Bit side, avoid pipelines.
|
|
type: string
|
|
port:
|
|
description: TCP port of the target Elasticsearch instance
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
replaceDots:
|
|
description: When enabled, replace field name dots with underscore,
|
|
required by Elasticsearch 2.0-2.3.
|
|
type: boolean
|
|
suppressTypeName:
|
|
description: When enabled, mapping types is removed and Type option
|
|
is ignored. Types are deprecated in APIs in v7.0. This options
|
|
is for v7.0 or later.
|
|
type: string
|
|
tagKey:
|
|
description: When Include_Tag_Key is enabled, this property defines
|
|
the key name for the tag.
|
|
type: string
|
|
timeKey:
|
|
description: |-
|
|
When Logstash_Format is enabled, each record will get a new timestamp field.
|
|
The Time_Key property defines the name of that field.
|
|
type: string
|
|
timeKeyFormat:
|
|
description: When Logstash_Format is enabled, this property defines
|
|
the format of the timestamp.
|
|
type: string
|
|
timeKeyNanos:
|
|
description: When Logstash_Format is enabled, enabling this property
|
|
sends nanosecond precision timestamps.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
traceError:
|
|
description: When enabled print the elasticsearch API calls to
|
|
stdout when elasticsearch returns an error
|
|
type: boolean
|
|
traceOutput:
|
|
description: When enabled print the elasticsearch API calls to
|
|
stdout (for diag only)
|
|
type: boolean
|
|
type:
|
|
description: Type name
|
|
type: string
|
|
writeOperation:
|
|
description: Operation to use to write in bulk requests.
|
|
type: string
|
|
type: object
|
|
file:
|
|
description: File defines File Output configuration.
|
|
properties:
|
|
delimiter:
|
|
description: The character to separate each pair. Applicable only
|
|
if format is csv or ltsv.
|
|
type: string
|
|
file:
|
|
description: Set file name to store the records. If not set, the
|
|
file name will be the tag associated with the records.
|
|
type: string
|
|
format:
|
|
description: 'The format of the file content. See also Format
|
|
section. Default: out_file.'
|
|
enum:
|
|
- out_file
|
|
- plain
|
|
- csv
|
|
- ltsv
|
|
- template
|
|
type: string
|
|
labelDelimiter:
|
|
description: The character to separate each pair. Applicable only
|
|
if format is ltsv.
|
|
type: string
|
|
path:
|
|
description: Absolute directory path to store files. If not set,
|
|
Fluent Bit will write the files on it's own positioned directory.
|
|
type: string
|
|
template:
|
|
description: The format string. Applicable only if format is template.
|
|
type: string
|
|
type: object
|
|
firehose:
|
|
description: Firehose defines Firehose Output configuration.
|
|
properties:
|
|
autoRetryRequests:
|
|
description: Immediately retry failed requests to AWS services
|
|
once. This option does not affect the normal Fluent Bit retry
|
|
mechanism with backoff. Instead, it enables an immediate retry
|
|
with no delay for networking errors, which may help improve
|
|
throughput when there are transient/random networking issues.
|
|
type: boolean
|
|
dataKeys:
|
|
description: By default, the whole log record will be sent to
|
|
Kinesis. If you specify a key name(s) with this option, then
|
|
only those keys and values will be sent to Kinesis. For example,
|
|
if you are using the Fluentd Docker log driver, you can specify
|
|
data_keys log and only the log message will be sent to Kinesis.
|
|
If you specify multiple keys, they should be comma delimited.
|
|
type: string
|
|
deliveryStream:
|
|
description: The name of the Kinesis Firehose Delivery stream
|
|
that you want log records sent to.
|
|
type: string
|
|
endpoint:
|
|
description: Specify a custom endpoint for the Kinesis Firehose
|
|
API.
|
|
type: string
|
|
logKey:
|
|
description: By default, the whole log record will be sent to
|
|
Firehose. If you specify a key name with this option, then only
|
|
the value of that key will be sent to Firehose. For example,
|
|
if you are using the Fluentd Docker log driver, you can specify
|
|
log_key log and only the log message will be sent to Firehose.
|
|
type: string
|
|
region:
|
|
description: The AWS region.
|
|
type: string
|
|
roleARN:
|
|
description: ARN of an IAM role to assume (for cross account access).
|
|
type: string
|
|
stsEndpoint:
|
|
description: Specify a custom endpoint for the STS API; used to
|
|
assume your custom role provided with role_arn.
|
|
type: string
|
|
timeKey:
|
|
description: Add the timestamp to the record under this key. By
|
|
default, the timestamp from Fluent Bit will not be added to
|
|
records sent to Kinesis.
|
|
type: string
|
|
timeKeyFormat:
|
|
description: strftime compliant format string for the timestamp;
|
|
for example, %Y-%m-%dT%H *string This option is used with time_key.
|
|
You can also use %L for milliseconds and %f for microseconds.
|
|
If you are using ECS FireLens, make sure you are running Amazon
|
|
ECS Container Agent v1.42.0 or later, otherwise the timestamps
|
|
associated with your container logs will only have second precision.
|
|
type: string
|
|
required:
|
|
- deliveryStream
|
|
- region
|
|
type: object
|
|
forward:
|
|
description: Forward defines Forward Output configuration.
|
|
properties:
|
|
emptySharedKey:
|
|
description: Use this option to connect to Fluentd with a zero-length
|
|
secret.
|
|
type: boolean
|
|
host:
|
|
description: Target host where Fluent-Bit or Fluentd are listening
|
|
for Forward messages.
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
password:
|
|
description: Specify the password corresponding to the username.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
port:
|
|
description: TCP Port of the target service.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
requireAckResponse:
|
|
description: |-
|
|
Send "chunk"-option and wait for "ack" response from server.
|
|
Enables at-least-once and receiving server can control rate of traffic.
|
|
(Requires Fluentd v0.14.0+ server)
|
|
type: boolean
|
|
selfHostname:
|
|
description: Default value of the auto-generated certificate common
|
|
name (CN).
|
|
type: string
|
|
sendOptions:
|
|
description: Always send options (with "size"=count of messages)
|
|
type: boolean
|
|
sharedKey:
|
|
description: A key string known by the remote Fluentd used for
|
|
authorization.
|
|
type: string
|
|
tag:
|
|
description: |-
|
|
Overwrite the tag as we transmit. This allows the receiving pipeline start
|
|
fresh, or to attribute source.
|
|
type: string
|
|
timeAsInteger:
|
|
description: Set timestamps in integer format, it enable compatibility
|
|
mode for Fluentd v0.12 series.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
username:
|
|
description: Specify the username to present to a Fluentd server
|
|
that enables user_auth.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
gelf:
|
|
description: Gelf defines GELF Output configuration.
|
|
properties:
|
|
compress:
|
|
description: If transport protocol is udp, it defines if UDP packets
|
|
should be compressed.
|
|
type: boolean
|
|
fullMessageKey:
|
|
description: FullMessageKey is the key to use as the long message
|
|
that can i.e. contain a backtrace.
|
|
type: string
|
|
host:
|
|
description: IP address or hostname of the target Graylog server.
|
|
type: string
|
|
hostKey:
|
|
description: HostKey is the key which its value is used as the
|
|
name of the host, source or application that sent this message.
|
|
type: string
|
|
levelKey:
|
|
description: LevelKey is the key to be used as the log level.
|
|
type: string
|
|
mode:
|
|
description: The protocol to use (tls, tcp or udp).
|
|
enum:
|
|
- tls
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
packetSize:
|
|
description: If transport protocol is udp, it sets the size of
|
|
packets to be sent.
|
|
format: int32
|
|
type: integer
|
|
port:
|
|
description: The port that the target Graylog server is listening
|
|
on.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
shortMessageKey:
|
|
description: ShortMessageKey is the key to use as the short message.
|
|
type: string
|
|
timestampKey:
|
|
description: TimestampKey is the key which its value is used as
|
|
the timestamp of the message.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
type: object
|
|
http:
|
|
description: HTTP defines HTTP Output configuration.
|
|
properties:
|
|
allowDuplicatedHeaders:
|
|
description: |-
|
|
Specify if duplicated headers are allowed.
|
|
If a duplicated header is found, the latest key/value set is preserved.
|
|
type: boolean
|
|
compress:
|
|
description: Set payload compression mechanism. Option available
|
|
is 'gzip'
|
|
type: string
|
|
format:
|
|
description: |-
|
|
Specify the data format to be used in the HTTP request body, by default it uses msgpack.
|
|
Other supported formats are json, json_stream and json_lines and gelf.
|
|
enum:
|
|
- msgpack
|
|
- json
|
|
- json_stream
|
|
- json_lines
|
|
- gelf
|
|
type: string
|
|
gelfFullMessageKey:
|
|
description: Specify the key to use for the full message in gelf
|
|
format
|
|
type: string
|
|
gelfHostKey:
|
|
description: Specify the key to use for the host in gelf format
|
|
type: string
|
|
gelfLevelKey:
|
|
description: Specify the key to use for the level in gelf format
|
|
type: string
|
|
gelfShortMessageKey:
|
|
description: Specify the key to use as the short message in gelf
|
|
format
|
|
type: string
|
|
gelfTimestampKey:
|
|
description: Specify the key to use for timestamp in gelf format
|
|
type: string
|
|
headerTag:
|
|
description: Specify an optional HTTP header field for the original
|
|
message tag.
|
|
type: string
|
|
headers:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a HTTP header key/value pair. Multiple headers
|
|
can be set.
|
|
type: object
|
|
host:
|
|
description: IP address or hostname of the target HTTP Server
|
|
type: string
|
|
httpPassword:
|
|
description: Basic Auth Password. Requires HTTP_User to be set
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Basic Auth Username
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
jsonDateFormat:
|
|
description: |-
|
|
Specify the format of the date. Supported formats are double, epoch
|
|
and iso8601 (eg: 2018-05-30T09:39:52.000681Z)
|
|
type: string
|
|
jsonDateKey:
|
|
description: |-
|
|
Specify the name of the time key in the output record.
|
|
To disable the time key just set the value to false.
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP port of the target HTTP Server
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
proxy:
|
|
description: |-
|
|
Specify an HTTP Proxy. The expected format of this value is http://host:port.
|
|
Note that https is not supported yet.
|
|
type: string
|
|
tls:
|
|
description: |-
|
|
HTTP output plugin supports TTL/SSL, for more details about the properties available
|
|
and general configuration, please refer to the TLS/SSL section.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
uri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server, e.g: /something'
|
|
type: string
|
|
type: object
|
|
influxDB:
|
|
description: InfluxDB defines InfluxDB Output configuration.
|
|
properties:
|
|
autoTags:
|
|
description: Automatically tag keys where value is string.
|
|
type: boolean
|
|
bucket:
|
|
description: InfluxDB bucket name where records will be inserted
|
|
- if specified, database is ignored and v2 of API is used
|
|
type: string
|
|
database:
|
|
description: InfluxDB database name where records will be inserted.
|
|
type: string
|
|
host:
|
|
description: IP address or hostname of the target InfluxDB service.
|
|
type: string
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpToken:
|
|
description: Authentication token used with InfluxDB v2 - if specified,
|
|
both HTTPUser and HTTPPasswd are ignored
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username for HTTP Basic Authentication
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
org:
|
|
description: InfluxDB organization name where the bucket is (v2
|
|
only)
|
|
type: string
|
|
port:
|
|
description: TCP port of the target InfluxDB service.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
sequenceTag:
|
|
description: The name of the tag whose value is incremented for
|
|
the consecutive simultaneous events.
|
|
type: string
|
|
tagKeys:
|
|
description: List of keys that needs to be tagged
|
|
items:
|
|
type: string
|
|
type: array
|
|
tagListKey:
|
|
description: Key of the string array optionally contained within
|
|
each log record that contains tag keys for that record
|
|
type: string
|
|
tagsListEnabled:
|
|
description: Dynamically tag keys which are in the string array
|
|
at Tags_List_Key key.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
required:
|
|
- host
|
|
type: object
|
|
kafka:
|
|
description: Kafka defines Kafka Output configuration.
|
|
properties:
|
|
brokers:
|
|
description: 'Single of multiple list of Kafka Brokers, e.g: 192.168.1.3:9092,
|
|
192.168.1.4:9092.'
|
|
type: string
|
|
dynamicTopic:
|
|
description: adds unknown topics (found in Topic_Key) to Topics.
|
|
So in Topics only a default topic needs to be configured
|
|
type: boolean
|
|
format:
|
|
description: 'Specify data format, options available: json, msgpack.'
|
|
type: string
|
|
messageKey:
|
|
description: Optional key to store the message
|
|
type: string
|
|
messageKeyField:
|
|
description: |-
|
|
If set, the value of Message_Key_Field in the record will indicate the message key.
|
|
If not set nor found in the record, Message_Key will be used (if set).
|
|
type: string
|
|
queueFullRetries:
|
|
description: |-
|
|
Fluent Bit queues data into rdkafka library,
|
|
if for some reason the underlying library cannot flush the records the queue might fills up blocking new addition of records.
|
|
The queue_full_retries option set the number of local retries to enqueue the data.
|
|
The default value is 10 times, the interval between each retry is 1 second.
|
|
Setting the queue_full_retries value to 0 set's an unlimited number of retries.
|
|
format: int64
|
|
type: integer
|
|
rdkafka:
|
|
additionalProperties:
|
|
type: string
|
|
description: '{property} can be any librdkafka properties'
|
|
type: object
|
|
timestampFormat:
|
|
description: iso8601 or double
|
|
type: string
|
|
timestampKey:
|
|
description: Set the key to store the record timestamp
|
|
type: string
|
|
topicKey:
|
|
description: |-
|
|
If multiple Topics exists, the value of Topic_Key in the record will indicate the topic to use.
|
|
E.g: if Topic_Key is router and the record is {"key1": 123, "router": "route_2"},
|
|
Fluent Bit will use topic route_2. Note that if the value of Topic_Key is not present in Topics,
|
|
then by default the first topic in the Topics list will indicate the topic to be used.
|
|
type: string
|
|
topics:
|
|
description: |-
|
|
Single entry or list of topics separated by comma (,) that Fluent Bit will use to send messages to Kafka.
|
|
If only one topic is set, that one will be used for all records.
|
|
Instead if multiple topics exists, the one set in the record by Topic_Key will be used.
|
|
type: string
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
workers:
|
|
description: Enables dedicated thread(s) for this output. Default
|
|
value is set since version 1.8.13. For previous versions is
|
|
0.
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
kinesis:
|
|
description: Kinesis defines Kinesis Output configuration.
|
|
properties:
|
|
autoRetryRequests:
|
|
description: Immediately retry failed requests to AWS services
|
|
once. This option does not affect the normal Fluent Bit retry
|
|
mechanism with backoff. Instead, it enables an immediate retry
|
|
with no delay for networking errors, which may help improve
|
|
throughput when there are transient/random networking issues.
|
|
This option defaults to true.
|
|
type: boolean
|
|
endpoint:
|
|
description: Specify a custom endpoint for the Kinesis API.
|
|
type: string
|
|
externalID:
|
|
description: Specify an external ID for the STS API, can be used
|
|
with the role_arn parameter if your role requires an external
|
|
ID.
|
|
type: string
|
|
logKey:
|
|
description: By default, the whole log record will be sent to
|
|
Kinesis. If you specify a key name with this option, then only
|
|
the value of that key will be sent to Kinesis. For example,
|
|
if you are using the Fluentd Docker log driver, you can specify
|
|
log_key log and only the log message will be sent to Kinesis.
|
|
type: string
|
|
region:
|
|
description: The AWS region.
|
|
type: string
|
|
roleARN:
|
|
description: ARN of an IAM role to assume (for cross account access).
|
|
type: string
|
|
stream:
|
|
description: The name of the Kinesis Streams Delivery stream that
|
|
you want log records sent to.
|
|
type: string
|
|
stsEndpoint:
|
|
description: Custom endpoint for the STS API.
|
|
type: string
|
|
timeKey:
|
|
description: Add the timestamp to the record under this key. By
|
|
default the timestamp from Fluent Bit will not be added to records
|
|
sent to Kinesis.
|
|
type: string
|
|
timeKeyFormat:
|
|
description: strftime compliant format string for the timestamp;
|
|
for example, the default is '%Y-%m-%dT%H:%M:%S'. Supports millisecond
|
|
precision with '%3N' and supports nanosecond precision with
|
|
'%9N' and '%L'; for example, adding '%3N' to support millisecond
|
|
'%Y-%m-%dT%H:%M:%S.%3N'. This option is used with time_key.
|
|
type: string
|
|
required:
|
|
- region
|
|
- stream
|
|
type: object
|
|
logLevel:
|
|
description: 'Set the plugin''s logging verbosity level. Allowed values
|
|
are: off, error, warn, info, debug and trace, Defaults to the SERVICE
|
|
section''s Log_Level'
|
|
enum:
|
|
- "off"
|
|
- error
|
|
- warning
|
|
- info
|
|
- debug
|
|
- trace
|
|
type: string
|
|
loki:
|
|
description: Loki defines Loki Output configuration.
|
|
properties:
|
|
autoKubernetesLabels:
|
|
description: If set to true, it will add all Kubernetes labels
|
|
to the Stream labels.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
bearerToken:
|
|
description: |-
|
|
Set bearer token authentication token value.
|
|
Can be used as alterntative to HTTP basic authentication
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
dropSingleKey:
|
|
description: If set to true and after extracting labels only a
|
|
single key remains, the log line sent to Loki will be the value
|
|
of that key in line_format.
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
host:
|
|
description: Loki hostname or IP address.
|
|
type: string
|
|
httpPassword:
|
|
description: |-
|
|
Password for user defined in HTTP_User
|
|
Set HTTP basic authentication password
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Set HTTP basic authentication user name.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
labelKeys:
|
|
description: |-
|
|
Optional list of record keys that will be placed as stream labels.
|
|
This configuration property is for records key only.
|
|
items:
|
|
type: string
|
|
type: array
|
|
labelMapPath:
|
|
description: Specify the label map file path. The file defines
|
|
how to extract labels from each record.
|
|
type: string
|
|
labels:
|
|
description: |-
|
|
Stream labels for API request. It can be multiple comma separated of strings specifying key=value pairs.
|
|
In addition to fixed parameters, it also allows to add custom record keys (similar to label_keys property).
|
|
items:
|
|
type: string
|
|
type: array
|
|
lineFormat:
|
|
description: |-
|
|
Format to use when flattening the record to a log line. Valid values are json or key_value.
|
|
If set to json, the log line sent to Loki will be the Fluent Bit record dumped as JSON.
|
|
If set to key_value, the log line will be each item in the record concatenated together (separated by a single space) in the format.
|
|
enum:
|
|
- json
|
|
- key_value
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: Loki TCP port
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
removeKeys:
|
|
description: Optional list of keys to remove.
|
|
items:
|
|
type: string
|
|
type: array
|
|
tenantID:
|
|
description: |-
|
|
Tenant ID used by default to push logs to Loki.
|
|
If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
tenantIDKey:
|
|
description: |-
|
|
Specify the name of the key from the original record that contains the Tenant ID.
|
|
The value of the key is set as X-Scope-OrgID of HTTP header. It is useful to set Tenant ID dynamically.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
uri:
|
|
description: Specify a custom HTTP URI. It must start with forward
|
|
slash.
|
|
type: string
|
|
workers:
|
|
description: Enables dedicated thread(s) for this output. Default
|
|
value is set since version 1.8.13. For previous versions is
|
|
0.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- host
|
|
type: object
|
|
match:
|
|
description: |-
|
|
A pattern to match against the tags of incoming records.
|
|
It's case sensitive and support the star (*) character as a wildcard.
|
|
type: string
|
|
matchRegex:
|
|
description: |-
|
|
A regular expression to match against the tags of incoming records.
|
|
Use this option if you want to use the full regex syntax.
|
|
type: string
|
|
"null":
|
|
description: Null defines Null Output configuration.
|
|
type: object
|
|
opensearch:
|
|
description: OpenSearch defines OpenSearch Output configuration.
|
|
properties:
|
|
awsAuth:
|
|
description: Enable AWS Sigv4 Authentication for Amazon OpenSearch
|
|
Service.
|
|
type: string
|
|
awsExternalID:
|
|
description: External ID for the AWS IAM Role specified with aws_role_arn.
|
|
type: string
|
|
awsRegion:
|
|
description: Specify the AWS region for Amazon OpenSearch Service.
|
|
type: string
|
|
awsRoleARN:
|
|
description: AWS IAM Role to assume to put records to your Amazon
|
|
cluster.
|
|
type: string
|
|
awsSTSEndpoint:
|
|
description: Specify the custom sts endpoint to be used with STS
|
|
API for Amazon OpenSearch Service.
|
|
type: string
|
|
bufferSize:
|
|
description: |-
|
|
Specify the buffer size used to read the response from the OpenSearch HTTP service.
|
|
This option is useful for debugging purposes where is required to read full responses,
|
|
note that response size grows depending of the number of records inserted.
|
|
To set an unlimited amount of memory set this value to False,
|
|
otherwise the value must be according to the Unit Size specification.
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
compress:
|
|
enum:
|
|
- gzip
|
|
type: string
|
|
currentTimeIndex:
|
|
description: Use current time for index generation instead of
|
|
message record
|
|
type: boolean
|
|
generateID:
|
|
description: |-
|
|
When enabled, generate _id for outgoing records.
|
|
This prevents duplicate records when retrying OpenSearch.
|
|
type: boolean
|
|
host:
|
|
description: IP address or hostname of the target OpenSearch instance,
|
|
default `127.0.0.1`
|
|
type: string
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username credential for access
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
idKey:
|
|
description: If set, _id will be the value of the key from incoming
|
|
record and Generate_ID option is ignored.
|
|
type: string
|
|
includeTagKey:
|
|
description: When enabled, it append the Tag name to the record.
|
|
type: boolean
|
|
index:
|
|
description: Index name
|
|
type: string
|
|
logstashDateFormat:
|
|
description: Time format (based on strftime) to generate the second
|
|
part of the Index name.
|
|
type: string
|
|
logstashFormat:
|
|
description: |-
|
|
Enable Logstash format compatibility.
|
|
This option takes a boolean value: True/False, On/Off
|
|
type: boolean
|
|
logstashPrefix:
|
|
description: |-
|
|
When Logstash_Format is enabled, the Index name is composed using a prefix and the date,
|
|
e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'.
|
|
The last string appended belongs to the date when the data is being generated.
|
|
type: string
|
|
logstashPrefixKey:
|
|
description: Prefix keys with this string
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: |-
|
|
OpenSearch accepts new data on HTTP query path "/_bulk".
|
|
But it is also possible to serve OpenSearch behind a reverse proxy on a subpath.
|
|
This option defines such path on the fluent-bit side.
|
|
It simply adds a path prefix in the indexing HTTP POST URI.
|
|
type: string
|
|
pipeline:
|
|
description: |-
|
|
OpenSearch allows to setup filters called pipelines.
|
|
This option allows to define which pipeline the database should use.
|
|
For performance reasons is strongly suggested to do parsing
|
|
and filtering on Fluent Bit side, avoid pipelines.
|
|
type: string
|
|
port:
|
|
description: TCP port of the target OpenSearch instance, default
|
|
`9200`
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
replaceDots:
|
|
description: When enabled, replace field name dots with underscore,
|
|
required by Elasticsearch 2.0-2.3.
|
|
type: boolean
|
|
suppressTypeName:
|
|
description: When enabled, mapping types is removed and Type option
|
|
is ignored. Types are deprecated in APIs in v7.0. This options
|
|
is for v7.0 or later.
|
|
type: boolean
|
|
tagKey:
|
|
description: When Include_Tag_Key is enabled, this property defines
|
|
the key name for the tag.
|
|
type: string
|
|
timeKey:
|
|
description: |-
|
|
When Logstash_Format is enabled, each record will get a new timestamp field.
|
|
The Time_Key property defines the name of that field.
|
|
type: string
|
|
timeKeyFormat:
|
|
description: When Logstash_Format is enabled, this property defines
|
|
the format of the timestamp.
|
|
type: string
|
|
timeKeyNanos:
|
|
description: When Logstash_Format is enabled, enabling this property
|
|
sends nanosecond precision timestamps.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
traceError:
|
|
description: When enabled print the elasticsearch API calls to
|
|
stdout when elasticsearch returns an error
|
|
type: boolean
|
|
traceOutput:
|
|
description: When enabled print the elasticsearch API calls to
|
|
stdout (for diag only)
|
|
type: boolean
|
|
type:
|
|
description: Type name
|
|
type: string
|
|
workers:
|
|
description: Enables dedicated thread(s) for this output. Default
|
|
value is set since version 1.8.13. For previous versions is
|
|
0.
|
|
format: int32
|
|
type: integer
|
|
writeOperation:
|
|
description: Operation to use to write in bulk requests.
|
|
type: string
|
|
type: object
|
|
opentelemetry:
|
|
description: OpenTelemetry defines OpenTelemetry Output configuration.
|
|
properties:
|
|
addLabel:
|
|
additionalProperties:
|
|
type: string
|
|
description: This allows you to add custom labels to all metrics
|
|
exposed through the OpenTelemetry exporter. You may have multiple
|
|
of these fields.
|
|
type: object
|
|
header:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a HTTP header key/value pair. Multiple headers
|
|
can be set.
|
|
type: object
|
|
host:
|
|
description: IP address or hostname of the target HTTP Server,
|
|
default `127.0.0.1`
|
|
type: string
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username credential for access
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
logResponsePayload:
|
|
description: Log the response payload within the Fluent Bit log.
|
|
type: boolean
|
|
logsBodyKey:
|
|
description: The log body key to look up in the log events body/message.
|
|
Sets the Body field of the opentelemtry logs data model.
|
|
type: string
|
|
logsBodyKeyAttributes:
|
|
description: If true, remaining unmatched keys are added as attributes.
|
|
type: boolean
|
|
logsUri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server listening for logs, e.g: /v1/logs'
|
|
type: string
|
|
metricsUri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server listening for metrics, e.g: /v1/metrics'
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP port of the target OpenSearch instance, default
|
|
`80`
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
proxy:
|
|
description: |-
|
|
Specify an HTTP Proxy. The expected format of this value is http://HOST:PORT. Note that HTTPS is not currently supported.
|
|
It is recommended not to set this and to configure the HTTP proxy environment variables instead as they support both HTTP and HTTPS.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
tracesUri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server listening for traces, e.g: /v1/traces'
|
|
type: string
|
|
type: object
|
|
processors:
|
|
description: Processors defines the processors configuration
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
prometheusExporter:
|
|
description: PrometheusExporter_types defines Prometheus exporter
|
|
configuration to expose metrics from Fluent Bit.
|
|
properties:
|
|
addLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: This allows you to add custom labels to all metrics
|
|
exposed through the prometheus exporter. You may have multiple
|
|
of these fields
|
|
type: object
|
|
host:
|
|
description: 'IP address or hostname of the target HTTP Server,
|
|
default: 0.0.0.0'
|
|
type: string
|
|
port:
|
|
description: This is the port Fluent Bit will bind to when hosting
|
|
prometheus metrics.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
required:
|
|
- host
|
|
type: object
|
|
prometheusRemoteWrite:
|
|
description: PrometheusRemoteWrite_types defines Prometheus Remote
|
|
Write configuration.
|
|
properties:
|
|
addLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: This allows you to add custom labels to all metrics
|
|
exposed through the prometheus exporter. You may have multiple
|
|
of these fields
|
|
type: object
|
|
headers:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add a HTTP header key/value pair. Multiple headers
|
|
can be set.
|
|
type: object
|
|
host:
|
|
description: 'IP address or hostname of the target HTTP Server,
|
|
default: 127.0.0.1'
|
|
type: string
|
|
httpPasswd:
|
|
description: |-
|
|
Basic Auth Password.
|
|
Requires HTTP_user to be se
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Basic Auth Username
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
logResponsePayload:
|
|
description: 'Log the response payload within the Fluent Bit log,default:
|
|
false'
|
|
type: boolean
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP port of the target HTTP Serveri, default:80
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
proxy:
|
|
description: Specify an HTTP Proxy. The expected format of this
|
|
value is http://HOST:PORT.
|
|
type: string
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
uri:
|
|
description: 'Specify an optional HTTP URI for the target web
|
|
server, e.g: /something ,default: /'
|
|
type: string
|
|
workers:
|
|
description: 'Enables dedicated thread(s) for this output. Default
|
|
value is set since version 1.8.13. For previous versions is
|
|
0,default : 2'
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- host
|
|
type: object
|
|
retry_limit:
|
|
description: |-
|
|
RetryLimit represents configuration for the scheduler which can be set independently on each output section.
|
|
This option allows to disable retries or impose a limit to try N times and then discard the data after reaching that limit.
|
|
type: string
|
|
s3:
|
|
description: S3 defines S3 Output configuration.
|
|
properties:
|
|
AutoRetryRequests:
|
|
description: Immediately retry failed requests to AWS services
|
|
once.
|
|
type: boolean
|
|
Bucket:
|
|
description: S3 Bucket name
|
|
type: string
|
|
CannedAcl:
|
|
description: Predefined Canned ACL Policy for S3 objects.
|
|
type: string
|
|
Compression:
|
|
description: Compression type for S3 objects.
|
|
type: string
|
|
ContentType:
|
|
description: A standard MIME type for the S3 object; this will
|
|
be set as the Content-Type HTTP header.
|
|
type: string
|
|
Endpoint:
|
|
description: Custom endpoint for the S3 API.
|
|
type: string
|
|
ExternalId:
|
|
description: Specify an external ID for the STS API, can be used
|
|
with the role_arn parameter if your role requires an external
|
|
ID.
|
|
type: string
|
|
JsonDateFormat:
|
|
description: 'Specify the format of the date. Supported formats
|
|
are double, epoch, iso8601 (eg: 2018-05-30T09:39:52.000681Z)
|
|
and java_sql_timestamp (eg: 2018-05-30 09:39:52.000681)'
|
|
type: string
|
|
JsonDateKey:
|
|
description: Specify the name of the time key in the output record.
|
|
To disable the time key just set the value to false.
|
|
type: string
|
|
LogKey:
|
|
description: By default, the whole log record will be sent to
|
|
S3. If you specify a key name with this option, then only the
|
|
value of that key will be sent to S3.
|
|
type: string
|
|
PreserveDataOrdering:
|
|
description: Normally, when an upload request fails, there is
|
|
a high chance for the last received chunk to be swapped with
|
|
a later chunk, resulting in data shuffling. This feature prevents
|
|
this shuffling by using a queue logic for uploads.
|
|
type: boolean
|
|
Profile:
|
|
description: Option to specify an AWS Profile for credentials.
|
|
type: string
|
|
Region:
|
|
description: The AWS region of your S3 bucket
|
|
type: string
|
|
RetryLimit:
|
|
description: Integer value to set the maximum number of retries
|
|
allowed.
|
|
format: int32
|
|
type: integer
|
|
RoleArn:
|
|
description: ARN of an IAM role to assume
|
|
type: string
|
|
S3KeyFormat:
|
|
description: Format string for keys in S3.
|
|
type: string
|
|
S3KeyFormatTagDelimiters:
|
|
description: A series of characters which will be used to split
|
|
the tag into 'parts' for use with the s3_key_format option.
|
|
type: string
|
|
SendContentMd5:
|
|
description: Send the Content-MD5 header with PutObject and UploadPart
|
|
requests, as is required when Object Lock is enabled.
|
|
type: boolean
|
|
StaticFilePath:
|
|
description: Disables behavior where UUID string is automatically
|
|
appended to end of S3 key name when $UUID is not provided in
|
|
s3_key_format. $UUID, time formatters, $TAG, and other dynamic
|
|
key formatters all work as expected while this feature is set
|
|
to true.
|
|
type: boolean
|
|
StorageClass:
|
|
description: Specify the storage class for S3 objects. If this
|
|
option is not specified, objects will be stored with the default
|
|
'STANDARD' storage class.
|
|
type: string
|
|
StoreDir:
|
|
description: Directory to locally buffer data before sending.
|
|
type: string
|
|
StoreDirLimitSize:
|
|
description: The size of the limitation for disk usage in S3.
|
|
type: string
|
|
StsEndpoint:
|
|
description: Custom endpoint for the STS API.
|
|
type: string
|
|
TotalFileSize:
|
|
description: Specifies the size of files in S3. Minimum size is
|
|
1M. With use_put_object On the maximum size is 1G. With multipart
|
|
upload mode, the maximum size is 50G.
|
|
type: string
|
|
UploadChunkSize:
|
|
description: 'The size of each ''part'' for multipart uploads.
|
|
Max: 50M'
|
|
type: string
|
|
UploadTimeout:
|
|
description: Whenever this amount of time has elapsed, Fluent
|
|
Bit will complete an upload and create a new file in S3. For
|
|
example, set this value to 60m and you will get a new file every
|
|
hour.
|
|
type: string
|
|
UsePutObject:
|
|
description: Use the S3 PutObject API, instead of the multipart
|
|
upload API.
|
|
type: boolean
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
required:
|
|
- Bucket
|
|
- Region
|
|
type: object
|
|
splunk:
|
|
description: Splunk defines Splunk Output Configuration
|
|
properties:
|
|
Workers:
|
|
description: Enables dedicated thread(s) for this output. Default
|
|
value `2` is set since version 1.8.13. For previous versions
|
|
is 0.
|
|
format: int32
|
|
type: integer
|
|
channel:
|
|
description: Specify X-Splunk-Request-Channel Header for the HTTP
|
|
Event Collector interface.
|
|
type: string
|
|
compress:
|
|
description: Set payload compression mechanism. The only available
|
|
option is gzip.
|
|
type: string
|
|
eventFields:
|
|
description: |-
|
|
Set event fields for the record. This option is an array and the format is "key_name
|
|
record_accessor_pattern".
|
|
items:
|
|
type: string
|
|
type: array
|
|
eventHost:
|
|
description: Specify the key name that contains the host value.
|
|
This option allows a record accessors pattern.
|
|
type: string
|
|
eventIndex:
|
|
description: The name of the index by which the event data is
|
|
to be indexed.
|
|
type: string
|
|
eventIndexKey:
|
|
description: |-
|
|
Set a record key that will populate the index field. If the key is found, it will have precedence
|
|
over the value set in event_index.
|
|
type: string
|
|
eventKey:
|
|
description: Specify the key name that will be used to send a
|
|
single value as part of the record.
|
|
type: string
|
|
eventSource:
|
|
description: Set the source value to assign to the event data.
|
|
type: string
|
|
eventSourcetype:
|
|
description: Set the sourcetype value to assign to the event data.
|
|
type: string
|
|
eventSourcetypeKey:
|
|
description: |-
|
|
Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence
|
|
over the value set in event_sourcetype.
|
|
type: string
|
|
host:
|
|
description: IP address or hostname of the target OpenSearch instance,
|
|
default `127.0.0.1`
|
|
type: string
|
|
httpBufferSize:
|
|
description: 'Buffer size used to receive Splunk HTTP responses:
|
|
Default `2M`'
|
|
pattern: ^\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$
|
|
type: string
|
|
httpDebugBadRequest:
|
|
description: |-
|
|
If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request
|
|
and response to the stdout interface. This feature is available for debugging purposes.
|
|
type: boolean
|
|
httpPassword:
|
|
description: Password for user defined in HTTP_User
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Optional username credential for access
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP port of the target Splunk instance, default `8088`
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
splunkSendRaw:
|
|
description: |-
|
|
When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to
|
|
the Sending Raw Events section from the docs more details to make this option work properly.
|
|
type: boolean
|
|
splunkToken:
|
|
description: Specify the Authentication Token for the HTTP Event
|
|
Collector interface.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
type: object
|
|
stackdriver:
|
|
description: Stackdriver defines Stackdriver Output Configuration
|
|
properties:
|
|
autoformatStackdriverTrace:
|
|
description: Rewrite the trace field to be formatted for use with
|
|
GCP Cloud Trace
|
|
type: boolean
|
|
customK8sRegex:
|
|
description: A custom regex to extract fields from the local_resource_id
|
|
of the logs
|
|
type: string
|
|
exportToProjectID:
|
|
description: The GCP Project that should receive the logs
|
|
type: string
|
|
googleServiceCredentials:
|
|
description: Path to GCP Credentials JSON file
|
|
type: string
|
|
job:
|
|
description: Identifier for a grouping of tasks. Required if Resource
|
|
is generic_task
|
|
type: string
|
|
k8sClusterLocation:
|
|
description: Location of the cluster that contains the pods/nodes.
|
|
Required if Resource is k8s_container, k8s_node, or k8s_pod
|
|
type: string
|
|
k8sClusterName:
|
|
description: Name of the cluster that the pod is running in. Required
|
|
if Resource is k8s_container, k8s_node, or k8s_pod
|
|
type: string
|
|
labels:
|
|
description: Optional list of comma separated of strings for key/value
|
|
pairs
|
|
items:
|
|
type: string
|
|
type: array
|
|
labelsKey:
|
|
description: Used by Stackdriver to find related labels and extract
|
|
them to LogEntry Labels
|
|
type: string
|
|
location:
|
|
description: GCP/AWS region to store data. Required if Resource
|
|
is generic_node or generic_task
|
|
type: string
|
|
logNameKey:
|
|
description: The value of this field is set as the logName field
|
|
in Stackdriver
|
|
type: string
|
|
metadataServer:
|
|
description: Metadata Server Prefix
|
|
type: string
|
|
namespace:
|
|
description: Namespace identifier. Required if Resource is generic_node
|
|
or generic_task
|
|
type: string
|
|
nodeID:
|
|
description: Node identifier within the namespace. Required if
|
|
Resource is generic_node or generic_task
|
|
type: string
|
|
resource:
|
|
description: Set resource types of data
|
|
type: string
|
|
resourceLabels:
|
|
description: Optional list of comma seperated strings. Setting
|
|
these fields overrides the Stackdriver monitored resource API
|
|
values
|
|
items:
|
|
type: string
|
|
type: array
|
|
serviceAccountEmail:
|
|
description: Email associated with the service
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
serviceAccountSecret:
|
|
description: Private Key associated with the service
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
severityKey:
|
|
description: Specify the key that contains the severity information
|
|
for the logs
|
|
type: string
|
|
tagPrefix:
|
|
description: Used to validate the tags of logs that when the Resource
|
|
is k8s_container, k8s_node, or k8s_pod
|
|
type: string
|
|
taskID:
|
|
description: Identifier for a task within a namespace. Required
|
|
if Resource is generic_task
|
|
type: string
|
|
workers:
|
|
description: Number of dedicated threads for the Stackdriver Output
|
|
Plugin
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdout:
|
|
description: Stdout defines Stdout Output configuration.
|
|
properties:
|
|
format:
|
|
description: Specify the data format to be printed. Supported
|
|
formats are msgpack json, json_lines and json_stream.
|
|
enum:
|
|
- msgpack
|
|
- json
|
|
- json_lines
|
|
- json_stream
|
|
type: string
|
|
jsonDateFormat:
|
|
description: 'Specify the format of the date. Supported formats
|
|
are double, iso8601 (eg: 2018-05-30T09:39:52.000681Z) and epoch.'
|
|
enum:
|
|
- double
|
|
- iso8601
|
|
- epoch
|
|
type: string
|
|
jsonDateKey:
|
|
description: Specify the name of the date field in output.
|
|
type: string
|
|
type: object
|
|
syslog:
|
|
description: Syslog defines Syslog Output configuration.
|
|
properties:
|
|
host:
|
|
description: Host domain or IP address of the remote Syslog server.
|
|
type: string
|
|
mode:
|
|
description: Mode of the desired transport type, the available
|
|
options are tcp, tls and udp.
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP or UDP port of the remote Syslog server.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
syslogAppnameKey:
|
|
description: Key name from the original record that contains the
|
|
application name that generated the message.
|
|
type: string
|
|
syslogFacilityKey:
|
|
description: Key from the original record that contains the Syslog
|
|
facility number.
|
|
type: string
|
|
syslogFormat:
|
|
description: Syslog protocol format to use, the available options
|
|
are rfc3164 and rfc5424.
|
|
type: string
|
|
syslogHostnameKey:
|
|
description: Key name from the original record that contains the
|
|
hostname that generated the message.
|
|
type: string
|
|
syslogMaxSize:
|
|
description: Maximum size allowed per message, in bytes.
|
|
format: int32
|
|
type: integer
|
|
syslogMessageIDKey:
|
|
description: Key name from the original record that contains the
|
|
Message ID associated to the message.
|
|
type: string
|
|
syslogMessageKey:
|
|
description: Key key name that contains the message to deliver.
|
|
type: string
|
|
syslogProcessIDKey:
|
|
description: Key name from the original record that contains the
|
|
Process ID that generated the message.
|
|
type: string
|
|
syslogSDKey:
|
|
description: Key name from the original record that contains the
|
|
Structured Data (SD) content.
|
|
type: string
|
|
syslogSeverityKey:
|
|
description: Key from the original record that contains the Syslog
|
|
severity number.
|
|
type: string
|
|
tls:
|
|
description: |-
|
|
Syslog output plugin supports TTL/SSL, for more details about the properties available
|
|
and general configuration, please refer to the TLS/SSL section.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
totalLimitSize:
|
|
description: Limit the maximum number of Chunks in the filesystem
|
|
for the current output logical destination.
|
|
type: string
|
|
type: object
|
|
tcp:
|
|
description: TCP defines TCP Output configuration.
|
|
properties:
|
|
format:
|
|
description: Specify the data format to be printed. Supported
|
|
formats are msgpack json, json_lines and json_stream.
|
|
enum:
|
|
- msgpack
|
|
- json
|
|
- json_lines
|
|
- json_stream
|
|
type: string
|
|
host:
|
|
description: Target host where Fluent-Bit or Fluentd are listening
|
|
for Forward messages.
|
|
type: string
|
|
jsonDateFormat:
|
|
description: |-
|
|
Specify the format of the date. Supported formats are double, epoch
|
|
and iso8601 (eg: 2018-05-30T09:39:52.000681Z)
|
|
enum:
|
|
- double
|
|
- epoch
|
|
- iso8601
|
|
type: string
|
|
jsonDateKey:
|
|
description: |-
|
|
TSpecify the name of the time key in the output record.
|
|
To disable the time key just set the value to false.
|
|
type: string
|
|
networking:
|
|
description: Include fluentbit networking options for this output-plugin
|
|
properties:
|
|
DNSMode:
|
|
description: Select the primary DNS connection type (TCP or
|
|
UDP).
|
|
enum:
|
|
- TCP
|
|
- UDP
|
|
type: string
|
|
DNSPreferIPv4:
|
|
description: Prioritize IPv4 DNS results when trying to establish
|
|
a connection.
|
|
type: boolean
|
|
DNSResolver:
|
|
description: Select the primary DNS resolver type (LEGACY
|
|
or ASYNC).
|
|
enum:
|
|
- LEGACY
|
|
- ASYNC
|
|
type: string
|
|
connectTimeout:
|
|
description: Set maximum time expressed in seconds to wait
|
|
for a TCP connection to be established, this include the
|
|
TLS handshake time.
|
|
format: int32
|
|
type: integer
|
|
connectTimeoutLogError:
|
|
description: On connection timeout, specify if it should log
|
|
an error. When disabled, the timeout is logged as a debug
|
|
message.
|
|
type: boolean
|
|
keepalive:
|
|
description: 'Enable or disable connection keepalive support.
|
|
Accepts a boolean value: on / off.'
|
|
enum:
|
|
- "on"
|
|
- "off"
|
|
type: string
|
|
keepaliveIdleTimeout:
|
|
description: Set maximum time expressed in seconds for an
|
|
idle keepalive connection.
|
|
format: int32
|
|
type: integer
|
|
keepaliveMaxRecycle:
|
|
description: Set maximum number of times a keepalive connection
|
|
can be used before it is retired.
|
|
format: int32
|
|
type: integer
|
|
maxWorkerConnections:
|
|
description: Set maximum number of TCP connections that can
|
|
be established per worker.
|
|
format: int32
|
|
type: integer
|
|
sourceAddress:
|
|
description: Specify network address to bind for data traffic.
|
|
type: string
|
|
type: object
|
|
port:
|
|
description: TCP Port of the target service.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
tls:
|
|
description: Fluent Bit provides integrated support for Transport
|
|
Layer Security (TLS) and it predecessor Secure Sockets Layer
|
|
(SSL) respectively.
|
|
properties:
|
|
caFile:
|
|
description: Absolute path to CA certificate file
|
|
type: string
|
|
caPath:
|
|
description: Absolute path to scan for certificate files
|
|
type: string
|
|
crtFile:
|
|
description: Absolute path to Certificate file
|
|
type: string
|
|
debug:
|
|
description: |-
|
|
Set TLS debug verbosity level.
|
|
It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose
|
|
enum:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
format: int32
|
|
type: integer
|
|
keyFile:
|
|
description: Absolute path to private Key file
|
|
type: string
|
|
keyPassword:
|
|
description: Optional password for tls.key_file file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
verify:
|
|
description: Force certificate validation
|
|
type: boolean
|
|
vhost:
|
|
description: Hostname to be used for TLS SNI extension
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: outputs.fluentd.fluent.io
|
|
spec:
|
|
group: fluentd.fluent.io
|
|
names:
|
|
kind: Output
|
|
listKind: OutputList
|
|
plural: outputs
|
|
shortNames:
|
|
- fdo
|
|
singular: output
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Output is the Schema for the outputs 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: OutputSpec defines the desired state of Output
|
|
properties:
|
|
outputs:
|
|
items:
|
|
description: Output defines all available output plugins and their
|
|
parameters
|
|
properties:
|
|
buffer:
|
|
description: buffer section
|
|
properties:
|
|
calcNumRecords:
|
|
description: Calculates the number of records, chunk size,
|
|
during chunk resume.
|
|
type: string
|
|
chunkFormat:
|
|
description: ChunkFormat specifies the chunk format for
|
|
calc_num_records.
|
|
enum:
|
|
- msgpack
|
|
- text
|
|
- auto
|
|
type: string
|
|
chunkLimitRecords:
|
|
description: The max number of events that each chunks can
|
|
store in it.
|
|
pattern: ^\d+(KB|MB|GB|TB)$
|
|
type: string
|
|
chunkLimitSize:
|
|
description: |-
|
|
Buffer parameters
|
|
The max size of each chunks: events will be written into chunks until the size of chunks become this size
|
|
Default: 8MB (memory) / 256MB (file)
|
|
pattern: ^\d+(KB|MB|GB|TB)$
|
|
type: string
|
|
compress:
|
|
description: |-
|
|
Fluentd will decompress these compressed chunks automatically before passing them to the output plugin
|
|
If gzip is set, Fluentd compresses data records before writing to buffer chunks.
|
|
Default:text.
|
|
enum:
|
|
- text
|
|
- gzip
|
|
type: string
|
|
delayedCommitTimeout:
|
|
description: The timeout (seconds) until output plugin decides
|
|
if the async write operation has failed. Default is 60s
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
disableChunkBackup:
|
|
description: Instead of storing unrecoverable chunks in
|
|
the backup directory, just discard them. This option is
|
|
new in Fluentd v1.2.6.
|
|
type: boolean
|
|
flushAtShutdown:
|
|
description: |-
|
|
Flush parameters
|
|
This specifies whether to flush/write all buffer chunks on shutdown or not.
|
|
type: boolean
|
|
flushInterval:
|
|
description: FlushInterval defines the flush interval
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
flushMode:
|
|
description: |-
|
|
FlushMode defines the flush mode:
|
|
lazy: flushes/writes chunks once per timekey
|
|
interval: flushes/writes chunks per specified time via flush_interval
|
|
immediate: flushes/writes chunks immediately after events are appended into chunks
|
|
default: equals to lazy if time is specified as chunk key, interval otherwise
|
|
enum:
|
|
- default
|
|
- lazy
|
|
- interval
|
|
- immediate
|
|
type: string
|
|
flushThreadCount:
|
|
description: The number of threads to flush/write chunks
|
|
in parallel
|
|
pattern: ^\d+$
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique name for
|
|
the configuration.
|
|
type: string
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
overflowAction:
|
|
description: |-
|
|
OverflowAtction defines the output plugin behave when its buffer queue is full.
|
|
Default: throw_exception
|
|
type: string
|
|
path:
|
|
description: The path where buffer chunks are stored. This
|
|
field would make no effect in memory buffer plugin.
|
|
type: string
|
|
pathSuffix:
|
|
description: Changes the suffix of the buffer file.
|
|
type: string
|
|
queueLimitLength:
|
|
description: 'The queue length limitation of this buffer
|
|
plugin instance. Default: 0.95'
|
|
pattern: ^\d+.?\d+$
|
|
type: string
|
|
queuedChunksLimitSize:
|
|
description: |-
|
|
Limit the number of queued chunks. Default: 1
|
|
If a smaller flush_interval is set, e.g. 1s,
|
|
there are lots of small queued chunks in the buffer.
|
|
With file buffer, it may consume a lot of fd resources when output destination has a problem.
|
|
This parameter mitigates such situations.
|
|
minimum: 1
|
|
type: integer
|
|
retryExponentialBackoffBase:
|
|
description: The base number of exponential backoff for
|
|
retries.
|
|
pattern: ^\d+(\.[0-9]{0,2})?$
|
|
type: string
|
|
retryForever:
|
|
description: If true, plugin will ignore retry_timeout and
|
|
retry_max_times options and retry flushing forever.
|
|
type: boolean
|
|
retryMaxInterval:
|
|
description: The maximum interval (seconds) for exponential
|
|
backoff between retries while failing
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
retryMaxTimes:
|
|
description: 'The maximum number of times to retry to flush
|
|
the failed chunks. Default: none'
|
|
type: integer
|
|
retryRandomize:
|
|
description: If true, the output plugin will retry after
|
|
randomized interval not to do burst retries
|
|
type: boolean
|
|
retrySecondaryThreshold:
|
|
description: The ratio of retry_timeout to switch to use
|
|
the secondary while failing.
|
|
pattern: ^\d+.?\d+$
|
|
type: string
|
|
retryTimeout:
|
|
description: |-
|
|
Retry parameters
|
|
The maximum time (seconds) to retry to flush again the failed chunks, until the plugin discards the buffer chunks
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
retryType:
|
|
description: Output plugin will retry periodically with
|
|
fixed intervals.
|
|
type: string
|
|
retryWait:
|
|
description: Wait in seconds before the next retry to flush
|
|
or constant factor of exponential backoff
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
tag:
|
|
description: |-
|
|
The output plugins group events into chunks.
|
|
Chunk keys, specified as the argument of <buffer> section, control how to group events into chunks.
|
|
If tag is empty, which means blank Chunk Keys.
|
|
Tag also supports Nested Field, combination of Chunk Keys, placeholders, etc.
|
|
See https://docs.fluentd.org/configuration/buffer-section.
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this type,
|
|
default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timekey:
|
|
description: Output plugin will flush chunks per specified
|
|
time (enabled when time is specified in chunk keys)
|
|
type: string
|
|
timekeyWait:
|
|
description: Output plugin will write chunks after timekey_wait
|
|
seconds later after timekey expiration
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
totalLimitSize:
|
|
description: |-
|
|
The size limitation of this buffer plugin instance
|
|
Default: 512MB (memory) / 64GB (file)
|
|
pattern: ^\d+(KB|MB|GB|TB)$
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type of the
|
|
plugin.
|
|
enum:
|
|
- file
|
|
- memory
|
|
- file_single
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
required:
|
|
- type
|
|
type: object
|
|
cloudWatch:
|
|
description: out_cloudwatch plugin
|
|
properties:
|
|
autoCreateStream:
|
|
type: boolean
|
|
awsEcsAuthentication:
|
|
type: boolean
|
|
awsKeyId:
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
awsSecKey:
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
awsStsDurationSeconds:
|
|
type: string
|
|
awsStsEndpointUrl:
|
|
type: string
|
|
awsStsExternalId:
|
|
type: string
|
|
awsStsPolicy:
|
|
type: string
|
|
awsStsRoleArn:
|
|
type: string
|
|
awsStsSessionName:
|
|
type: string
|
|
awsUseSts:
|
|
type: boolean
|
|
concurrency:
|
|
type: integer
|
|
durationSeconds:
|
|
type: string
|
|
endpoint:
|
|
description: Specify an AWS endpoint to send data to.
|
|
type: string
|
|
httpProxy:
|
|
type: string
|
|
includeTimeKey:
|
|
type: boolean
|
|
jsonHandler:
|
|
type: string
|
|
localtime:
|
|
type: boolean
|
|
logGroupAwsTags:
|
|
type: string
|
|
logGroupAwsTagsKey:
|
|
type: string
|
|
logGroupName:
|
|
type: string
|
|
logGroupNameKey:
|
|
type: string
|
|
logRejectedRequest:
|
|
type: string
|
|
logStreamName:
|
|
type: string
|
|
logStreamNameKey:
|
|
type: string
|
|
maxEventsPerBatch:
|
|
type: string
|
|
maxMessageLength:
|
|
type: string
|
|
messageKeys:
|
|
type: string
|
|
policy:
|
|
type: string
|
|
putLogEventsDisableRetryLimit:
|
|
type: boolean
|
|
putLogEventsRetryLimit:
|
|
type: string
|
|
putLogEventsRetryWait:
|
|
type: string
|
|
region:
|
|
description: The AWS region.
|
|
type: string
|
|
removeLogGroupAwsTagsKey:
|
|
type: boolean
|
|
removeLogGroupNameKey:
|
|
type: boolean
|
|
removeLogStreamNameKey:
|
|
type: boolean
|
|
removeRetentionInDaysKey:
|
|
type: boolean
|
|
retentionInDays:
|
|
type: string
|
|
retentionInDaysKey:
|
|
type: string
|
|
roleArn:
|
|
description: ARN of an IAM role to assume (for cross account
|
|
access).
|
|
type: string
|
|
roleSessionName:
|
|
description: Role Session name
|
|
type: string
|
|
sslVerifyPeer:
|
|
type: boolean
|
|
useTagAsGroup:
|
|
type: string
|
|
useTagAsStream:
|
|
type: string
|
|
webIdentityTokenFile:
|
|
description: Web identity token file
|
|
type: string
|
|
type: object
|
|
copy:
|
|
description: copy plugin
|
|
properties:
|
|
copyMode:
|
|
description: CopyMode defines how to pass the events to
|
|
<store> plugins.
|
|
enum:
|
|
- no_copy
|
|
- shallow
|
|
- deep
|
|
- marshal
|
|
type: string
|
|
required:
|
|
- copyMode
|
|
type: object
|
|
customPlugin:
|
|
description: Custom plugin type
|
|
properties:
|
|
config:
|
|
type: string
|
|
required:
|
|
- config
|
|
type: object
|
|
datadog:
|
|
description: datadog plugin
|
|
properties:
|
|
apiKey:
|
|
description: This parameter is required in order to authenticate
|
|
your fluent agent.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
compressionLevel:
|
|
description: Set the log compression level for HTTP (1 to
|
|
9, 9 being the best ratio)
|
|
format: int32
|
|
type: integer
|
|
ddHostname:
|
|
description: Used by Datadog to identify the host submitting
|
|
the logs.
|
|
type: string
|
|
ddSource:
|
|
description: This tells Datadog what integration it is
|
|
type: string
|
|
ddSourcecategory:
|
|
description: Multiple value attribute. Can be used to refine
|
|
the source attribute
|
|
type: string
|
|
ddTags:
|
|
description: Custom tags with the following format "key1:value1,
|
|
key2:value2"
|
|
type: string
|
|
host:
|
|
description: Proxy endpoint when logs are not directly forwarded
|
|
to Datadog
|
|
type: string
|
|
httpProxy:
|
|
description: HTTP proxy, only takes effect if HTTP forwarding
|
|
is enabled (use_http). Defaults to HTTP_PROXY/http_proxy
|
|
env vars.
|
|
type: string
|
|
includeTagKey:
|
|
description: Automatically include the Fluentd tag in the
|
|
record.
|
|
type: boolean
|
|
maxBackoff:
|
|
description: The maximum time waited between each retry
|
|
in seconds
|
|
format: int32
|
|
type: integer
|
|
maxRetries:
|
|
description: The number of retries before the output plugin
|
|
stops. Set to -1 for unlimited retries
|
|
format: int32
|
|
type: integer
|
|
noSSLValidation:
|
|
description: Disable SSL validation (useful for proxy forwarding)
|
|
type: boolean
|
|
port:
|
|
description: Proxy port when logs are not directly forwarded
|
|
to Datadog and ssl is not used
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
service:
|
|
description: Used by Datadog to correlate between logs,
|
|
traces and metrics.
|
|
type: string
|
|
sslPort:
|
|
description: Port used to send logs over a SSL encrypted
|
|
connection to Datadog. If use_http is disabled, use 10516
|
|
for the US region and 443 for the EU region.
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
tagKey:
|
|
description: Where to store the Fluentd tag.
|
|
type: string
|
|
timestampKey:
|
|
description: Name of the attribute which will contain timestamp
|
|
of the log event. If nil, timestamp attribute is not added.
|
|
type: string
|
|
useCompression:
|
|
description: Enable log compression for HTTP
|
|
type: boolean
|
|
useHTTP:
|
|
description: Enable HTTP forwarding. If you disable it,
|
|
make sure to change the port to 10514 or ssl_port to 10516
|
|
type: boolean
|
|
useJson:
|
|
description: Event format, if true, the event is sent in
|
|
json format. Othwerwise, in plain text.
|
|
type: boolean
|
|
useSSL:
|
|
description: If true, the agent initializes a secure connection
|
|
to Datadog. In clear TCP otherwise.
|
|
type: boolean
|
|
type: object
|
|
elasticsearch:
|
|
description: out_es plugin
|
|
properties:
|
|
caFile:
|
|
description: Optional, Absolute path to CA certificate file
|
|
type: string
|
|
clientCert:
|
|
description: Optional, Absolute path to client Certificate
|
|
file
|
|
type: string
|
|
clientKey:
|
|
description: Optional, Absolute path to client private Key
|
|
file
|
|
type: string
|
|
clientKeyPassword:
|
|
description: Optional, password for ClientKey file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudAuth:
|
|
description: Authenticate towards Elastic Cloud using cloudAuth.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudId:
|
|
description: |-
|
|
Authenticate towards Elastic Cloud using CloudId. If set, cloudAuth must
|
|
be set as well and host, port, user and password are ignored.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
enableIlm:
|
|
description: Optional, Enable Index Lifecycle Management
|
|
(ILM)
|
|
type: boolean
|
|
failOnPuttingTemplateRetryExceeded:
|
|
description: 'Optional, Indicates whether to fail when max_retry_putting_template
|
|
is exceeded. If you have multiple output plugin, you could
|
|
use this property to do not fail on fluentd statup (default:
|
|
false)'
|
|
type: boolean
|
|
host:
|
|
description: 'The hostname of your Elasticsearch node (default:
|
|
localhost).'
|
|
type: string
|
|
hosts:
|
|
description: Hosts defines a list of hosts if you want to
|
|
connect to more than one Elasticsearch nodes
|
|
type: string
|
|
ilmPolicy:
|
|
description: Optional, Specify ILM policy contents as Hash
|
|
type: string
|
|
ilmPolicyId:
|
|
description: Optional, Specify ILM policy id
|
|
type: string
|
|
ilmPolicyOverride:
|
|
description: Optional, Specify whether overwriting ilm policy
|
|
or not
|
|
type: boolean
|
|
indexName:
|
|
description: IndexName defines the placeholder syntax of
|
|
Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
|
|
type: string
|
|
logEs400Reason:
|
|
description: Optional, Enable logging of 400 reason without
|
|
enabling debug log level
|
|
type: boolean
|
|
logstashFormat:
|
|
description: 'If true, Fluentd uses the conventional index
|
|
name format logstash-%Y.%m.%d (default: false). This option
|
|
supersedes the index_name option.'
|
|
type: boolean
|
|
logstashPrefix:
|
|
description: 'LogstashPrefix defines the logstash prefix
|
|
index name to write events when logstash_format is true
|
|
(default: logstash).'
|
|
type: string
|
|
maxRetryPuttingTemplate:
|
|
description: 'Optional, You can specify times of retry putting
|
|
template (default: 10)'
|
|
format: int32
|
|
type: integer
|
|
password:
|
|
description: Optional, The login credentials to connect
|
|
to Elasticsearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
path:
|
|
description: 'Path defines the REST API endpoint of Elasticsearch
|
|
to post write requests (default: nil).'
|
|
type: string
|
|
port:
|
|
description: 'The port number of your Elasticsearch node
|
|
(default: 9200).'
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
reconnectOnError:
|
|
description: 'Optional, Indicates that the plugin should
|
|
reset connection on any error (reconnect on next send)
|
|
(default: false)'
|
|
type: boolean
|
|
reloadAfter:
|
|
description: Optional, When ReloadConnections true, this
|
|
is the integer number of operations after which the plugin
|
|
will reload the connections. The default value is 10000.
|
|
format: int32
|
|
type: integer
|
|
reloadConnections:
|
|
description: 'Optional, Automatically reload connection
|
|
after 10000 documents (default: true)'
|
|
type: boolean
|
|
reloadOnFailure:
|
|
description: 'Optional, Indicates that the elasticsearch-transport
|
|
will try to reload the nodes addresses if there is a failure
|
|
while making the request, this can be useful to quickly
|
|
remove a dead node from the list of addresses (default:
|
|
false)'
|
|
type: boolean
|
|
requestTimeout:
|
|
description: 'Optional, HTTP Timeout (default: 5)'
|
|
pattern: ^\d+(s|m|h|d)$
|
|
type: string
|
|
scheme:
|
|
description: 'Specify https if your Elasticsearch endpoint
|
|
supports SSL (default: http).'
|
|
type: string
|
|
snifferClassName:
|
|
description: Optional, Provide a different sniffer class
|
|
name
|
|
type: string
|
|
sslVerify:
|
|
description: Optional, Force certificate validation
|
|
type: boolean
|
|
suppressTypeName:
|
|
description: Optional, Suppress '[types removal]' warnings
|
|
on elasticsearch 7.x
|
|
type: boolean
|
|
templateOverwrite:
|
|
description: 'Optional, Always update the template, even
|
|
if it already exists (default: false)'
|
|
type: boolean
|
|
user:
|
|
description: Optional, The login credentials to connect
|
|
to Elasticsearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
elasticsearchDataStream:
|
|
description: out_es datastreams plugin
|
|
properties:
|
|
caFile:
|
|
description: Optional, Absolute path to CA certificate file
|
|
type: string
|
|
clientCert:
|
|
description: Optional, Absolute path to client Certificate
|
|
file
|
|
type: string
|
|
clientKey:
|
|
description: Optional, Absolute path to client private Key
|
|
file
|
|
type: string
|
|
clientKeyPassword:
|
|
description: Optional, password for ClientKey file
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudAuth:
|
|
description: Authenticate towards Elastic Cloud using cloudAuth.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
cloudId:
|
|
description: |-
|
|
Authenticate towards Elastic Cloud using CloudId. If set, cloudAuth must
|
|
be set as well and host, port, user and password are ignored.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
dataStreamIlmName:
|
|
description: Optional, You can specify the name of an existing
|
|
ILM policy, which will be applied to the data stream.
|
|
If not present, it creates a new ILM default policy (unless
|
|
data_stream_template_name is defined, in that case the
|
|
ILM will be set to the one specified in the matching index
|
|
template)
|
|
type: string
|
|
dataStreamIlmPolicy:
|
|
description: Optional, You can specify the ILM policy contents
|
|
as hash. If not present, it will apply the ILM default
|
|
policy
|
|
type: string
|
|
dataStreamIlmPolicyOverwrite:
|
|
description: Optional, Specify whether the data stream ILM
|
|
policy should be overwritten
|
|
type: boolean
|
|
dataStreamName:
|
|
description: You can specify Elasticsearch data stream name
|
|
by this parameter. This parameter is mandatory for elasticsearch_data_stream
|
|
type: string
|
|
dataStreamTemplateName:
|
|
description: Optional, You can specify an existing matching
|
|
index template for the data stream. If not present, it
|
|
creates a new matching index template
|
|
type: string
|
|
dataStreamTemplateUseIndexPatternsWildcard:
|
|
description: Optional, Specify whether index patterns should
|
|
include a wildcard (*) when creating an index template.
|
|
This is particularly useful to prevent errors in scenarios
|
|
where index templates are generated automatically, and
|
|
multiple services with distinct suffixes are in use
|
|
type: boolean
|
|
enableIlm:
|
|
description: Optional, Enable Index Lifecycle Management
|
|
(ILM)
|
|
type: boolean
|
|
failOnPuttingTemplateRetryExceeded:
|
|
description: 'Optional, Indicates whether to fail when max_retry_putting_template
|
|
is exceeded. If you have multiple output plugin, you could
|
|
use this property to do not fail on fluentd statup (default:
|
|
false)'
|
|
type: boolean
|
|
host:
|
|
description: 'The hostname of your Elasticsearch node (default:
|
|
localhost).'
|
|
type: string
|
|
hosts:
|
|
description: Hosts defines a list of hosts if you want to
|
|
connect to more than one Elasticsearch nodes
|
|
type: string
|
|
ilmPolicy:
|
|
description: Optional, Specify ILM policy contents as Hash
|
|
type: string
|
|
ilmPolicyId:
|
|
description: Optional, Specify ILM policy id
|
|
type: string
|
|
ilmPolicyOverride:
|
|
description: Optional, Specify whether overwriting ilm policy
|
|
or not
|
|
type: boolean
|
|
logEs400Reason:
|
|
description: Optional, Enable logging of 400 reason without
|
|
enabling debug log level
|
|
type: boolean
|
|
maxRetryPuttingTemplate:
|
|
description: 'Optional, You can specify times of retry putting
|
|
template (default: 10)'
|
|
format: int32
|
|
type: integer
|
|
password:
|
|
description: Optional, The login credentials to connect
|
|
to Elasticsearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
path:
|
|
description: 'Path defines the REST API endpoint of Elasticsearch
|
|
to post write requests (default: nil).'
|
|
type: string
|
|
port:
|
|
description: 'The port number of your Elasticsearch node
|
|
(default: 9200).'
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
reconnectOnError:
|
|
description: 'Optional, Indicates that the plugin should
|
|
reset connection on any error (reconnect on next send)
|
|
(default: false)'
|
|
type: boolean
|
|
reloadAfter:
|
|
description: Optional, When ReloadConnections true, this
|
|
is the integer number of operations after which the plugin
|
|
will reload the connections. The default value is 10000.
|
|
format: int32
|
|
type: integer
|
|
reloadConnections:
|
|
description: 'Optional, Automatically reload connection
|
|
after 10000 documents (default: true)'
|
|
type: boolean
|
|
reloadOnFailure:
|
|
description: 'Optional, Indicates that the elasticsearch-transport
|
|
will try to reload the nodes addresses if there is a failure
|
|
while making the request, this can be useful to quickly
|
|
remove a dead node from the list of addresses (default:
|
|
false)'
|
|
type: boolean
|
|
requestTimeout:
|
|
description: 'Optional, HTTP Timeout (default: 5)'
|
|
pattern: ^\d+(s|m|h|d)$
|
|
type: string
|
|
scheme:
|
|
description: 'Specify https if your Elasticsearch endpoint
|
|
supports SSL (default: http).'
|
|
type: string
|
|
snifferClassName:
|
|
description: Optional, Provide a different sniffer class
|
|
name
|
|
type: string
|
|
sslVerify:
|
|
description: Optional, Force certificate validation
|
|
type: boolean
|
|
suppressTypeName:
|
|
description: Optional, Suppress '[types removal]' warnings
|
|
on elasticsearch 7.x
|
|
type: boolean
|
|
templateOverwrite:
|
|
description: 'Optional, Always update the template, even
|
|
if it already exists (default: false)'
|
|
type: boolean
|
|
user:
|
|
description: Optional, The login credentials to connect
|
|
to Elasticsearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
required:
|
|
- dataStreamName
|
|
type: object
|
|
format:
|
|
description: format section
|
|
properties:
|
|
delimiter:
|
|
description: Delimiter for each field.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique name for
|
|
the configuration.
|
|
type: string
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
newline:
|
|
description: Specify newline characters.
|
|
enum:
|
|
- lf
|
|
- crlf
|
|
type: string
|
|
outputTag:
|
|
description: Output tag field if true.
|
|
type: boolean
|
|
outputTime:
|
|
description: Output time field if true.
|
|
type: boolean
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this type,
|
|
default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type of the
|
|
plugin.
|
|
enum:
|
|
- out_file
|
|
- json
|
|
- ltsv
|
|
- csv
|
|
- msgpack
|
|
- hash
|
|
- single_value
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
type: object
|
|
forward:
|
|
description: out_forward plugin
|
|
properties:
|
|
ackResponseTimeout:
|
|
description: This option is used when require_ack_response
|
|
is true. This default value is based on popular tcp_syn_retries.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
connectTimeout:
|
|
description: The connection timeout for the socket. When
|
|
the connection is timed out during the connection establishment,
|
|
Errno::ETIMEDOUT error is raised.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
dnsRoundRobin:
|
|
description: |-
|
|
Enable client-side DNS round robin. Uniform randomly pick an IP address to send data when a hostname has several IP addresses.
|
|
heartbeat_type udp is not available with dns_round_robintrue. Use heartbeat_type tcp or heartbeat_type none.
|
|
type: boolean
|
|
expireDnsCache:
|
|
description: Sets TTL to expire DNS cache in seconds. Set
|
|
0 not to use DNS Cache.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
hardTimeout:
|
|
description: The hard timeout used to detect server failure.
|
|
The default value is equal to the send_timeout parameter.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
heartbeatInterval:
|
|
description: The interval of the heartbeat packer.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
heartbeatType:
|
|
description: Specifies the transport protocol for heartbeats.
|
|
Set none to disable.
|
|
enum:
|
|
- transport
|
|
- tcp
|
|
- udp
|
|
- none
|
|
type: string
|
|
ignoreNetworkErrorsAtStartup:
|
|
description: Ignores DNS resolution and errors at startup
|
|
time.
|
|
type: boolean
|
|
keepalive:
|
|
description: Enables the keepalive connection.
|
|
type: boolean
|
|
keepaliveTimeout:
|
|
description: Timeout for keepalive. Default value is nil
|
|
which means to keep the connection alive as long as possible.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
phiFailureDetector:
|
|
description: Use the "Phi accrual failure detector" to detect
|
|
server failure.
|
|
type: boolean
|
|
phiThreshold:
|
|
description: The threshold parameter used to detect server
|
|
faults.
|
|
type: integer
|
|
recoverWait:
|
|
description: The wait time before accepting a server fault
|
|
recovery.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
requireAckResponse:
|
|
description: Changes the protocol to at-least-once. The
|
|
plugin waits the ack from destination's in_forward plugin.
|
|
type: boolean
|
|
security:
|
|
description: ServiceDiscovery defines the security section
|
|
properties:
|
|
allowAnonymousSource:
|
|
description: Allows the anonymous source. <client> 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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
sendTimeout:
|
|
description: The timeout time when sending event logs.
|
|
pattern: ^\d+(\.[0-9]{0,2})?(s|m|h|d)?$
|
|
type: string
|
|
servers:
|
|
description: Servers defines the servers section, at least
|
|
one is required
|
|
items:
|
|
description: Server defines the common parameters for
|
|
the server plugin
|
|
properties:
|
|
host:
|
|
description: Host defines the IP address or host name
|
|
of the server.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique
|
|
name for the configuration.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies the
|
|
plugin-specific logging level
|
|
type: string
|
|
name:
|
|
description: Name defines the name of the server.
|
|
Used for logging and certificate verification in
|
|
TLS transport (when the host is the address).
|
|
type: string
|
|
password:
|
|
description: Password defines the password for authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
port:
|
|
description: Port defines the port number of the host.
|
|
Note that both TCP packets (event stream) and UDP
|
|
packets (heartbeat messages) are sent to this port.
|
|
type: string
|
|
sharedKey:
|
|
description: SharedKey defines the shared key per
|
|
server.
|
|
type: string
|
|
standby:
|
|
description: Standby marks a node as the standby node
|
|
for an Active-Standby model between Fluentd nodes.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type
|
|
of the plugin.
|
|
type: string
|
|
username:
|
|
description: Username defines the username for authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
weight:
|
|
description: Weight defines the load balancing weight
|
|
type: string
|
|
type: object
|
|
type: array
|
|
serviceDiscovery:
|
|
description: ServiceDiscovery defines the service_discovery
|
|
section
|
|
properties:
|
|
confEncoding:
|
|
description: The encoding of the configuration file.
|
|
type: string
|
|
dnsLookup:
|
|
description: DnsLookup resolves the hostname to IP address
|
|
of the SRV's Target.
|
|
type: string
|
|
dnsServerHost:
|
|
description: DnsServerHost defines the hostname of the
|
|
DNS server to request the SRV record.
|
|
type: string
|
|
hostname:
|
|
description: The name in RFC2782.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique name
|
|
for the configuration.
|
|
type: string
|
|
interval:
|
|
description: Interval defines the interval of sending
|
|
requests to DNS server.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies the
|
|
plugin-specific logging level
|
|
type: string
|
|
path:
|
|
description: The path of the target list. Default is
|
|
'/etc/fluent/sd.yaml'
|
|
type: string
|
|
proto:
|
|
description: Proto without the underscore in RFC2782.
|
|
type: string
|
|
server:
|
|
description: The server section of this plugin
|
|
properties:
|
|
host:
|
|
description: Host defines the IP address or host
|
|
name of the server.
|
|
type: string
|
|
id:
|
|
description: The @id parameter specifies a unique
|
|
name for the configuration.
|
|
type: string
|
|
logLevel:
|
|
description: The @log_level parameter specifies
|
|
the plugin-specific logging level
|
|
type: string
|
|
name:
|
|
description: Name defines the name of the server.
|
|
Used for logging and certificate verification
|
|
in TLS transport (when the host is the address).
|
|
type: string
|
|
password:
|
|
description: Password defines the password for authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
port:
|
|
description: Port defines the port number of the
|
|
host. Note that both TCP packets (event stream)
|
|
and UDP packets (heartbeat messages) are sent
|
|
to this port.
|
|
type: string
|
|
sharedKey:
|
|
description: SharedKey defines the shared key per
|
|
server.
|
|
type: string
|
|
standby:
|
|
description: Standby marks a node as the standby
|
|
node for an Active-Standby model between Fluentd
|
|
nodes.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type
|
|
of the plugin.
|
|
type: string
|
|
username:
|
|
description: Username defines the username for authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
weight:
|
|
description: Weight defines the load balancing weight
|
|
type: string
|
|
type: object
|
|
service:
|
|
description: Service without the underscore in RFC2782.
|
|
type: string
|
|
type:
|
|
description: The @type parameter specifies the type
|
|
of the plugin.
|
|
enum:
|
|
- static
|
|
- file
|
|
- srv
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
tlsAllowSelfSignedCert:
|
|
description: Allows self-signed certificates or not.
|
|
type: boolean
|
|
tlsCertLogicalStoreName:
|
|
description: The certificate logical store name on Windows
|
|
system certstore. This parameter is for Windows only.
|
|
type: string
|
|
tlsCertPath:
|
|
description: The additional CA certificate path for TLS.
|
|
type: string
|
|
tlsCertThumbprint:
|
|
description: The certificate thumbprint for searching from
|
|
Windows system certstore. This parameter is for Windows
|
|
only.
|
|
type: string
|
|
tlsCertUseEnterpriseStore:
|
|
description: Enables the certificate enterprise store on
|
|
Windows system certstore. This parameter is for Windows
|
|
only.
|
|
type: boolean
|
|
tlsCiphers:
|
|
description: The cipher configuration of TLS transport.
|
|
type: string
|
|
tlsClientCertPath:
|
|
description: The client certificate path for TLS.
|
|
type: string
|
|
tlsClientPrivateKeyPassphrase:
|
|
description: The TLS private key passphrase for the client.
|
|
type: string
|
|
tlsClientPrivateKeyPath:
|
|
description: The client private key path for TLS.
|
|
type: string
|
|
tlsInsecureMode:
|
|
description: Skips all verification of certificates or not.
|
|
type: boolean
|
|
tlsVerifyHostname:
|
|
description: Verifies hostname of servers and certificates
|
|
or not in TLS transport.
|
|
type: boolean
|
|
tlsVersion:
|
|
description: The default version of TLS transport.
|
|
enum:
|
|
- TLSv1_1
|
|
- TLSv1_2
|
|
type: string
|
|
verifyConnectionAtStartup:
|
|
description: Verify that a connection can be made with one
|
|
of out_forward nodes at the time of startup.
|
|
type: boolean
|
|
required:
|
|
- servers
|
|
type: object
|
|
http:
|
|
description: out_http plugin
|
|
properties:
|
|
auth:
|
|
description: Auth section for this plugin
|
|
properties:
|
|
auth:
|
|
description: The method for HTTP authentication. Now
|
|
only basic.
|
|
type: string
|
|
password:
|
|
description: The password for basic authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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: The username for basic authentication.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
contentType:
|
|
description: ContentType defines Content-Type for HTTP request.
|
|
out_http automatically set Content-Type for built-in formatters
|
|
when this parameter is not specified.
|
|
type: string
|
|
endpoint:
|
|
description: Endpoint defines the endpoint for HTTP request.
|
|
If you want to use HTTPS, use https prefix.
|
|
type: string
|
|
errorResponseAsUnrecoverable:
|
|
description: Raise UnrecoverableError when the response
|
|
code is not SUCCESS.
|
|
type: boolean
|
|
headers:
|
|
description: Headers defines the additional headers for
|
|
HTTP request.
|
|
type: string
|
|
headersFromPlaceholders:
|
|
description: Additional placeholder based headers for HTTP
|
|
request. If you want to use tag or record field, use this
|
|
parameter instead of headers.
|
|
type: string
|
|
httpMethod:
|
|
description: HttpMethod defines the method for HTTP request.
|
|
enum:
|
|
- post
|
|
- put
|
|
type: string
|
|
jsonArray:
|
|
description: JsonArray defines whether to use the array
|
|
format of JSON or not
|
|
type: boolean
|
|
openTimeout:
|
|
description: OpenTimeout defines the connection open timeout
|
|
in seconds.
|
|
type: integer
|
|
proxy:
|
|
description: Proxy defines the proxy for HTTP request.
|
|
type: string
|
|
readTimeout:
|
|
description: ReadTimeout defines the read timeout in seconds.
|
|
type: integer
|
|
retryableResponseCodes:
|
|
description: The list of retryable response codes. If the
|
|
response code is included in this list, out_http retries
|
|
the buffer flush.
|
|
type: string
|
|
sslTimeout:
|
|
description: SslTimeout defines the TLS timeout in seconds.
|
|
type: integer
|
|
tlsCaCertPath:
|
|
description: TlsCaCertPath defines the CA certificate path
|
|
for TLS.
|
|
type: string
|
|
tlsCiphers:
|
|
description: TlsCiphers defines the cipher suites configuration
|
|
of TLS.
|
|
type: string
|
|
tlsClientCertPath:
|
|
description: TlsClientCertPath defines the client certificate
|
|
path for TLS.
|
|
type: string
|
|
tlsPrivateKeyPassphrase:
|
|
description: TlsPrivateKeyPassphrase defines the client
|
|
private key passphrase for TLS.
|
|
type: string
|
|
tlsPrivateKeyPath:
|
|
description: TlsPrivateKeyPath defines the client private
|
|
key path for TLS.
|
|
type: string
|
|
tlsVerifyMode:
|
|
description: TlsVerifyMode defines the verify mode of TLS.
|
|
enum:
|
|
- peer
|
|
- none
|
|
type: string
|
|
tlsVersion:
|
|
description: TlsVersion defines the default version of TLS
|
|
transport.
|
|
enum:
|
|
- TLSv1_1
|
|
- TLSv1_2
|
|
type: string
|
|
type: object
|
|
inject:
|
|
description: inject section
|
|
properties:
|
|
hostname:
|
|
description: Hostname value
|
|
type: string
|
|
hostnameKey:
|
|
description: The field name to inject hostname
|
|
type: string
|
|
inline:
|
|
description: Time section
|
|
properties:
|
|
localtime:
|
|
description: If true, uses local time.
|
|
type: boolean
|
|
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
|
|
timeType:
|
|
description: parses/formats value according to this
|
|
type, default is string
|
|
enum:
|
|
- float
|
|
- unixtime
|
|
- string
|
|
- mixed
|
|
type: string
|
|
timezone:
|
|
description: Uses the specified timezone.
|
|
type: string
|
|
utc:
|
|
description: If true, uses UTC.
|
|
type: boolean
|
|
type: object
|
|
tagKey:
|
|
description: The field name to inject tag
|
|
type: string
|
|
timeKey:
|
|
description: The field name to inject time
|
|
type: string
|
|
workerIdKey:
|
|
description: The field name to inject worker_id
|
|
type: string
|
|
type: object
|
|
kafka:
|
|
description: out_kafka plugin
|
|
properties:
|
|
brokers:
|
|
description: 'The list of all seed brokers, with their host
|
|
and port information. Default: localhost:9092'
|
|
type: string
|
|
compressionCodec:
|
|
description: 'The codec the producer uses to compress messages
|
|
(default: nil).'
|
|
enum:
|
|
- gzip
|
|
- snappy
|
|
type: string
|
|
defaultTopic:
|
|
description: 'The name of the default topic. (default: nil)'
|
|
type: string
|
|
requiredAcks:
|
|
description: The number of acks required per request.
|
|
type: integer
|
|
topicKey:
|
|
description: The field name for the target topic. If the
|
|
field value is app, this plugin writes events to the app
|
|
topic.
|
|
type: string
|
|
useEventTime:
|
|
description: Set fluentd event time to Kafka's CreateTime.
|
|
type: boolean
|
|
type: object
|
|
logLevel:
|
|
description: The @log_level parameter specifies the plugin-specific
|
|
logging level
|
|
type: string
|
|
loki:
|
|
description: out_loki plugin
|
|
properties:
|
|
bearerTokenFile:
|
|
description: |-
|
|
Set path to file with bearer authentication token
|
|
Can be used as alterntative to HTTP basic authentication
|
|
type: string
|
|
dropSingleKey:
|
|
description: If a record only has 1 key, then just set the
|
|
log line to the value and discard the key.
|
|
type: boolean
|
|
extractKubernetesLabels:
|
|
description: If set to true, it will add all Kubernetes
|
|
labels to the Stream labels.
|
|
type: boolean
|
|
httpPassword:
|
|
description: |-
|
|
Password for user defined in HTTP_User
|
|
Set HTTP basic authentication password
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
httpUser:
|
|
description: Set HTTP basic authentication user name.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
includeThreadLabel:
|
|
description: Whether or not to include the fluentd_thread
|
|
label when multiple threads are used for flushing
|
|
type: boolean
|
|
insecure:
|
|
description: Disable certificate validation
|
|
type: boolean
|
|
labelKeys:
|
|
description: |-
|
|
Optional list of record keys that will be placed as stream labels.
|
|
This configuration property is for records key only.
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
description: |-
|
|
Stream labels for API request. It can be multiple comma separated of strings specifying key=value pairs.
|
|
In addition to fixed parameters, it also allows to add custom record keys (similar to label_keys property).
|
|
items:
|
|
type: string
|
|
type: array
|
|
lineFormat:
|
|
description: |-
|
|
Format to use when flattening the record to a log line. Valid values are json or key_value.
|
|
If set to json, the log line sent to Loki will be the Fluentd record dumped as JSON.
|
|
If set to key_value, the log line will be each item in the record concatenated together (separated by a single space) in the format.
|
|
enum:
|
|
- json
|
|
- key_value
|
|
type: string
|
|
removeKeys:
|
|
description: |-
|
|
Optional list of record keys that will be removed from stream labels.
|
|
This configuration property is for records key only.
|
|
items:
|
|
type: string
|
|
type: array
|
|
tenantID:
|
|
description: |-
|
|
Tenant ID used by default to push logs to Loki.
|
|
If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
tlsCaCertFile:
|
|
description: TlsCaCert defines the CA certificate file for
|
|
TLS.
|
|
type: string
|
|
tlsClientCertFile:
|
|
description: TlsClientCert defines the client certificate
|
|
file for TLS.
|
|
type: string
|
|
tlsPrivateKeyFile:
|
|
description: TlsPrivateKey defines the client private key
|
|
file for TLS.
|
|
type: string
|
|
url:
|
|
description: Loki URL.
|
|
type: string
|
|
required:
|
|
- url
|
|
type: object
|
|
opensearch:
|
|
description: out_opensearch plugin
|
|
properties:
|
|
host:
|
|
description: 'The hostname of your Opensearch node (default:
|
|
localhost).'
|
|
type: string
|
|
hosts:
|
|
description: Hosts defines a list of hosts if you want to
|
|
connect to more than one Openearch nodes
|
|
type: string
|
|
indexName:
|
|
description: IndexName defines the placeholder syntax of
|
|
Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
|
|
type: string
|
|
logstashFormat:
|
|
description: 'If true, Fluentd uses the conventional index
|
|
name format logstash-%Y.%m.%d (default: false). This option
|
|
supersedes the index_name option.'
|
|
type: boolean
|
|
logstashPrefix:
|
|
description: 'LogstashPrefix defines the logstash prefix
|
|
index name to write events when logstash_format is true
|
|
(default: logstash).'
|
|
type: string
|
|
password:
|
|
description: Optional, The login credentials to connect
|
|
to Opensearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
path:
|
|
description: 'Path defines the REST API endpoint of Opensearch
|
|
to post write requests (default: nil).'
|
|
type: string
|
|
port:
|
|
description: 'The port number of your Opensearch node (default:
|
|
9200).'
|
|
format: int32
|
|
maximum: 65535
|
|
minimum: 1
|
|
type: integer
|
|
scheme:
|
|
description: 'Specify https if your Opensearch endpoint
|
|
supports SSL (default: http).'
|
|
type: string
|
|
sslVerify:
|
|
description: Optional, Force certificate validation
|
|
type: boolean
|
|
user:
|
|
description: Optional, The login credentials to connect
|
|
to Opensearch
|
|
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:
|
|
default: ""
|
|
description: |-
|
|
Name of the referent.
|
|
This field is effectively required, but due to backwards compatibility is
|
|
allowed to be empty. Instances of this type with an empty value here are
|
|
almost certainly wrong.
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
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
|
|
s3:
|
|
description: out_s3 plugin
|
|
properties:
|
|
awsKeyId:
|
|
description: The AWS access key id.
|
|
type: string
|
|
awsSecKey:
|
|
description: The AWS secret key.
|
|
type: string
|
|
forcePathStyle:
|
|
description: This prevents AWS SDK from breaking endpoint
|
|
URL
|
|
type: boolean
|
|
path:
|
|
description: The path prefix of the files on S3.
|
|
type: string
|
|
proxyUri:
|
|
description: The proxy URL.
|
|
type: string
|
|
s3Bucket:
|
|
description: The Amazon S3 bucket name.
|
|
type: string
|
|
s3Endpoint:
|
|
description: The endpoint URL (like "http://localhost:9000/")
|
|
type: string
|
|
s3ObjectKeyFormat:
|
|
description: The actual S3 path. This is interpolated to
|
|
the actual path.
|
|
type: string
|
|
s3Region:
|
|
description: The Amazon S3 region name
|
|
type: string
|
|
sseCustomerAlgorithm:
|
|
description: The AWS KMS enctyption algorithm.
|
|
type: string
|
|
sseCustomerKey:
|
|
description: The AWS KMS key.
|
|
type: string
|
|
sseCustomerKeyMd5:
|
|
description: The AWS KMS key MD5.
|
|
type: string
|
|
ssekmsKeyId:
|
|
description: The AWS KMS key ID.
|
|
type: string
|
|
sslVerifyPeer:
|
|
description: Verify the SSL certificate of the endpoint.
|
|
type: boolean
|
|
storeAs:
|
|
description: The compression type.
|
|
enum:
|
|
- gzip
|
|
- lzo
|
|
- json
|
|
- txt
|
|
type: string
|
|
timeSliceFormat:
|
|
description: This timestamp is added to each file name
|
|
type: string
|
|
useServerSideEncryption:
|
|
description: the following parameters are for S3 kms https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
|
type: string
|
|
type: object
|
|
stdout:
|
|
description: out_stdout plugin
|
|
type: object
|
|
tag:
|
|
description: Which tag to be matched.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: OutputStatus defines the observed state of Output
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.15.0
|
|
name: parsers.fluentbit.fluent.io
|
|
spec:
|
|
group: fluentbit.fluent.io
|
|
names:
|
|
kind: Parser
|
|
listKind: ParserList
|
|
plural: parsers
|
|
shortNames:
|
|
- fbp
|
|
singular: parser
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Parser is the Schema for namespace level parser 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: ParserSpec defines the desired state of ClusterParser
|
|
properties:
|
|
decoders:
|
|
description: |-
|
|
Decoders are a built-in feature available through the Parsers file, each Parser definition can optionally set one or multiple decoders.
|
|
There are two type of decoders type: Decode_Field and Decode_Field_As.
|
|
items:
|
|
properties:
|
|
decodeField:
|
|
description: |-
|
|
If the content can be decoded in a structured message,
|
|
append that structure message (keys and values) to the original log message.
|
|
type: string
|
|
decodeFieldAs:
|
|
description: |-
|
|
Any content decoded (unstructured or structured) will be replaced in the same key/value,
|
|
no extra keys are added.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
json:
|
|
description: JSON defines json parser configuration.
|
|
properties:
|
|
timeFormat:
|
|
description: Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
|
|
type: string
|
|
timeKeep:
|
|
description: Time_Keep
|
|
type: boolean
|
|
timeKey:
|
|
description: Time_Key
|
|
type: string
|
|
type: object
|
|
logfmt:
|
|
description: Logfmt defines logfmt parser configuration.
|
|
type: object
|
|
ltsv:
|
|
description: LTSV defines ltsv parser configuration.
|
|
properties:
|
|
timeFormat:
|
|
description: Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
|
|
type: string
|
|
timeKeep:
|
|
description: Time_Keep
|
|
type: boolean
|
|
timeKey:
|
|
description: Time_Key
|
|
type: string
|
|
types:
|
|
type: string
|
|
type: object
|
|
regex:
|
|
description: Regex defines regex parser configuration.
|
|
properties:
|
|
regex:
|
|
type: string
|
|
timeFormat:
|
|
description: Time_Format, eg. %Y-%m-%dT%H:%M:%S %z
|
|
type: string
|
|
timeKeep:
|
|
description: Time_Keep
|
|
type: boolean
|
|
timeKey:
|
|
description: Time_Key
|
|
type: string
|
|
timeOffset:
|
|
description: Time_Offset, eg. +0200
|
|
type: string
|
|
types:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: operator
|
|
app.kubernetes.io/name: fluent-operator
|
|
name: fluent-operator
|
|
namespace: freeleaps-logging-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: controller
|
|
app.kubernetes.io/name: fluent-operator
|
|
name: fluent-operator
|
|
rules:
|
|
- apiGroups:
|
|
- apps
|
|
resources:
|
|
- daemonsets
|
|
- statefulsets
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- pods
|
|
verbs:
|
|
- get
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- secrets
|
|
- configmaps
|
|
- serviceaccounts
|
|
- configmaps
|
|
- services
|
|
- namespaces
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- fluentbit.fluent.io
|
|
resources:
|
|
- collectors
|
|
- fluentbits
|
|
- fluentbits/finalizers
|
|
- clusterfluentbitconfigs
|
|
- clusterfluentbitconfigs/finalizers
|
|
- clusterfilters
|
|
- clusterfilters/finalizers
|
|
- clusterinputs
|
|
- clusterinputs/finalizers
|
|
- clusteroutputs
|
|
- clusteroutputs/finalizers
|
|
- clusterparsers
|
|
- clusterparsers/finalizers
|
|
- fluentbitconfigs
|
|
- fluentbitconfigs/finalizers
|
|
- multilineparsers
|
|
- multilineparsers/finalizers
|
|
- clustermultilineparsers
|
|
- clustermultilineparsers/finalizers
|
|
- filters
|
|
- outputs
|
|
- parsers
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- fluentd.fluent.io
|
|
resources:
|
|
- fluentds
|
|
- fluentds/status
|
|
- clusterfluentdconfigs
|
|
- clusterfluentdconfigs/status
|
|
- fluentdconfigs
|
|
- fluentdconfigs/status
|
|
- clusterfilters
|
|
- filters
|
|
- clusteroutputs
|
|
- outputs
|
|
- inputs
|
|
- clusterinputs
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- rbac.authorization.k8s.io
|
|
resources:
|
|
- clusterrolebindings
|
|
verbs:
|
|
- create
|
|
- list
|
|
- get
|
|
- watch
|
|
- patch
|
|
- apiGroups:
|
|
- rbac.authorization.k8s.io
|
|
resources:
|
|
- clusterroles
|
|
verbs:
|
|
- create
|
|
- list
|
|
- get
|
|
- watch
|
|
- patch
|
|
- apiGroups:
|
|
- rbac.authorization.k8s.io
|
|
resources:
|
|
- rolebindings
|
|
verbs:
|
|
- create
|
|
- list
|
|
- get
|
|
- watch
|
|
- patch
|
|
- apiGroups:
|
|
- rbac.authorization.k8s.io
|
|
resources:
|
|
- roles
|
|
verbs:
|
|
- create
|
|
- list
|
|
- get
|
|
- watch
|
|
- patch
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: controller
|
|
app.kubernetes.io/name: fluent-operator
|
|
name: fluent-operator
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: fluent-operator
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: fluent-operator
|
|
namespace: freeleaps-logging-system
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: operator
|
|
app.kubernetes.io/name: fluent-operator
|
|
name: fluent-operator
|
|
namespace: freeleaps-logging-system
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/component: operator
|
|
app.kubernetes.io/name: fluent-operator
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: operator
|
|
app.kubernetes.io/name: fluent-operator
|
|
spec:
|
|
containers:
|
|
- env:
|
|
- name: NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.namespace
|
|
image: kubesphere/fluent-operator:v3.3.0
|
|
name: fluent-operator
|
|
resources:
|
|
limits:
|
|
cpu: 200m
|
|
memory: 60Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 20Mi
|
|
volumeMounts:
|
|
- mountPath: /fluent-operator
|
|
name: env
|
|
initContainers:
|
|
- command:
|
|
- /bin/sh
|
|
- -c
|
|
- set -ex; echo CONTAINER_ROOT_DIR=$(docker info -f '{{.DockerRootDir}}' 2>
|
|
/dev/null) > /fluent-operator/fluent-bit.env
|
|
image: docker:20.10
|
|
name: setenv
|
|
volumeMounts:
|
|
- mountPath: /fluent-operator
|
|
name: env
|
|
- mountPath: /var/run/docker.sock
|
|
name: dockersock
|
|
readOnly: true
|
|
serviceAccountName: fluent-operator
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: env
|
|
- hostPath:
|
|
path: /var/run/docker.sock
|
|
name: dockersock
|