diff --git a/apis/fluentbit/v1alpha2/clusteroutput_types.go b/apis/fluentbit/v1alpha2/clusteroutput_types.go index 72c29d1f2..1e0850549 100644 --- a/apis/fluentbit/v1alpha2/clusteroutput_types.go +++ b/apis/fluentbit/v1alpha2/clusteroutput_types.go @@ -100,7 +100,8 @@ type OutputSpec struct { S3 *output.S3 `json:"s3,omitempty"` // Gelf defines GELF Output configuration. Gelf *output.Gelf `json:"gelf,omitempty"` - + // OracleLogAnalytics defines OracleLogAnalytics Output configuration + OracleLogAnalytics *output.OracleLogAnalytics `json:"oracleLogAnalytics,omitempty"` // CustomPlugin defines Custom Output configuration. CustomPlugin *custom.CustomPlugin `json:"customPlugin,omitempty"` } diff --git a/apis/fluentbit/v1alpha2/plugins/output/oracle_log_analytics.go b/apis/fluentbit/v1alpha2/plugins/output/oracle_log_analytics.go new file mode 100644 index 000000000..77f118dea --- /dev/null +++ b/apis/fluentbit/v1alpha2/plugins/output/oracle_log_analytics.go @@ -0,0 +1,92 @@ +package output + +import ( + "fmt" + "github.com/fluent/fluent-operator/v2/apis/fluentbit/v1alpha2/plugins" + "github.com/fluent/fluent-operator/v2/apis/fluentbit/v1alpha2/plugins/params" +) + +// +kubebuilder:object:generate:=true + +type OracleLogAnalytics struct { + Auth *AuthConfig `json:"auth,omitempty"` + OCIConfigInRecord bool `json:"ociConfigInRecord,omitempty"` + ObjectStorageNamespace *string `json:"objectStorageNamespace,omitempty"` + ProfileName *string `json:"profileName,omitempty"` + LogGroupId *string `json:"logGroupId,omitempty"` + LogSourceName *string `json:"logSourceName,omitempty"` + LogEntityId *string `json:"logEntityId,omitempty"` + LogEntityType *string `json:"logEntityType,omitempty"` + LogPath *string `json:"logPath,omitempty"` + LogSet *string `json:"logSetId,omitempty"` + GlobalMetadata map[string]string `json:"globalMetadata,omitempty"` + LogEventMetadata map[string]string `json:"logEventMetadata,omitempty"` + Workers *int32 `json:"Workers,omitempty"` + *plugins.TLS `json:"tls,omitempty"` +} + +// +kubebuilder:object:generate:=true + +type AuthConfig struct { + ConfigFileLocation *string `json:"configFileLocation,omitempty"` + ProfileName *string `json:"profileName,omitempty"` +} + +func (_ *OracleLogAnalytics) Name() string { + return "oracle_log_analytics" +} + +func (o *OracleLogAnalytics) Params(sl plugins.SecretLoader) (*params.KVs, error) { + kvs := params.NewKVs() + if o.Auth.ConfigFileLocation != nil { + kvs.Insert("config_file_location", *o.Auth.ConfigFileLocation) + } + if o.Auth.ProfileName != nil { + kvs.Insert("profile_name", *o.Auth.ProfileName) + } + if o.ObjectStorageNamespace != nil { + kvs.Insert("namespace", *o.ObjectStorageNamespace) + } + if o.OCIConfigInRecord { + kvs.Insert("oci_config_in_record", "true") + } + if o.LogGroupId != nil { + kvs.Insert("oci_la_log_group_id", *o.LogGroupId) + } + if o.LogSourceName != nil { + kvs.Insert("oci_la_log_source_name", *o.LogSourceName) + } + if o.LogEntityId != nil { + kvs.Insert("oci_la_log_entity_id", *o.LogEntityId) + } + if o.LogEntityType != nil { + kvs.Insert("oci_la_log_entity_type", *o.LogEntityType) + } + if o.LogPath != nil { + kvs.Insert("oci_la_log_path", *o.LogPath) + } + if o.LogSet != nil { + kvs.Insert("oci_la_log_set_id", *o.LogSet) + } + if o.GlobalMetadata != nil { + for k, v := range o.GlobalMetadata { + kvs.Insert("oci_la_global_metadata", fmt.Sprintf("%s %s", k, v)) + } + } + if o.LogEventMetadata != nil { + for k, v := range o.LogEventMetadata { + kvs.Insert("oci_la_metadata", fmt.Sprintf("%s %s", k, v)) + } + } + if o.Workers != nil { + kvs.Insert("Workers", fmt.Sprint(*o.Workers)) + } + if o.TLS != nil { + tls, err := o.TLS.Params(sl) + if err != nil { + return nil, err + } + kvs.Merge(tls) + } + return kvs, nil +} diff --git a/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusteroutputs.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusteroutputs.yaml index a05a53050..e360c6d5d 100644 --- a/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusteroutputs.yaml +++ b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_clusteroutputs.yaml @@ -2230,6 +2230,114 @@ spec: server listening for traces, e.g: /v1/traces' type: string type: object + oracleLogAnalytics: + description: OracleLogAnalytics defines OracleLogAnalytics Output + configuration + properties: + Workers: + format: int32 + type: integer + auth: + properties: + configFileLocation: + type: string + profileName: + type: string + type: object + globalMetadata: + additionalProperties: + type: string + type: object + logEntityId: + type: string + logEntityType: + type: string + logEventMetadata: + additionalProperties: + type: string + type: object + logGroupId: + type: string + logPath: + type: string + logSetId: + type: string + logSourceName: + type: string + objectStorageNamespace: + type: string + ociConfigInRecord: + type: boolean + profileName: + 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: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify: + description: Force certificate validation + type: boolean + vhost: + description: Hostname to be used for TLS SNI extension + type: string + type: object + type: object prometheusExporter: description: PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit. diff --git a/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_outputs.yaml b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_outputs.yaml index 383ce7085..7bc7a7913 100644 --- a/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_outputs.yaml +++ b/charts/fluent-operator/charts/fluent-bit-crds/crds/fluentbit.fluent.io_outputs.yaml @@ -2230,6 +2230,114 @@ spec: server listening for traces, e.g: /v1/traces' type: string type: object + oracleLogAnalytics: + description: OracleLogAnalytics defines OracleLogAnalytics Output + configuration + properties: + Workers: + format: int32 + type: integer + auth: + properties: + configFileLocation: + type: string + profileName: + type: string + type: object + globalMetadata: + additionalProperties: + type: string + type: object + logEntityId: + type: string + logEntityType: + type: string + logEventMetadata: + additionalProperties: + type: string + type: object + logGroupId: + type: string + logPath: + type: string + logSetId: + type: string + logSourceName: + type: string + objectStorageNamespace: + type: string + ociConfigInRecord: + type: boolean + profileName: + 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: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify: + description: Force certificate validation + type: boolean + vhost: + description: Hostname to be used for TLS SNI extension + type: string + type: object + type: object prometheusExporter: description: PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit. diff --git a/config/crd/bases/fluentbit.fluent.io_clusteroutputs.yaml b/config/crd/bases/fluentbit.fluent.io_clusteroutputs.yaml index a05a53050..e360c6d5d 100644 --- a/config/crd/bases/fluentbit.fluent.io_clusteroutputs.yaml +++ b/config/crd/bases/fluentbit.fluent.io_clusteroutputs.yaml @@ -2230,6 +2230,114 @@ spec: server listening for traces, e.g: /v1/traces' type: string type: object + oracleLogAnalytics: + description: OracleLogAnalytics defines OracleLogAnalytics Output + configuration + properties: + Workers: + format: int32 + type: integer + auth: + properties: + configFileLocation: + type: string + profileName: + type: string + type: object + globalMetadata: + additionalProperties: + type: string + type: object + logEntityId: + type: string + logEntityType: + type: string + logEventMetadata: + additionalProperties: + type: string + type: object + logGroupId: + type: string + logPath: + type: string + logSetId: + type: string + logSourceName: + type: string + objectStorageNamespace: + type: string + ociConfigInRecord: + type: boolean + profileName: + 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: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify: + description: Force certificate validation + type: boolean + vhost: + description: Hostname to be used for TLS SNI extension + type: string + type: object + type: object prometheusExporter: description: PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit. diff --git a/config/crd/bases/fluentbit.fluent.io_outputs.yaml b/config/crd/bases/fluentbit.fluent.io_outputs.yaml index 383ce7085..7bc7a7913 100644 --- a/config/crd/bases/fluentbit.fluent.io_outputs.yaml +++ b/config/crd/bases/fluentbit.fluent.io_outputs.yaml @@ -2230,6 +2230,114 @@ spec: server listening for traces, e.g: /v1/traces' type: string type: object + oracleLogAnalytics: + description: OracleLogAnalytics defines OracleLogAnalytics Output + configuration + properties: + Workers: + format: int32 + type: integer + auth: + properties: + configFileLocation: + type: string + profileName: + type: string + type: object + globalMetadata: + additionalProperties: + type: string + type: object + logEntityId: + type: string + logEntityType: + type: string + logEventMetadata: + additionalProperties: + type: string + type: object + logGroupId: + type: string + logPath: + type: string + logSetId: + type: string + logSourceName: + type: string + objectStorageNamespace: + type: string + ociConfigInRecord: + type: boolean + profileName: + 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: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify: + description: Force certificate validation + type: boolean + vhost: + description: Hostname to be used for TLS SNI extension + type: string + type: object + type: object prometheusExporter: description: PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit. diff --git a/manifests/setup/fluent-operator-crd.yaml b/manifests/setup/fluent-operator-crd.yaml index 251d3efb1..1f638bc8f 100644 --- a/manifests/setup/fluent-operator-crd.yaml +++ b/manifests/setup/fluent-operator-crd.yaml @@ -4686,6 +4686,114 @@ spec: server listening for traces, e.g: /v1/traces' type: string type: object + oracleLogAnalytics: + description: OracleLogAnalytics defines OracleLogAnalytics Output + configuration + properties: + Workers: + format: int32 + type: integer + auth: + properties: + configFileLocation: + type: string + profileName: + type: string + type: object + globalMetadata: + additionalProperties: + type: string + type: object + logEntityId: + type: string + logEntityType: + type: string + logEventMetadata: + additionalProperties: + type: string + type: object + logGroupId: + type: string + logPath: + type: string + logSetId: + type: string + logSourceName: + type: string + objectStorageNamespace: + type: string + ociConfigInRecord: + type: boolean + profileName: + 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: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify: + description: Force certificate validation + type: boolean + vhost: + description: Hostname to be used for TLS SNI extension + type: string + type: object + type: object prometheusExporter: description: PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit. @@ -27412,6 +27520,114 @@ spec: server listening for traces, e.g: /v1/traces' type: string type: object + oracleLogAnalytics: + description: OracleLogAnalytics defines OracleLogAnalytics Output + configuration + properties: + Workers: + format: int32 + type: integer + auth: + properties: + configFileLocation: + type: string + profileName: + type: string + type: object + globalMetadata: + additionalProperties: + type: string + type: object + logEntityId: + type: string + logEntityType: + type: string + logEventMetadata: + additionalProperties: + type: string + type: object + logGroupId: + type: string + logPath: + type: string + logSetId: + type: string + logSourceName: + type: string + objectStorageNamespace: + type: string + ociConfigInRecord: + type: boolean + profileName: + 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: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify: + description: Force certificate validation + type: boolean + vhost: + description: Hostname to be used for TLS SNI extension + type: string + type: object + type: object prometheusExporter: description: PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit. diff --git a/manifests/setup/setup.yaml b/manifests/setup/setup.yaml index ad965f276..55758159f 100644 --- a/manifests/setup/setup.yaml +++ b/manifests/setup/setup.yaml @@ -4686,6 +4686,114 @@ spec: server listening for traces, e.g: /v1/traces' type: string type: object + oracleLogAnalytics: + description: OracleLogAnalytics defines OracleLogAnalytics Output + configuration + properties: + Workers: + format: int32 + type: integer + auth: + properties: + configFileLocation: + type: string + profileName: + type: string + type: object + globalMetadata: + additionalProperties: + type: string + type: object + logEntityId: + type: string + logEntityType: + type: string + logEventMetadata: + additionalProperties: + type: string + type: object + logGroupId: + type: string + logPath: + type: string + logSetId: + type: string + logSourceName: + type: string + objectStorageNamespace: + type: string + ociConfigInRecord: + type: boolean + profileName: + 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: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify: + description: Force certificate validation + type: boolean + vhost: + description: Hostname to be used for TLS SNI extension + type: string + type: object + type: object prometheusExporter: description: PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit. @@ -27412,6 +27520,114 @@ spec: server listening for traces, e.g: /v1/traces' type: string type: object + oracleLogAnalytics: + description: OracleLogAnalytics defines OracleLogAnalytics Output + configuration + properties: + Workers: + format: int32 + type: integer + auth: + properties: + configFileLocation: + type: string + profileName: + type: string + type: object + globalMetadata: + additionalProperties: + type: string + type: object + logEntityId: + type: string + logEntityType: + type: string + logEventMetadata: + additionalProperties: + type: string + type: object + logGroupId: + type: string + logPath: + type: string + logSetId: + type: string + logSourceName: + type: string + objectStorageNamespace: + type: string + ociConfigInRecord: + type: boolean + profileName: + 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: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify: + description: Force certificate validation + type: boolean + vhost: + description: Hostname to be used for TLS SNI extension + type: string + type: object + type: object prometheusExporter: description: PrometheusExporter_types defines Prometheus exporter configuration to expose metrics from Fluent Bit.