--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.15.0 name: flows.logging.banzaicloud.io spec: group: logging.banzaicloud.io names: categories: - logging-all kind: Flow listKind: FlowList plural: flows singular: flow scope: Namespaced versions: - additionalPrinterColumns: - description: Is the flow active? jsonPath: .status.active name: Active type: boolean - description: Number of problems jsonPath: .status.problemsCount name: Problems type: integer name: v1alpha1 schema: openAPIV3Schema: properties: apiVersion: type: string kind: type: string metadata: type: object spec: properties: filters: items: properties: concat: properties: continuous_line_regexp: type: string flush_interval: type: integer keep_partial_key: type: boolean keep_partial_metadata: type: string key: type: string multiline_end_regexp: type: string multiline_start_regexp: type: string n_lines: type: integer partial_cri_logtag_key: type: string partial_cri_stream_key: type: string partial_key: type: string partial_metadata_format: type: string partial_value: type: string separator: type: string stream_identity_key: type: string timeout_label: type: string use_first_timestamp: type: boolean use_partial_cri_logtag: type: boolean use_partial_metadata: type: string type: object dedot: properties: de_dot_nested: type: boolean de_dot_separator: type: string type: object detectExceptions: properties: force_line_breaks: type: boolean languages: items: type: string type: array match_tag: type: string max_bytes: type: integer max_lines: type: integer message: type: string multiline_flush_interval: type: string remove_tag_prefix: type: string stream: type: string type: object elasticsearch_genid: properties: hash_id_key: type: string hash_type: type: string include_tag_in_seed: type: boolean include_time_in_seed: type: boolean record_keys: type: string separator: type: string use_entire_record: type: boolean use_record_as_seed: type: boolean type: object enhanceK8s: properties: api_groups: items: type: string type: array bearer_token_file: type: string ca_file: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object cache_refresh: type: integer cache_refresh_variation: type: integer cache_size: type: integer cache_ttl: type: integer client_cert: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object client_key: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object core_api_versions: items: type: string type: array data_type: type: string in_namespace_path: items: type: string type: array in_pod_path: items: type: string type: array kubernetes_url: type: string secret_dir: type: string ssl_partial_chain: type: boolean verify_ssl: type: boolean type: object geoip: properties: backend_library: type: string geoip_database: type: string geoip_lookup_keys: type: string geoip2_database: type: string records: items: additionalProperties: type: string type: object type: array skip_adding_null_record: type: boolean type: object grep: properties: and: items: properties: exclude: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array regexp: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array type: object type: array exclude: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array or: items: properties: exclude: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array regexp: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array type: object type: array regexp: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array type: object kube_events_timestamp: properties: mapped_time_key: type: string timestamp_fields: items: type: string type: array type: object parser: properties: emit_invalid_record_to_error: type: boolean hash_value_field: type: string inject_key_prefix: type: string key_name: type: string parse: properties: custom_pattern_path: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object delimiter: type: string delimiter_pattern: type: string estimate_current_event: type: boolean expression: type: string format: type: string format_firstline: type: string grok_failure_key: type: string grok_name_key: type: string grok_pattern: type: string grok_patterns: items: properties: keep_time_key: type: boolean name: type: string pattern: type: string time_format: type: string time_key: type: string timezone: type: string required: - pattern type: object type: array keep_time_key: type: boolean keys: type: string label_delimiter: type: string local_time: type: boolean multiline: items: type: string type: array multiline_start_regexp: type: string null_empty_string: type: boolean null_value_pattern: type: string patterns: items: properties: custom_pattern_path: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object estimate_current_event: type: boolean expression: type: string format: type: string grok_failure_key: type: string grok_name_key: type: string grok_pattern: type: string grok_patterns: items: properties: keep_time_key: type: boolean name: type: string pattern: type: string time_format: type: string time_key: type: string timezone: type: string required: - pattern type: object type: array keep_time_key: type: boolean local_time: type: boolean multiline_start_regexp: type: string null_empty_string: type: boolean null_value_pattern: type: string time_format: type: string time_key: type: string time_type: type: string timezone: type: string type: type: string types: type: string utc: type: boolean type: object type: array time_format: type: string time_key: type: string time_type: type: string timezone: type: string type: type: string types: type: string utc: type: boolean type: object parsers: items: properties: custom_pattern_path: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object delimiter: type: string delimiter_pattern: type: string estimate_current_event: type: boolean expression: type: string format: type: string format_firstline: type: string grok_failure_key: type: string grok_name_key: type: string grok_pattern: type: string grok_patterns: items: properties: keep_time_key: type: boolean name: type: string pattern: type: string time_format: type: string time_key: type: string timezone: type: string required: - pattern type: object type: array keep_time_key: type: boolean keys: type: string label_delimiter: type: string local_time: type: boolean multiline: items: type: string type: array multiline_start_regexp: type: string null_empty_string: type: boolean null_value_pattern: type: string patterns: items: properties: custom_pattern_path: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object estimate_current_event: type: boolean expression: type: string format: type: string grok_failure_key: type: string grok_name_key: type: string grok_pattern: type: string grok_patterns: items: properties: keep_time_key: type: boolean name: type: string pattern: type: string time_format: type: string time_key: type: string timezone: type: string required: - pattern type: object type: array keep_time_key: type: boolean local_time: type: boolean multiline_start_regexp: type: string null_empty_string: type: boolean null_value_pattern: type: string time_format: type: string time_key: type: string time_type: type: string timezone: type: string type: type: string types: type: string utc: type: boolean type: object type: array time_format: type: string time_key: type: string time_type: type: string timezone: type: string type: type: string types: type: string utc: type: boolean type: object type: array remove_key_name_field: type: boolean replace_invalid_sequence: type: boolean reserve_data: type: boolean reserve_time: type: boolean type: object prometheus: properties: labels: additionalProperties: type: string type: object metrics: items: properties: buckets: type: string desc: type: string key: type: string labels: additionalProperties: type: string type: object name: type: string type: type: string required: - desc - name - type type: object type: array type: object record_modifier: properties: char_encoding: type: string prepare_value: type: string records: items: additionalProperties: type: string type: object type: array remove_keys: type: string replaces: items: properties: expression: type: string key: type: string replace: type: string required: - expression - key - replace type: object type: array whitelist_keys: type: string type: object record_transformer: properties: auto_typecast: type: boolean enable_ruby: type: boolean keep_keys: type: string records: items: additionalProperties: type: string type: object type: array remove_keys: type: string renew_record: type: boolean renew_time_key: type: string type: object stdout: properties: output_type: type: string type: object sumologic: properties: collector_key_name: type: string collector_value: type: string exclude_container_regex: type: string exclude_facility_regex: type: string exclude_host_regex: type: string exclude_namespace_regex: type: string exclude_pod_regex: type: string exclude_priority_regex: type: string exclude_unit_regex: type: string log_format: type: string source_category: type: string source_category_key_name: type: string source_category_prefix: type: string source_category_replace_dash: type: string source_host: type: string source_host_key_name: type: string source_name: type: string source_name_key_name: type: string tracing_annotation_prefix: type: string tracing_container_name: type: string tracing_format: type: boolean tracing_host: type: string tracing_label_prefix: type: string tracing_namespace: type: string tracing_pod: type: string tracing_pod_id: type: string type: object tag_normaliser: properties: format: type: string match_tag: type: string type: object throttle: properties: group_bucket_limit: type: integer group_bucket_period_s: type: integer group_drop_logs: type: boolean group_key: type: string group_reset_rate_s: type: integer group_warning_delay_s: type: integer type: object useragent: properties: delete_key: type: boolean flatten: type: boolean key_name: type: string out_key: type: string type: object type: object type: array flowLabel: type: string globalOutputRefs: items: type: string type: array includeLabelInRouter: type: boolean localOutputRefs: items: type: string type: array loggingRef: type: string match: items: properties: exclude: properties: container_names: items: type: string type: array hosts: items: type: string type: array labels: additionalProperties: type: string type: object type: object select: properties: container_names: items: type: string type: array hosts: items: type: string type: array labels: additionalProperties: type: string type: object type: object type: object type: array outputRefs: items: type: string type: array selectors: additionalProperties: type: string type: object type: object status: properties: active: type: boolean problems: items: type: string type: array problemsCount: type: integer type: object type: object served: true storage: false subresources: status: {} - additionalPrinterColumns: - description: Is the flow active? jsonPath: .status.active name: Active type: boolean - description: Number of problems jsonPath: .status.problemsCount name: Problems type: integer name: v1beta1 schema: openAPIV3Schema: properties: apiVersion: type: string kind: type: string metadata: type: object spec: properties: filters: items: properties: concat: properties: continuous_line_regexp: type: string flush_interval: type: integer keep_partial_key: type: boolean keep_partial_metadata: type: string key: type: string multiline_end_regexp: type: string multiline_start_regexp: type: string n_lines: type: integer partial_cri_logtag_key: type: string partial_cri_stream_key: type: string partial_key: type: string partial_metadata_format: type: string partial_value: type: string separator: type: string stream_identity_key: type: string timeout_label: type: string use_first_timestamp: type: boolean use_partial_cri_logtag: type: boolean use_partial_metadata: type: string type: object dedot: properties: de_dot_nested: type: boolean de_dot_separator: type: string type: object detectExceptions: properties: force_line_breaks: type: boolean languages: items: type: string type: array match_tag: type: string max_bytes: type: integer max_lines: type: integer message: type: string multiline_flush_interval: type: string remove_tag_prefix: type: string stream: type: string type: object elasticsearch_genid: properties: hash_id_key: type: string hash_type: type: string include_tag_in_seed: type: boolean include_time_in_seed: type: boolean record_keys: type: string separator: type: string use_entire_record: type: boolean use_record_as_seed: type: boolean type: object enhanceK8s: properties: api_groups: items: type: string type: array bearer_token_file: type: string ca_file: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object cache_refresh: type: integer cache_refresh_variation: type: integer cache_size: type: integer cache_ttl: type: integer client_cert: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object client_key: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object core_api_versions: items: type: string type: array data_type: type: string in_namespace_path: items: type: string type: array in_pod_path: items: type: string type: array kubernetes_url: type: string secret_dir: type: string ssl_partial_chain: type: boolean verify_ssl: type: boolean type: object geoip: properties: backend_library: type: string geoip_database: type: string geoip_lookup_keys: type: string geoip2_database: type: string records: items: additionalProperties: type: string type: object type: array skip_adding_null_record: type: boolean type: object grep: properties: and: items: properties: exclude: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array regexp: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array type: object type: array exclude: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array or: items: properties: exclude: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array regexp: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array type: object type: array regexp: items: properties: key: type: string pattern: type: string required: - key - pattern type: object type: array type: object kube_events_timestamp: properties: mapped_time_key: type: string timestamp_fields: items: type: string type: array type: object parser: properties: emit_invalid_record_to_error: type: boolean hash_value_field: type: string inject_key_prefix: type: string key_name: type: string parse: properties: custom_pattern_path: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object delimiter: type: string delimiter_pattern: type: string estimate_current_event: type: boolean expression: type: string format: type: string format_firstline: type: string grok_failure_key: type: string grok_name_key: type: string grok_pattern: type: string grok_patterns: items: properties: keep_time_key: type: boolean name: type: string pattern: type: string time_format: type: string time_key: type: string timezone: type: string required: - pattern type: object type: array keep_time_key: type: boolean keys: type: string label_delimiter: type: string local_time: type: boolean multiline: items: type: string type: array multiline_start_regexp: type: string null_empty_string: type: boolean null_value_pattern: type: string patterns: items: properties: custom_pattern_path: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object estimate_current_event: type: boolean expression: type: string format: type: string grok_failure_key: type: string grok_name_key: type: string grok_pattern: type: string grok_patterns: items: properties: keep_time_key: type: boolean name: type: string pattern: type: string time_format: type: string time_key: type: string timezone: type: string required: - pattern type: object type: array keep_time_key: type: boolean local_time: type: boolean multiline_start_regexp: type: string null_empty_string: type: boolean null_value_pattern: type: string time_format: type: string time_key: type: string time_type: type: string timezone: type: string type: type: string types: type: string utc: type: boolean type: object type: array time_format: type: string time_key: type: string time_type: type: string timezone: type: string type: type: string types: type: string utc: type: boolean type: object parsers: items: properties: custom_pattern_path: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object delimiter: type: string delimiter_pattern: type: string estimate_current_event: type: boolean expression: type: string format: type: string format_firstline: type: string grok_failure_key: type: string grok_name_key: type: string grok_pattern: type: string grok_patterns: items: properties: keep_time_key: type: boolean name: type: string pattern: type: string time_format: type: string time_key: type: string timezone: type: string required: - pattern type: object type: array keep_time_key: type: boolean keys: type: string label_delimiter: type: string local_time: type: boolean multiline: items: type: string type: array multiline_start_regexp: type: string null_empty_string: type: boolean null_value_pattern: type: string patterns: items: properties: custom_pattern_path: properties: mountFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object value: type: string valueFrom: properties: secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object estimate_current_event: type: boolean expression: type: string format: type: string grok_failure_key: type: string grok_name_key: type: string grok_pattern: type: string grok_patterns: items: properties: keep_time_key: type: boolean name: type: string pattern: type: string time_format: type: string time_key: type: string timezone: type: string required: - pattern type: object type: array keep_time_key: type: boolean local_time: type: boolean multiline_start_regexp: type: string null_empty_string: type: boolean null_value_pattern: type: string time_format: type: string time_key: type: string time_type: type: string timezone: type: string type: type: string types: type: string utc: type: boolean type: object type: array time_format: type: string time_key: type: string time_type: type: string timezone: type: string type: type: string types: type: string utc: type: boolean type: object type: array remove_key_name_field: type: boolean replace_invalid_sequence: type: boolean reserve_data: type: boolean reserve_time: type: boolean type: object prometheus: properties: labels: additionalProperties: type: string type: object metrics: items: properties: buckets: type: string desc: type: string key: type: string labels: additionalProperties: type: string type: object name: type: string type: type: string required: - desc - name - type type: object type: array type: object record_modifier: properties: char_encoding: type: string prepare_value: type: string records: items: additionalProperties: type: string type: object type: array remove_keys: type: string replaces: items: properties: expression: type: string key: type: string replace: type: string required: - expression - key - replace type: object type: array whitelist_keys: type: string type: object record_transformer: properties: auto_typecast: type: boolean enable_ruby: type: boolean keep_keys: type: string records: items: additionalProperties: type: string type: object type: array remove_keys: type: string renew_record: type: boolean renew_time_key: type: string type: object stdout: properties: output_type: type: string type: object sumologic: properties: collector_key_name: type: string collector_value: type: string exclude_container_regex: type: string exclude_facility_regex: type: string exclude_host_regex: type: string exclude_namespace_regex: type: string exclude_pod_regex: type: string exclude_priority_regex: type: string exclude_unit_regex: type: string log_format: type: string source_category: type: string source_category_key_name: type: string source_category_prefix: type: string source_category_replace_dash: type: string source_host: type: string source_host_key_name: type: string source_name: type: string source_name_key_name: type: string tracing_annotation_prefix: type: string tracing_container_name: type: string tracing_format: type: boolean tracing_host: type: string tracing_label_prefix: type: string tracing_namespace: type: string tracing_pod: type: string tracing_pod_id: type: string type: object tag_normaliser: properties: format: type: string match_tag: type: string type: object throttle: properties: group_bucket_limit: type: integer group_bucket_period_s: type: integer group_drop_logs: type: boolean group_key: type: string group_reset_rate_s: type: integer group_warning_delay_s: type: integer type: object useragent: properties: delete_key: type: boolean flatten: type: boolean key_name: type: string out_key: type: string type: object type: object type: array flowLabel: type: string globalOutputRefs: items: type: string type: array includeLabelInRouter: type: boolean localOutputRefs: items: type: string type: array loggingRef: type: string match: items: properties: exclude: properties: container_names: items: type: string type: array hosts: items: type: string type: array labels: additionalProperties: type: string type: object type: object select: properties: container_names: items: type: string type: array hosts: items: type: string type: array labels: additionalProperties: type: string type: object type: object type: object type: array outputRefs: items: type: string type: array selectors: additionalProperties: type: string type: object type: object status: properties: active: type: boolean problems: items: type: string type: array problemsCount: type: integer type: object type: object served: true storage: true subresources: status: {}