diff --git a/ci/check_configuration_keys.py b/ci/check_configuration_keys.py index 2c0a2db96d..32fd5661d1 100755 --- a/ci/check_configuration_keys.py +++ b/ci/check_configuration_keys.py @@ -241,6 +241,9 @@ def compare_values(readme: dict, values_keys: list[str], values: dict) -> dict: if compare_keys(this_key, other_key): other_value = get_value(this_key, values) if this_value != other_value: + if this_value.replace("\\\\", "\\").replace("\\|", "|") == other_value: + # yaml contains both `'` and `"` strings and readme is always `"` string + continue # Skip configuration linked to values.yaml if this_value == 'See [values.yaml]': @@ -270,7 +273,7 @@ def get_value(key: str, dictionary: dict) -> str: value = value[subkey] if isinstance(value, str): - return value + return value.replace("\n", "\\n") return json.dumps(value) diff --git a/ci/generate-schema.py b/ci/generate-schema.py new file mode 100755 index 0000000000..f408fd7d74 --- /dev/null +++ b/ci/generate-schema.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 + +import argparse +import json +import re +import sys + +import yaml +from yaml.loader import SafeLoader + +DESCRIPTION = 'This program generates JSON schema from README.md table' + +def values_to_dictionary(path: str) -> dict: + """Reads given path as values.yaml and returns it as dict + + Args: + path (str): path to the value.yaml + + Returns: + dict: values.yaml as dict + """ + with open(path, encoding='utf-8') as file: + values_yaml = file.read() + values_yaml = re.sub(r'(\[\]|\{\})\n(\s+# )', r'\n\2', values_yaml, flags=re.M) + values_yaml = re.sub(r'^(\s+)# ', r'\1', values_yaml, flags=re.M) + return yaml.load(values_yaml, Loader=SafeLoader) + +def set_properties(values): + properties = { + 'type': '', + # 'required': [], + # 'properties': {}, + # 'default': '', + 'description': '', + } + + if isinstance(values, dict): + properties['type'] = 'object' + properties['properties'] = {} + for key in values.keys(): + properties['properties'][key] = set_properties(values[key]) + else: + properties['default'] = values + if isinstance(values, bool): + properties['type'] = 'boolean' + elif isinstance(values, int): + properties['type'] = 'integer' + elif isinstance(values, (list, set)): + properties['type'] = 'array' + elif isinstance(values, str): + properties['type'] = 'string' + else: + properties['type'] = 'string' + if not properties['default']: + properties['default'] = "" + + return properties + +def extract_description_from_readme(path: str) -> dict: + """Reads given path as README.md and returns dict in the following form: + + ``` + { + configuration_key: configuration_default + } + ``` + + Args: + path (str): path to the README.md + + Returns: + dict: {configuration_key: configuration_default,...} + """ + with open(path, encoding='utf-8') as file: + readme = file.readlines() + + keys = {} + + for line in readme: + match = re.match( + r'^\|\s+`(?P.*?)`\s+\|\s+(?P.*?)\s+\|\s+(?P.*?)\s+\|$', + line) + if match and match.group('key'): + description = match.group('description').strip('`').strip('"') + keys[match.group('key')] = description + + return keys + +if __name__ == '__main__': + parser = argparse.ArgumentParser( + prog = sys.argv[0], + description = DESCRIPTION) + parser.add_argument('--values', required=True) + parser.add_argument('--readme', required=True) + parser.add_argument('--output', required=True) + parser.add_argument('--full-diff', required=False, action='store_true') + args = parser.parse_args() + + values = values_to_dictionary(args.values) + + output = { + "$schema": "http://json-schema.org/schema#", + "type": "object", + "properties": {}, + } + + for key in values: + output['properties'][key] = set_properties(values[key]) + + descriptions = extract_description_from_readme(args.readme) + for key, description in descriptions.items(): + a = output['properties'] + subkeys = key.split(".") + for i in range(0, len(subkeys)-1): + a = a[subkeys[i]]['properties'] + a[subkeys[-1]]['description'] = description + with open(args.output, "w") as f: + f.write(json.dumps(output, indent=2)) diff --git a/ci/generate_readme.py b/ci/generate_readme.py new file mode 100755 index 0000000000..fa464c9174 --- /dev/null +++ b/ci/generate_readme.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 + +import argparse +import json +import re +import sys +import os + +import yaml +from yaml.loader import SafeLoader + +DESCRIPTION = "test" +HEADER = """# Configuration + +To see all available configuration for our sub-charts, please refer to their documentation. + +- [Falco](https://github.com/falcosecurity/charts/tree/master/falco#configuration) - All Falco properties should be prefixed with `falco.` + in our values.yaml to override a property not listed below. +- [Kube-Prometheus-Stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) - All + Kube Prometheus Stack properties should be prefixed with `kube-prometheus-stack.` in our values.yaml to override a property not listed + below. +- [Fluent Bit](https://github.com/fluent/helm-charts/blob/main/charts/fluent-bit/values.yaml) - All Fluent Bit properties should be prefixed + with `fluent-bit.` in our values.yaml to override a property not listed below. +- [Metrics Server](https://github.com/bitnami/charts/tree/master/bitnami/metrics-server/#parameters) - All Metrics Server properties should + be prefixed with `metrics-server.` in our values.yaml to override a property not listed below. +- [Tailing Sidecar Operator](https://github.com/SumoLogic/tailing-sidecar/tree/main/helm/tailing-sidecar-operator#configuration) - All + Tailing Sidecar Operator properties should be prefixed with `tailing-sidecar-operator` in our values.yaml to override a property not + listed below. +- [OpenTelemetry Operator](https://github.com/open-telemetry/opentelemetry-helm-charts/tree/main/charts/opentelemetry-operator#opentelemetry-operator-helm-chart) - + All OpenTelemetry Operator properties should be prefixed with `opentelemetry-operator` in our values.yaml to override a property listed + below. + +The following table lists the configurable parameters of the Sumo Logic chart and their default values. + +| Parameter | Description | Default | +| --- | --- | --- |""" + +FOOTER = """ +[values.yaml]: values.yaml""" + +def build_default(data): + return_value = {} + if 'properties' in data: + for key in data['properties']: + return_value[key] = build_default(data['properties'][key]) + return return_value + else: + return data['default'] + +def get_description(prefix, data): + return_value = [] + prefix = prefix.strip('.') + description = data["description"] if 'description' in data else "" + built_default = None + + if 'properties' in data: + if not description: + for key in data['properties']: + if prefix == "": + pref = key + else: + if "." in key: + pref = f"{prefix}[{key}]" + else: + pref = f"{prefix}.{key}" + return_value += get_description(pref, data['properties'][key]) + return return_value + else: + built_default = build_default(data) + + default = json.dumps(built_default if built_default is not None else data['default']).strip('"').replace("|", "\|") + if len(default) > 180: + default = "See [values.yaml]" + + if default == "": + default = "Nil" + return_value.append(f'| `{prefix}` | {data["description"]} | `{default}` |') + + return return_value + +def main(schema, directory): + readme = [HEADER] + with open(schema) as f: + data = json.loads(f.read()) + readme += get_description("", data) + readme.append(FOOTER) + + readme = "\n".join(readme) + + with open(os.path.join(directory, "README.md"), "w") as f: + f.write(readme) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser( + prog = sys.argv[0], + description = DESCRIPTION) + parser.add_argument('--schema', required=True) + parser.add_argument('--dir', required=True) + parser.add_argument('--full-diff', required=False, action='store_true') + args = parser.parse_args() + + main(args.schema, args.dir) diff --git a/ci/generate_values.py b/ci/generate_values.py new file mode 100755 index 0000000000..b3966d1691 --- /dev/null +++ b/ci/generate_values.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 + +import argparse +import json +import re +import sys +import os + +import yaml +from yaml.loader import SafeLoader + +DESCRIPTION = "test" + + +def get_values(indent, data): + return_value = [] + if 'properties' in data: + for key, value in data['properties'].items(): + commented = '' + if 'comment' in value: + for line in value['comment'].split('\n'): + return_value.append(f"{indent}## {line}") + if 'commented' in value: + commented = '# ' + if 'properties' in value: + return_value.append(f"{indent}{commented}{key}:") + else: + dumped = yaml.dump({key: value['default']}).strip() + for line in dumped.split("\n"): + return_value.append(f"{indent}{commented}{line}") + if 'example' in value: + dumped = yaml.dump({key: value['example']}).strip() + for line in dumped.split("\n")[1:]: + return_value.append(f"{indent}# {line}") + return_value += get_values(f"{indent}{commented} ", data['properties'][key]) + return return_value + +def main(schema, directory): + with open(schema) as f: + data = json.loads(f.read()) + values = get_values('', data) + + print('\n'.join(values)) + + # with open(os.path.join(directory, "_values.yaml"), "w") as f: + # f.write(yaml.dump(values)) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser( + prog = sys.argv[0], + description = DESCRIPTION) + parser.add_argument('--schema', required=True) + parser.add_argument('--dir', required=True) + parser.add_argument('--full-diff', required=False, action='store_true') + args = parser.parse_args() + + main(args.schema, args.dir) diff --git a/deploy/helm/sumologic/README.md b/deploy/helm/sumologic/README.md index 43adbbe590..6e0d97f25c 100644 --- a/deploy/helm/sumologic/README.md +++ b/deploy/helm/sumologic/README.md @@ -7,6 +7,8 @@ To see all available configuration for our sub-charts, please refer to their doc - [Kube-Prometheus-Stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) - All Kube Prometheus Stack properties should be prefixed with `kube-prometheus-stack.` in our values.yaml to override a property not listed below. +- [Fluent Bit](https://github.com/fluent/helm-charts/blob/main/charts/fluent-bit/values.yaml) - All Fluent Bit properties should be prefixed + with `fluent-bit.` in our values.yaml to override a property not listed below. - [Metrics Server](https://github.com/bitnami/charts/tree/master/bitnami/metrics-server/#parameters) - All Metrics Server properties should be prefixed with `metrics-server.` in our values.yaml to override a property not listed below. - [Tailing Sidecar Operator](https://github.com/SumoLogic/tailing-sidecar/tree/main/helm/tailing-sidecar-operator#configuration) - All @@ -18,451 +20,439 @@ To see all available configuration for our sub-charts, please refer to their doc The following table lists the configurable parameters of the Sumo Logic chart and their default values. -| Parameter | Description | Default | -| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `nameOverride` | Used to override the Chart name. | `Nil` | -| `fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `namespaceOverride` | Used to override the chart's default target namepace. | `Nil` | -| `sumologic.setupEnabled` | If enabled, a pre-install hook will create Collector and Sources in Sumo Logic. | `true` | -| `sumologic.cleanupEnabled` | If enabled, a pre-delete hook will destroy Kubernetes secret and Sumo Logic Collector. | `false` | -| `sumologic.events.enabled` | Defines whether collection of Kubernetes events is enabled. | `true` | -| `sumologic.events.sourceName` | Source name for the Events source. | `events` | -| `sumologic.events.sourceCategory` | Source category for the Events source. | `{clusterName}/events` | -| `sumologic.events.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `sumologic.events.persistence.enabled` | Enable persistence for the event collector. Persistence lets the collector avoid reingesting events on restart and buffer them locally if unable to reach the backend. | `true` | -| `sumologic.events.persistence.persistentVolume.path` | Local filesystem path the persistent storage volume will be mounted at. | `/var/lib/storage/events` | -| `sumologic.events.persistence.size` | Size of the persistent storage volume | `10Gi` | -| `sumologic.events.persistence.persistentVolume.storageClass` | The storageClassName for the persistent storage volume | `Nil` | -| `sumologic.events.persistence.persistentVolume.accessMode` | The accessMode for the persistent storage volume | `ReadWriteOnce` | -| `sumologic.events.persistence.persistentVolume.pvcLabels` | Additional PersistentVolumeClaim labels for persistent storage volumes | `{}` | -| `sumologic.events.sourceType` | The type of the Sumo Logic source being used for events ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | -| `sumologic.logs.enabled` | Set the enabled flag to false for disabling logs ingestion altogether. | `true` | -| `sumologic.logs.collector.otelcol.enabled` | Enable OpenTelemetry logs collector. | `true` | -| `sumologic.logs.collector.otelcloudwatch.enabled` | Flag to enable CloudWatch Collection | `false` | -| `sumologic.logs.collector.otelcloudwatch.logGroups` | Log Groups configuration for AWS CloudWatch receiver | `{}` | -| `sumologic.logs.collector.otelcloudwatch.persistence.enabled` | Flag to control persistence for the CloudWatch collector | `true` | -| `sumologic.logs.collector.otelcloudwatch.pollInterval` | CloudWatch poll interval | `1m` | -| `sumologic.logs.collector.otelcloudwatch.region` | EKS Fargate cluster region | `""` | -| `sumologic.logs.collector.otelcloudwatch.roleArn` | AWS role ARN, to authenticate with CloudWatch | `""` | -| `sumologic.logs.container.enabled` | Enable collecting logs from Kubernetes containers. | `true` | -| `sumologic.logs.container.format` | Format for container logs. | `fields` | -| `sumologic.logs.multiline.enabled` | Enable multiline detection for Kubernetes container logs. | `true` | -| `sumologic.logs.multiline.first_line_regex` | Regular expression to match first line of multiline logs. | `^\[?\d{4}-\d{1,2}-\d{1,2}.\d{2}:\d{2}:\d{2}` | -| `sumologic.logs.multiline.additional` | List of additional conditions and expressions to match first line of multiline logs. See [Multiline](/docs/collecting-container-logs.md#conditional-multiline-log-parsing) for more information. | `[]` | -| `sumologic.logs.systemd.enabled` | Enable collecting systemd logs from Kubernets nodes. | `true` | -| `sumologic.logs.systemd.units` | List of systemd units to collect logs from. | See [values.yaml] | -| `sumologic.logs.container.keep_time_attribute` | When set to `true`, preserves the `time` attribute, which is a string representation of the `timestamp` attribute. | `false` | -| `sumologic.logs.container.sourceHost` | Set the \_sourceHost metadata field in Sumo Logic. | `""` | -| `sumologic.logs.container.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{namespace}.%{pod}.%{container}"` | -| `sumologic.logs.container.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"%{namespace}/%{pod_name}"` | -| `sumologic.logs.container.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `sumologic.logs.container.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `sumologic.logs.container.excludeContainerRegex` | A regular expression for container names. Logs from matching containers will not be sent to Sumo. | `""` | -| `sumologic.logs.container.excludeHostRegex` | A regular expression for Kubernetes node names. Logs from pods running on matching nodes will not be sent to Sumo. | `""` | -| `sumologic.logs.container.excludeNamespaceRegex` | A regular expression for Kubernetes namespace names. Logs from pods running in matching namespaces will not be sent to Sumo. | `""` | -| `sumologic.logs.container.excludePodRegex` | A regular expression for pod names. Logs from matching pods will not be sent to Sumo. | `""` | -| `sumologic.logs.container.otelcol.extraProcessors` | Extra processors for container logs. See [/docs/collecting-container-logs.md](/docs/collecting-container-logs.md) for details. | `[]` | -| `sumologic.logs.container.perContainerAnnotationsEnabled` | Enable container-level pod annotations. | `false` | -| `sumologic.logs.container.perContainerAnnotationPrefixes` | Defines the list of prefixes of container-level pod annotations. | `[]` | -| `sumologic.logs.systemd.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{_sourceName}"` | -| `sumologic.logs.systemd.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"system"` | -| `sumologic.logs.systemd.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `sumologic.logs.systemd.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `sumologic.logs.systemd.excludeFacilityRegex` | A regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | -| `sumologic.logs.systemd.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | -| `sumologic.logs.systemd.excludePriorityRegex` | A regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | -| `sumologic.logs.systemd.excludeUnitRegex` | A regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | -| `sumologic.logs.systemd.otelcol.extraProcessors` | Extra processors for systemd logs. See [/docs/collecting-systemd-logs.md](/docs/collecting-systemd-logs.md) for details. | `[]` | -| `sumologic.logs.kubelet.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"k8s_kubelet"` | -| `sumologic.logs.kubelet.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"kubelet"` | -| `sumologic.logs.kubelet.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `sumologic.logs.kubelet.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `sumologic.logs.kubelet.excludeFacilityRegex` | A regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | -| `sumologic.logs.kubelet.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | -| `sumologic.logs.kubelet.excludePriorityRegex` | A regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | -| `sumologic.logs.kubelet.excludeUnitRegex` | A regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | -| `sumologic.logs.kubelet.otelcol.extraProcessors` | Extra processors for systemd logs. See [/docs/collecting-systemd-logs.md](/docs/collecting-systemd-logs.md) for details. | `[]` | -| `sumologic.logs.fields` | Fields to be created at Sumo Logic to ensure logs are tagged with relevant metadata. [Sumo Logic help](https://help.sumologic.com/docs/manage/fields/#manage-fields) | `["cluster", "container", "daemonset", "deployment", "host", "namespace", "node", "pod", "service", "statefulset"]` | -| `sumologic.logs.sourceType` | The type of the Sumo Logic source being used for logs ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | -| `sumologic.metrics.enabled` | Set the enabled flag to false for disabling metrics ingestion altogether. | `true` | -| `sumologic.metrics.otelcol.extraProcessors` | Extra processors configuration for metrics pipeline. See [/docs/collecting-application-metrics.md#metrics-modifications](/docs/collecting-application-metrics.md#metrics-modifications) for more information. | `[]` | -| `sumologic.metrics.remoteWriteProxy.enabled` | Enable a load balancing proxy for Prometheus remote writes. [See docs for more information.](/docs/prometheus.md#using-a-load-balancing-proxy-for-prometheus-remote-write) | `true` | -| `sumologic.metrics.remoteWriteProxy.config.clientBodyBufferSize` | See the [nginx documentation](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size). Increase if you've also increased samples per send in Prometheus remote write. | `64k` | -| `sumologic.metrics.remoteWriteProxy.config.workerCountAutotune` | This feature autodetects how much CPU is assigned to the nginx instance and setsthe right amount of workers based on that. Disable to use the default of 8 workers. | `true` | -| `sumologic.metrics.remoteWriteProxy.config.enableAccessLogs` | Enable nginx access logs. | `false` | -| `sumologic.metrics.remoteWriteProxy.replicaCount` | Number of replicas in the remote write proxy deployment. | `3` | -| `sumologic.metrics.remoteWriteProxy.image` | Nginx docker image for the remote write proxy. | `{"repository": "public.ecr.aws/sumologic/nginx-unprivileged", "tag": "1.25.2-alpine", "pullPolicy": "IfNotPresent"}` | -| `sumologic.metrics.remoteWriteProxy.resources` | Resource requests and limits for the remote write proxy container. | `{"limits": {"cpu": "1000m", "memory": "256Mi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}` | -| `sumologic.metrics.remoteWriteProxy.livenessProbe` | Liveness probe settings for the remote write proxy container. | `{"initialDelaySeconds": 30, "periodSeconds": 10, "timeoutSeconds": 5, "successThreshold": 1, "failureThreshold": 6}` | -| `sumologic.metrics.remoteWriteProxy.readinessProbe` | Readiness probe settings for the remote write proxy container. | `{"initialDelaySeconds": 5, "periodSeconds": 5, "timeoutSeconds": 3, "successThreshold": 1, "failureThreshold": 3}` | -| `sumologic.metrics.remoteWriteProxy.securityContext` | The securityContext configuration for the remote write proxy. | `{}` | -| `sumologic.metrics.remoteWriteProxy.nodeSelector` | Node selector for the remote write proxy deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `sumologic.metrics.remoteWriteProxy.tolerations` | Tolerations for the remote write proxy deployment. | `[]` | -| `sumologic.metrics.remoteWriteProxy.affinity` | Affinity for the remote write proxy deployment. | `{}` | -| `sumologic.metrics.remoteWriteProxy.priorityClassName` | Priority class name for the remote write proxy deployment. | `Nil` | -| `sumologic.metrics.remoteWriteProxy.podLabels` | Additional labels for the remote write proxy container. | `{}` | -| `sumologic.metrics.remoteWriteProxy.podAnnotations` | Additional annotations for for the remote write proxy container. | `{}` | -| `sumologic.metrics.remoteWriteProxy.config.port` | Port on which remote write proxy is going to be exposed | `8080` | -| `sumologic.metrics.serviceMonitors` | Configuration of Sumo Logic Kubernetes Collection components serviceMonitors | See [values.yaml] | -| `sumologic.metrics.collector.otelcol.enabled` | Enable experimental otelcol metrics collector | See [values.yaml] | -| `sumologic.metrics.collector.otelcol.scrapeInterval` | The default scrape interval for the collector. | `30s` | -| `sumologic.metrics.collector.otelcol.replicaCount` | Replica count for the experimental otelcol metrics collector | `1` | -| `sumologic.metrics.collector.otelcol.resources` | Resource requests and limits for the experimental otelcol metrics collector | See [values.yaml] | -| `sumologic.metrics.collector.otelcol.autoscaling.enabled` | Option to turn autoscaling on for the experimental otelcol metrics and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. collector | `false` | -| `sumologic.metrics.collector.otelcol.autoscaling.maxReplicas` | Default max replicas for autoscaling. collector | `10` | -| `sumologic.metrics.collector.otelcol.autoscaling.minReplicas` | Default min replicas for autoscaling. collector | `3` | -| `sumologic.metrics.collector.otelcol.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `70` | -| `sumologic.metrics.collector.otelcol.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `70` | -| `sumologic.metrics.collector.otelcol.serviceMonitorSelector` | Selector for ServiceMonitors used for target discovery. By default, we select ServiceMonitors created by the Chart. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `Nil` | -| `sumologic.metrics.collector.otelcol.podMonitorSelector` | Selector for PodMonitors used for target discovery. By default, we select PodMonitors created by the Chart. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `Nil` | -| `sumologic.metrics.collector.otelcol.nodeSelector` | Node selector for the experimental otelcol metrics. [See docs/best-practices.md for more information.](/docs/best-practices.md). | `{}` | -| `sumologic.metrics.collector.otelcol.podAnnotations` | Additional annotations for the experimental otelcol metrics pods. | `{}` | -| `sumologic.metrics.collector.otelcol.podLabels` | Additional labels for the experimental otelcol metrics pods. | `{}` | -| `sumologic.metrics.collector.otelcol.priorityClassName` | Priority class name for the experimental otelcol metrics. | `null` | -| `sumologic.metrics.collector.otelcol.securityContext` | The securityContext configuration for the experimental otelcol metrics. | `{"fsGroup": 999}` | -| `sumologic.metrics.collector.otelcol.tolerations` | Tolerations for the experimental otelcol metrics. | `[]` | -| `sumologic.metrics.enableDefaultFilters` | Enable default metric filters for Sumo Apps. | `false` | -| `sumologic.metrics.collector.otelcol.kubelet.enabled` | Enable collection of kubelet metrics. | `true` | -| `sumologic.metrics.collector.otelcol.cAdvisor.enabled` | Enable collection of cAdvisor metrics. | `true` | -| `sumologic.metrics.collector.otelcol.annotatedPods.enabled` | Enable collection of metrics from Pods annotated with prometheus.io/\* keys. See [docs/collecting-application-metrics.md](/docs/collecting-application-metrics.md#application-metrics-are-exposed-one-endpoint-scenario) for more information. | `true` | -| `sumologic.metrics.collector.otelcol.allocationStrategy` | Allocation strategy for the scrape target allocator. Valid values are: least-weighted and consistent-hashing. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocator | `least-weighted` | -| `sumologic.metrics.dropHistogramBuckets` | Drop buckets from select high-cardinality histogram metrics, leaving only the sum and count components. | `true` | -| `sumologic.metrics.sourceType` | The type of the Sumo Logic source being used for metrics ingestion. Can be `http` or `otlp`. | `http` | -| `sumologic.traces.enabled` | Set the enabled flag to true to enable tracing ingestion. _Tracing must be enabled for the account first. Please contact your Sumo representative for activation details_ | `true` | -| `sumologic.traces.spans_per_request` | Maximum number of spans sent in single batch | `100` | -| `sumologic.traces.sourceType` | The type of the Sumo Logic source being used for traces ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/traces/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | -| `sumologic.envFromSecret` | If enabled, accessId and accessKey will be sourced from Secret Name given. Be sure to include at least the following env variables in your secret (1) SUMOLOGIC_ACCESSID, (2) SUMOLOGIC_ACCESSKEY | `sumo-api-secret` | -| `sumologic.accessId` | Sumo access ID. | `Nil` | -| `sumologic.accessKey` | Sumo access key. | `Nil` | -| `sumologic.endpoint` | Sumo API endpoint; Leave blank for automatic endpoint discovery and redirection. | `Nil` | -| `sumologic.collectionMonitoring` | If you set it to false, it would set `EXCLUDE_NAMESPACE=` and not add the Prometheus remotestorage metrics. | `true` | -| `sumologic.collectorName` | The name of the Sumo Logic collector that will be created in the SetUp job. Defaults to `clusterName` if not specified. | `Nil` | -| `sumologic.clusterName` | An identifier for the Kubernetes cluster. Whitespaces in the cluster name will be replaced with dashes. | `kubernetes` | -| `sumologic.cluster` | Configuration of Kubernetes for [Terraform client](https://www.terraform.io/docs/providers/kubernetes/index.html#argument-reference). | See [values.yaml] | -| `sumologic.collector.sources` | Configuration of HTTP sources. [See docs/Terraform.md for more information](/docs/terraform.md). All double quotes should be escaped here regarding Terraform syntax. | See [values.yaml] | -| `sumologic.collector.fields` | Configuration of Sumo Logic fields. [See Sumo Logic Terraform Plugin documentation for more information](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/collector#fields). All double quotes should be escaped here regarding Terraform syntax. | See [values.yaml] | -| `sumologic.httpProxy` | HTTP proxy URL | `Nil` | -| `sumologic.httpsProxy` | HTTPS proxy URL | `Nil` | -| `sumologic.noProxy` | List of comma separated hostnames which should be excluded from the proxy | `kubernetes.default.svc` | -| `sumologic.pullSecrets` | Optional list of secrets that will be used for pulling images for Sumo Logic's deployments and statefulsets. | `Nil` | -| `sumologic.otelcolImage.repository` | Default image repository for OpenTelemetry Collector. This can be overridden for specific components. | `public.ecr.aws/sumologic/sumologic-otel-collector` | -| `sumologic.otelcolImage.tag` | Default image tag for OpenTelemetry Collector. This can be overridden for specific components. | `0.85.0-sumo-0` | -| `sumologic.otelcolImage.addFipsSuffix` | Add a `-fips` suffix to all image tags. See [docs/security-best-practices.md](/docs/security-best-practices.md) for more information. | `false` | -| `sumologic.podLabels` | Additional labels for the pods. | `{}` | -| `sumologic.podAnnotations` | Additional annotations for the pods. | `{}` | -| `sumologic.scc.create` | Create OpenShift's Security Context Constraint | `false` | -| `sumologic.serviceAccount.annotations` | Add custom annotations to sumologic serviceAccounts | `{}` | -| `sumologic.setup.job.pullSecrets` | Optional list of secrets that will be used for pulling images for Sumo Logic's setup job. | `Nil` | -| `sumologic.setup.job.podLabels` | Additional labels for the setup Job pod. | `{}` | -| `sumologic.setup.job.podAnnotations` | Additional annotations for the setup Job pod. | `{}` | -| `sumologic.setup.job.image.repository` | Image repository for Sumo Logic setup job docker container. | `public.ecr.aws/sumologic/kubernetes-setup` | -| `sumologic.setup.job.image.tag` | Image tag for Sumo Logic setup job docker container. | `3.10.0` | -| `sumologic.setup.job.image.pullPolicy` | Image pullPolicy for Sumo Logic docker container. | `IfNotPresent` | -| `sumologic.setup.job.nodeSelector` | Node selector for sumologic setup job. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `sumologic.setup.job.tolerations` | Add tolerations for the setup Job. | `[]` | -| `sumologic.setup.job.affinity` | Add affinity and anti-affinity for the setup Job. | `{}` | -| `sumologic.setup.debug` | Enable debug mode (disables the automatic execution of the setup.sh script) | `Nil` | -| `sumologic.setup.force` | Force collection installation (disables k8s version verification) | `Nil` | -| `sumologic.setup.job.resources` | Resource requests and limits for the setup Job. | `{"limits": {"memory": "256Mi", "cpu": "2000m"}, "requests": {"memory": "64Mi", "cpu": "200m"}}` | -| `sumologic.setup.monitors.enabled` | If enabled, a pre-install hook will create k8s monitors in Sumo Logic. | `true` | -| `sumologic.setup.monitors.monitorStatus` | The installed monitors default status: enabled/disabled. | `enabled` | -| `sumologic.setup.monitors.notificationEmails` | A list of emails to send notifications from monitors. | `[]` | -| `sumologic.setup.dashboards.enabled` | If enabled, a pre-install hook will install k8s dashboards in Sumo Logic. | `true` | -| `metrics-server.enabled` | Set the enabled flag to true for enabling metrics-server. This is required before enabling fluentd autoscaling unless you have an existing metrics-server in the cluster. | `false` | -| `metrics-server.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `metrics-server.apiService.create` | Specifies whether the v1beta1.metrics.k8s.io API service should be created. | `true` | -| `metrics-server.extraArgs` | Extra arguments to pass to metrics-server on start up. | `["--kubelet-insecure-tls=true", "--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname"]` | -| `metrics-server.image.pullSecrets` | Pull secrets for metrics-server images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `Nil` | -| `kube-prometheus-stack.kubeTargetVersionOverride` | Provide a target gitVersion of K8S, in case .Capabilites.KubeVersion is not available (e.g. helm template). Changing this may break Sumo Logic apps. | `Nil` | -| `kube-prometheus-stack.enabled` | Flag to control deploying Prometheus Operator Helm sub-chart. | `true` | -| `kube-prometheus-stack.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `kube-prometheus-stack.namespaceOverride` | Used to override the chart's default namespace. | `Nil` | -| `kube-prometheus-stack.defaultRules.rules` | Control which default recording and alerting rules are enabled. | See [values.yaml] | -| `kube-prometheus-stack.alertmanager.enabled` | Deploy alertmanager. | `false` | -| `kube-prometheus-stack.grafana.enabled` | If true, deploy the grafana sub-chart. | `false` | -| `kube-prometheus-stack.grafana.defaultDashboardsEnabled` | Deploy default dashboards. These are loaded using the sidecar. | `false` | -| `kube-prometheus-stack.prometheusOperator.podLabels` | Additional labels for prometheus operator pods. | `{}` | -| `kube-prometheus-stack.prometheusOperator.podAnnotations` | Additional annotations for prometheus operator pods. | `{}` | -| `kube-prometheus-stack.prometheusOperator.resources` | Resource limits for prometheus operator. Uses sub-chart defaults. | `{"limits": {"cpu": "200m", "memory": "200Mi"}, "requests": {"cpu": "100m", "memory": "100Mi"}}` | -| `kube-prometheus-stack.prometheusOperator.admissionWebhooks.enabled` | Create PrometheusRules admission webhooks. Mutating webhook will patch PrometheusRules objects indicating they were validated. Validating webhook will check the rules syntax. | `false` | -| `kube-prometheus-stack.prometheusOperator.tls.enabled` | Enable TLS in prometheus operator. | `false` | -| `kube-prometheus-stack.kube-state-metrics.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `kube-prometheus-stack.kube-state-metrics.resources` | Resource limits for kube state metrics. Uses sub-chart defaults. | `{"limits": {"cpu": "100m", "memory": "64Mi"}, "requests": {"cpu": "10m", "memory": "32Mi"}}` | -| `kube-prometheus-stack.kube-state-metrics.customLabels` | Custom labels to apply to service, deployment and pods. Uses sub-chart defaults. | `{}` | -| `kube-prometheus-stack.kube-state-metrics.podAnnotations` | Additional annotations for pods in the DaemonSet. Uses sub-chart defaults. | `{}` | -| `kube-prometheus-stack.prometheus.additionalServiceMonitors` | List of ServiceMonitor objects to create. | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.resources` | Resource limits for prometheus. Uses sub-chart defaults. | `{"limits": {"cpu": "2000m", "memory": "8Gi"}, "requests": {"cpu": "500m", "memory": "1Gi"}}` | -| `kube-prometheus-stack.prometheus.prometheusSpec.containers` | Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod. | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.podMetadata.labels` | Add custom pod labels to prometheus pods | `{}` | -| `kube-prometheus-stack.prometheus.prometheusSpec.podMetadata.annotations` | Add custom pod annotations to prometheus pods | `{}` | -| `kube-prometheus-stack.prometheus.prometheusSpec.remoteWrite` | If specified, the remote_write spec. | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.additionalRemoteWrite` | `additionalRemoteWrite` is appended to `kube-prometheus-stack.prometheus.prometheusSpec.remoteWrite` | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.walCompression` | Enables walCompression in Prometheus | `true` | -| `kube-prometheus-stack.prometheus-node-exporter.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `kube-prometheus-stack.prometheus-node-exporter.podLabels` | Additional labels for prometheus-node-exporter pods. | `{}` | -| `kube-prometheus-stack.prometheus-node-exporter.podAnnotations` | Additional annotations for prometheus-node-exporter pods. | `{}` | -| `kube-prometheus-stack.prometheus-node-exporter.resources` | Resource limits for node exporter. Uses sub-chart defaults. | `{"limits": {"cpu": "200m", "memory": "50Mi"}, "requests": {"cpu": "100m", "memory": "30Mi"}}` | -| `kube-prometheus-stack.prometheus-node-exporter.nodeSelector` | Node selector for prometheus node exporter. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `kube-prometheus-stack.kube-state-metrics.nodeSelector` | Node selector for kube-state-metrics. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `kube-prometheus-stack.kube-state-metrics.image.tag` | Tag for kube-state-metrics Docker image. | `v2.7.0` | -| `kube-prometheus-stack.additionalPrometheusRulesMap` | Custom recording or alerting rules to be deployed into the cluster | See [values.yaml] | -| `kube-prometheus-stack.commonLabels` | Labels to apply to all Kube Prometheus Stack resources | `{}` | -| `kube-prometheus-stack.coreDns.serviceMonitor.interval` | Core DNS metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.coreDns.serviceMonitor.metricRelabelings` | Core DNS MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.global.imagePullSecrets` | Pull secrets for Kube Prometheus Stack images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | -| `kube-prometheus-stack.kubeApiServer.serviceMonitor.interval` | Kubernetes API Server metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubeApiServer.serviceMonitor.metricRelabelings` | Kubernetes API Server MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubeControllerManager.serviceMonitor.interval` | Kubernetes Controller Manager metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubeControllerManager.serviceMonitor.metricRelabelings` | Kubernetes Controller Manager MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubeEtcd.serviceMonitor.interval` | Kubernetes Etcd metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubeEtcd.serviceMonitor.metricRelabelings` | Kubernetes Etcd MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubeScheduler.serviceMonitor.interval` | Kubernetes Scheduler metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubeScheduler.serviceMonitor.metricRelabelings` | Kubernetes Scheduler MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kube-state-metrics.prometheus.monitor.interval` | Kubernetes State Metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kube-state-metrics.prometheus.monitor.metricRelabelings` | Kubernetes State Metrics MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Kubelet CAdvisor MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubelet.serviceMonitor.interval` | Kubelet metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubelet.serviceMonitor.metricRelabelings` | Kubelet MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubelet.serviceMonitor.probes` | Enable scraping /metrics/probes from kubelet's service | `false` | -| `kube-prometheus-stack.kubelet.serviceMonitor.resource` | Enable scraping /metrics/resource from kubelet's service | `false` | -| `kube-prometheus-stack.prometheus-node-exporter.prometheus.monitor.interval` | Node Exporter scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.prometheus-node-exporter.prometheus.monitor.metricRelabelings` | Node Exporter MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.additionalScrapeConfigs` | Additional Prometheus scrape configurations | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.initContainers` | InitContainers allows injecting additional Prometheus initContainers. | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.retention` | How long to retain metrics in Prometheus | `1d` | -| `kube-prometheus-stack.prometheus.prometheusSpec.scrapeInterval` | Prometheus metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `30s` | -| `kube-prometheus-stack.prometheus.serviceMonitor.selfMonitor` | Enable scraping Prometheus metrics | `false` | -| `falco.enabled` | Flag to control deploying Falco Helm sub-chart. | `false` | -| `falco.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `falco.addKernelDevel` | Flag to control installation of `kernel-devel` on nodes using MachineConfig, required to build falco modules (only for OpenShift) | `true` | -| `falco.extra.initContainers` | InitContainers for Falco pod | See [values.yaml] | -| `falco.falco.json_output` | Output events in json. | `true` | -| `falco.imagePullSecrets` | Pull secrets for falco images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | -| `falco.customRules` | Additional falco rules related to Sumo Logic Kubernetes Collection | See [values.yaml] | -| `falco.driver.kind` | Tell Falco which driver to use. Available options: module (kernel driver) and ebpf (eBPF probe). Set to `ebpf` for GKE | `module` | -| `falco.driver.loader.initContainer.image` | Init container image configuration for falco driver loader. | `{"registry": "public.ecr.aws", "repository": "falcosecurity/falco-driver-loader"}` | -| `falco.falco.load_plugins` | Names of the plugins to be loaded by Falco. | `["json", "k8saudit"]` | -| `falco.falco.rules_file` | The location of the rules files that will be consumed by Falco. | `["/etc/falco/falco_rules.yaml", "/etc/falco/falco_rules.local.yaml", "/etc/falco/k8s_audit_rules.yaml", "/etc/falco/rules.d", "/etc/falco/rules.available/application_rules.yaml"]` | -| `falco.image.registry` | Image registry for falco docker container. | `public.ecr.aws` | -| `falco.image.repository` | Image repository for falco docker container. | `falcosecurity/falco-no-driver` | -| `falco.falcoctl` | Falcoctl configuration. We don't use it for now due to breaking changes. [See this issue](https://github.com/SumoLogic/sumologic-kubernetes-collection/issues/3144). | `{"artifact": {"follow": {"enabled": false}, "install": {"enabled": false}}}` | -| `telegraf-operator.enabled` | Flag to control deploying Telegraf Operator Helm sub-chart. | `false` | -| `telegraf-operator.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `telegraf-operator.replicaCount` | Replica count for Telegraf Operator pods. | 1 | -| `telegraf-operator.classes.secretName` | Secret name in which the Telegraf Operator configuration will be stored. | `telegraf-operator-classes` | -| `telegraf-operator.classes.data` | Telegraf sidecar configuration. | See [values.yaml] | -| `telegraf-operator.classes.default` | Name of the default output configuration. | `sumologic-prometheus` | -| `telegraf-operator.image.sidecarImage` | Telegraf Operator sidecar image. | `public.ecr.aws/sumologic/telegraf:1.21.2` | -| `telegraf-operator.imagePullSecrets` | Pull secrets for Telegraf Operator images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | -| `opentelemetry-operator.enabled` | Flag to control deploying OpenTelemetry Operator Helm sub-chart. | `false` | -| `opentelemetry-operator.createDefaultInstrumentation` | Flag to control creation of default Instrumentation object | `false` | -| `opentelemetry-operator.instrumentation.dotnet.metrics.enabled` | Flag to control metrics export from DotNet instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.dotnet.traces.enabled` | Flag to control traces export from DotNet instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.java.metrics.enabled` | Flag to control metrics export from Java instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.java.traces.enabled` | Flag to control traces export from Java instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.python.metrics.enabled` | Flag to control metrics export from Python instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.python.traces.enabled` | Flag to control traces export from Python instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.manager.collectorImage.repository` | The default collector image repository for OpenTelemetryCollector CRDs. | `public.ecr.aws/sumologic/sumologic-otel-collector` | -| `opentelemetry-operator.manager.collectorImage.tag` | The default collector image tag for OpenTelemetryCollector CRDs. | `0.85.0-sumo-0` | -| `opentelemetry-operator.manager.resources.limits.cpu` | Used to set limit CPU for OpenTelemetry-Operator Manager. | `250m` | -| `opentelemetry-operator.manager.resources.limits.memory` | Used to set limit Memory for OpenTelemetry-Operator Manager. | `512Mi` | -| `opentelemetry-operator.manager.resources.requests.cpu` | Used to set requested CPU for OpenTelemetry-Operator Manager. | `150m` | -| `opentelemetry-operator.manager.resources.requests.memory` | Used to set requested Memory for OpenTelemetry-Operator Manager. | `256Mi` | -| `opentelemetry-operator.instrumentationNamespaces` | Used to create `Instrumentation` resources in specified namespaces. | `Nil` | -| `opentelemetry-operator.instrumentationJobImage.image.repository` | Name of the image repository used to apply Instrumentation resource | `sumologic/kubernetes-tools` | -| `opentelemetry-operator.instrumentationJobImage.image.tag` | Name of the image tag used to apply Instrumentation resource | `2.14.0` | -| `opentelemetry-operator.admissionWebhooks` | Admission webhooks make sure only requests with correctly formatted rules will get into the Operator. They also enable the sidecar injection for OpenTelemetryCollector and Instrumentation CR's. | See [values.yaml] | -| `opentelemetry-operator.manager.env` | Additional environment variables for opentelemetry-operator helm chart. | `Nil` | -| `otelcolInstrumentation.enabled` | Enables Sumo Otel Distro Collector StatefulSet to collect telemetry data. [See docs for more information.](/docs/opentelemetry-collector/traces.md) | `true` | -| `otelcolInstrumentation.autoscaling.enabled` | Option to turn autoscaling on for Sumo Otel Distro Collector StatefulSet and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `otelcolInstrumentation.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `otelcolInstrumentation.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | -| `otelcolInstrumentation.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | -| `otelcolInstrumentation.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | -| `otelcolInstrumentation.statefulset.replicaCount` | Set the number of otelcol-instrumentation replicasets. | `3` | -| `otelcolInstrumentation.statefulset.nodeSelector` | Node selector for otelcol-instrumentation statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `otelcolInstrumentation.statefulset.priorityClassName` | Priority class name for otelcol-instrumentation pods. | If not provided then set to `RELEASE-NAME-sumologic-priorityclass`. | -| `otelcolInstrumentation.statefulset.affinity` | Affinity for otelcol-instrumentation statefulset. | `{}` | -| `otelcolInstrumentation.statefulset.extraEnvVars` | Additional environment variables for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.extraVolumeMounts` | Additional volume mounts for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.extraVolumes` | Additional volumes for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.image.pullPolicy` | Image pullPolicy for otelcol-instrumentation docker container. | `IfNotPresent` | -| `otelcolInstrumentation.statefulset.image.repository` | Image repository for otelcol-instrumentation docker container. | `` | -| `otelcolInstrumentation.statefulset.image.tag` | Image tag for otelcol-instrumentation docker container. | `` | -| `otelcolInstrumentation.statefulset.podAnnotations` | Additional annotations for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.podAntiAffinity` | PodAntiAffinity for otelcol-instrumentation statefulset. | `soft` | -| `otelcolInstrumentation.statefulset.podLabels` | Additional labels for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.resources` | Resources for otelcol-instrumentation statefulset. | `{"limits": {"memory": "4Gi", "cpu": "2000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | -| `otelcolInstrumentation.statefulset.tolerations` | Tolerations for otelcol-instrumentation statefulset. | `[]` | -| `otelcolInstrumentation.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for otelcol-instrumentation statefulset. | `[]` | -| `otelcolInstrumentation.sourceMetadata.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{k8s.namespace.name}.%{k8s.pod.pod_name}.%{k8s.container.name}"` | -| `otelcolInstrumentation.sourceMetadata.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"%{k8s.namespace.name}/%{k8s.pod.pod_name}"` | -| `otelcolInstrumentation.sourceMetadata.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `otelcolInstrumentation.sourceMetadata.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `otelcolInstrumentation.sourceMetadata.excludeContainerRegex` | A regular expression for containers. Matching containers will be excluded from Sumo. | `""` | -| `otelcolInstrumentation.sourceMetadata.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. | `""` | -| `otelcolInstrumentation.sourceMetadata.excludeNamespaceRegex` | A regular expression for namespaces. Matching namespaces will be excluded from Sumo. | `""` | -| `otelcolInstrumentation.sourceMetadata.excludePodRegex` | A regular expression for pods. Matching pods will be excluded from Sumo. | `""` | -| `otelcolInstrumentation.logLevelFilter` | Do not send otelcol-instrumentation logs if `true`. | `false` | -| `otelcolInstrumentation.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | -| `otelcolInstrumentation.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | -| `otelcolInstrumentation.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | -| `otelcolInstrumentation.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | -| `otelcolInstrumentation.config` | Configuration for otelcol-instrumentation | See [values.yaml] | -| `otelcolInstrumentation.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for the otelcol-instrumentation container. | `{"periodSeconds": 3, "failureThreshold": 60}` | -| `otelcolInstrumentation.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the otelcol-instrumentation container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | -| `otelcolInstrumentation.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the otelcol-instrumentation container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | -| `otelcolInstrumentation.statefulset.containers.otelcol.securityContext` | The securityContext configuration for the otelcol-instrumentation container. | `{}` | -| `tracesGateway.enabled` | Flag to control deploying traces-gateway. [See docs for more information.](/docs/opentelemetry-collector/traces.md) | `true` | -| `tracesGateway.autoscaling.enabled` | Option to turn autoscaling on for traces-gateway and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `tracesGateway.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `tracesGateway.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | -| `tracesGateway.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | -| `tracesGateway.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | -| `tracesGateway.deployment.replicas` | Set the number of OpenTelemetry Collector replicas. | `1` | -| `tracesGateway.deployment.nodeSelector` | Node selector for otelcol deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `tracesGateway.deployment.priorityClassName` | Priority class name for OpenTelemetry Collector log pods. | `Nil` | -| `tracesGateway.logLevelFilter` | Do not send traces-gateway logs if `true`. | `false` | -| `tracesGateway.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | -| `tracesGateway.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | -| `tracesGateway.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | -| `tracesGateway.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | -| `tracesGateway.config` | Configuration for traces-gateway. | See [values.yaml] | -| `tracesGateway.deployment.extraEnvVars` | Additional environment variables for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.extraVolumeMounts` | Additional volume mounts for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.extraVolumes` | Additional volumes for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.image.pullPolicy` | Image pullPolicy for traces-gateway docker container. | `IfNotPresent` | -| `tracesGateway.deployment.image.repository` | Image repository for traces-gateway docker container. | `` | -| `tracesGateway.deployment.image.tag` | Image tag for traces-gateway docker container. | `` | -| `tracesGateway.deployment.livenessProbe` | Liveness probe settings for the traces-gateway container. | `{"periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | -| `tracesGateway.deployment.podAnnotations` | Additional annotations for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.podLabels` | Additional labels for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.readinessProbe` | Readiness probe settings for the traces-gateway container. | `{"periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | -| `tracesGateway.deployment.resources` | Resources for traces-gateway statefulset. | `{"limits": {"memory": "2Gi", "cpu": "1000m"}, "requests": {"memory": "196Mi", "cpu": "50m"}}` | -| `tracesGateway.deployment.startupProbe` | Startup probe configuration for the traces-gateway container. | `{"periodSeconds": 5, "timeoutSeconds": 3, "failureThreshold": 60}` | -| `tracesGateway.deployment.tolerations` | Tolerations for traces-gateway statefulset. | `[]` | -| `tracesSampler.deployment.replicas` | Set the number of OpenTelemetry Collector replicas. | `1` | -| `tracesSampler.deployment.nodeSelector` | Node selector for otelcol deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `tracesSampler.deployment.priorityClassName` | Priority class name for OpenTelemetry Collector log pods. | `Nil` | -| `tracesSampler.logLevelFilter` | Do not send traces-sampler logs if `true`. | `false` | -| `tracesSampler.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | -| `tracesSampler.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | -| `tracesSampler.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | -| `tracesSampler.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | -| `tracesSampler.config` | Configuration for traces-sampler. | See [values.yaml] | -| `tracesSampler.deployment.extraEnvVars` | Additional environment variables for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.extraVolumeMounts` | Additional volume mounts for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.extraVolumes` | Additional volumes for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.image.pullPolicy` | Image pullPolicy for traces-sampler docker container. | `IfNotPresent` | -| `tracesSampler.deployment.image.repository` | Image repository for traces-sampler docker container. | `` | -| `tracesSampler.deployment.image.tag` | Image tag for traces-sampler docker container. | `` | -| `tracesSampler.deployment.podAnnotations` | Additional annotations for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.podLabels` | Additional labels for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.resources` | Resources for traces-sampler statefulset. | `{"limits": {"memory": "4Gi", "cpu": "2000m"}, "requests": {"memory": "384Mi", "cpu": "200m"}}` | -| `tracesSampler.deployment.tolerations` | Tolerations for traces-sampler statefulset. | `[]` | -| `otellogs.image.repository` | Image repository for otelcol docker container. | `` | -| `otellogs.image.tag` | Image tag for otelcol docker container. | `` | -| `otellogs.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | -| `otellogs.logLevel` | Log level for the OpenTelemtry Collector. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | -| `otellogs.config.merge` | Configuration for log collector otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `otellogs.config.override` | Configuration for log collector otelcol, replaces defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `otellogs.daemonset` | OpenTelemetry Collector Daemonset customization options. See [values.yaml] for more details. | See [values.yaml] | -| `otelcloudwatch.statefulset` | OpenTelemetry Cloudwatch Collector statefulset customization options. See [values.yaml] for more details. | See [values.yaml] | -| `otellogs.additionalDaemonSets` | OpenTelemetry Collector Daemonset per node customization options. See [Best Practices](/docs/best-practices.md#setting-different-resources-on-different-nodes-for-logs-collector). | `{}` | -| `otellogs.metrics.enabled` | Enable OpenTelemetry Collector metrics | `true` | -| `otellogs.serviceLabels` | Add custom labels to OpenTelemetry Collector Service | `{}` | -| `metadata.image.repository` | Image repository for otelcol docker container. | `` | -| `metadata.image.tag` | Image tag for otelcol docker container. | `` | -| `metadata.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | -| `metadata.securityContext` | The securityContext configuration for otelcol. | `{"fsGroup": 999}` | -| `metadata.podLabels` | Additional labels for all otelcol pods. | `{}` | -| `metadata.podAnnotations` | Additional annotations for all otelcol pods. | `{}` | -| `metadata.serviceLabels` | Additional labels for all otelcol pods. | `{}` | -| `metadata.persistence.enabled` | Flag to control persistence for OpenTelemetry Collector. | `true` | -| `metadata.persistence.storageClass` | Defines storageClassName for the PersistentVolumeClaim which is used to provide persistence for OpenTelemetry Collector. | `Nil` | -| `metadata.persistence.accessMode` | The accessMode for the volume which is used to provide persistence for OpenTelemetry Collector. | `ReadWriteOnce` | -| `metadata.persistence.size` | Size of the volume which is used to provide persistence for OpenTelemetry Collector. | `10Gi` | -| `metadata.persistence.pvcLabels` | Additional PersistentVolumeClaim labels for all OpenTelemetry Collector pods. | `{}` | -| `metadata.metrics.enabled` | Flag to control deploying the otelcol metrics statefulsets. | `true` | -| `metadata.metrics.logLevel` | Flag to control logging level for OpenTelemetry Collector for metrics. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | -| `metadata.metrics.config.merge` | Configuration for metrics metadata otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `metadata.metrics.config.override` | Configuration for metrics metadata otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `metadata.metrics.config.additionalEndpoints` | List of additional endpoints for Open Telemetry Metadata Pod. | `[]` | -| `metadata.metrics.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for metrics otelcol container. | `{"periodSeconds": 3, "failureThreshold": 60}` | -| `metadata.metrics.statefulset.nodeSelector` | Node selector for metrics metadata enrichment (otelcol) statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `metadata.metrics.statefulset.tolerations` | Tolerations for metrics metadata enrichment (otelcol) statefulset. | `[]` | -| `metadata.metrics.statefulset.affinity` | Affinity for metrics metadata enrichment (otelcol) statefulset. | `{}` | -| `metadata.metrics.statefulset.podAntiAffinity` | PodAntiAffinity for metrics metadata enrichment (otelcol) statefulset. | `soft` | -| `metadata.metrics.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for metrics metadata enrichment (otelcol) statefulset. | `[]` | -| `metadata.metrics.statefulset.replicaCount` | Replica count for metrics metadata enrichment (otelcol) statefulset. | `3` | -| `metadata.metrics.statefulset.resources` | Resources for metrics metadata enrichment (otelcol) statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | -| `metadata.metrics.statefulset.priorityClassName` | Priority class name for metrics metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.metrics.statefulset.podLabels` | Additional labels for metrics metadata enrichment (otelcol) pods. | `{}` | -| `metadata.metrics.statefulset.podAnnotations` | Additional annotations for metrics metadata enrichment (otelcol) pods. | `{}` | -| `metadata.metrics.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | -| `metadata.metrics.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | -| `metadata.metrics.statefulset.containers.otelcol.securityContext` | The securityContext configuration for otelcol container for metrics metadata enrichment statefulset. | `{}` | -| `metadata.metrics.statefulset.extraEnvVars` | Additional environment variables for metrics metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.metrics.statefulset.extraVolumes` | Additional volumes for metrics metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.metrics.statefulset.extraVolumeMounts` | Additional volume mounts for metrics metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.metrics.autoscaling.enabled` | Option to turn autoscaling on for metrics metadata enrichment (otelcol) and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `metadata.metrics.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `metadata.metrics.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | -| `metadata.metrics.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `80` | -| `metadata.metrics.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `Nil` | -| `metadata.metrics.podDisruptionBudget` | Pod Disruption Budget for metrics metadata enrichment (otelcol) statefulset and for experimental otelcol metrics collector. | `{"minAvailable": 2}` | -| `metadata.logs.enabled` | Flag to control deploying the otelcol logs statefulsets. | `true` | -| `metadata.logs.logLevel` | Flag to control logging level for OpenTelemetry Collector for logs. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | -| `metadata.logs.config.merge` | Configuration for logs metadata otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `metadata.logs.config.override` | Configuration for logs metadata otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `metadata.logs.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for the logs otelcol container. | `{"periodSeconds": 3, "failureThreshold": 60}` | -| `metadata.logs.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | -| `metadata.logs.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | -| `metadata.logs.statefulset.containers.otelcol.securityContext` | The securityContext configuration for the logs otelcol container. | `{}` | -| `metadata.logs.statefulset.nodeSelector` | Node selector for logs metadata enrichment (otelcol) statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `metadata.logs.statefulset.tolerations` | Tolerations for logs metadata enrichment (otelcol) statefulset. | `[]` | -| `metadata.logs.statefulset.affinity` | Affinity for logs metadata enrichment (otelcol) statefulset. | `{}` | -| `metadata.logs.statefulset.podAntiAffinity` | PodAntiAffinity for logs metadata enrichment (otelcol) statefulset. | `soft` | -| `metadata.logs.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for logs metadata enrichment (otelcol) statefulset. | `[]` | -| `metadata.logs.statefulset.replicaCount` | Replica count for logs metadata enrichment (otelcol) statefulset. | `3` | -| `metadata.logs.statefulset.resources` | Resources for logs metadata enrichment (otelcol) statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | -| `metadata.logs.statefulset.priorityClassName` | Priority class name for logs metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.logs.statefulset.podLabels` | Additional labels for logs metadata enrichment (otelcol) pods. | `{}` | -| `metadata.logs.statefulset.podAnnotations` | Additional annotations for logs metadata enrichment (otelcol) pods. | `{}` | -| `metadata.logs.statefulset.extraEnvVars` | Additional environment variables for logs metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.logs.statefulset.extraVolumes` | Additional volumes for logs metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.logs.statefulset.extraVolumeMounts` | Additional volume mounts for logs metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.logs.statefulset.extraPorts` | Additional exposed ports in logs metadata enrichment (otelcol) pods and service. | `Nil` | -| `metadata.logs.statefulset.extraArgs` | Additional arguments to otelcol container. | `Nil` | -| `metadata.logs.autoscaling.enabled` | Option to turn autoscaling on for logs metadata enrichment (otelcol) and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `metadata.logs.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `metadata.logs.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | -| `metadata.logs.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `80` | -| `metadata.logs.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `Nil` | -| `metadata.logs.podDisruptionBudget` | Pod Disruption Budget for logs metadata enrichment (otelcol) statefulset. | `{"minAvailable": 2}` | -| `otelevents.image.repository` | Image repository for otelcol docker container. | `` | -| `otelevents.image.tag` | Image tag for otelcol docker container. | `` | -| `otelevents.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | -| `otelevents.logLevel` | Log level for the OpenTelemtry Collector. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | -| `otelevents.config.merge` | Configuration for events otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | -| `otelevents.config.override` | Configuration for events otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | -| `otelevents.statefulset` | OpenTelemetry Collector StatefulSet customization options. See values.yaml for more details. | See [values.yaml] | -| `tailing-sidecar-operator.enabled` | Flag to control deploying Tailing Sidecar Operator Helm sub-chart. | `false` | -| `tailing-sidecar-operator.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `tailing-sidecar-operator.scc.create` | Create OpenShift's Security Context Constraint | `false` | -| `kube-prometheus-stack.prometheus.prometheusSpec.nodeSelector` | Node selector for prometheus. [See docs/Best_Practices.md for more information.](/docs/best-practices.md) | `{}` | -| `pvcCleaner.metrics.enabled` | Flag to enable cleaning unused PVCs for otelcol metrics statefulsets. | `false` | -| `pvcCleaner.logs.enabled` | Flag to enable cleaning unused PVCs for otelcol logs statefulsets. | `false` | -| `pvcCleaner.job.image.repository` | Image repository for pvcCleaner docker containers. | `public.ecr.aws/sumologic/kubernetes-tools-kubectl` | -| `pvcCleaner.job.image.tag` | Image tag for pvcCleaner docker containers. | `2.20.0` | -| `pvcCleaner.job.image.pullPolicy` | Image pullPolicy for pvcCleaner docker containers. | `IfNotPresent` | -| `pvcCleaner.job.resources` | Resource requests and limits for the pvcCleaner containers. | `{"limits": {"memory": "256Mi", "cpu": "2000m"}, "requests": {"memory": "64Mi", "cpu": "100m"}}` | -| `pvcCleaner.job.nodeSelector` | Node selector for pvcCleaner job. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `pvcCleaner.job.tolerations` | Add tolerations for the pvcCleaner job. | `[]` | -| `pvcCleaner.job.affinity` | Add affinity and anti-affinity for the pvcCleaner job. | `{}` | -| `pvcCleaner.job.podLabels` | Additional labels for the pvcCleaner container. | `{}` | -| `pvcCleaner.job.podAnnotations` | Additional annotations for for the pvcCleaner container. | `{}` | -| `pvcCleaner.job.schedule` | Schedule for cronJobs | `*/15 * * * *` | -| `pvcCleaner.job.securityContext` | The securityContext configuration for the pvcCleaner. | `{"runAsUser": 1000}` | +| Parameter | Description | Default | +| --- | --- | --- | +| `nameOverride` | Used to override the Chart name. | `Nil` | +| `fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `namespaceOverride` | Used to override the chart's default target namepace. | `Nil` | +| `sumologic.setupEnabled` | If enabled, a pre-install hook will create Collector and Sources in Sumo Logic. | `true` | +| `sumologic.cleanupEnabled` | If enabled, a pre-delete hook will destroy Kubernetes secret and Sumo Logic Collector. | `false` | +| `sumologic.envFromSecret` | If enabled, accessId and accessKey will be sourced from Secret Name given. Be sure to include at least the following env variables in your secret (1) SUMOLOGIC_ACCESSID, (2) SUMOLOGIC_ACCESSKEY | `sumo-api-secret` | +| `sumologic.accessId` | Sumo access ID. | `Nil` | +| `sumologic.accessKey` | Sumo access key. | `Nil` | +| `sumologic.endpoint` | Sumo API endpoint; Leave blank for automatic endpoint discovery and redirection. | `Nil` | +| `sumologic.httpProxy` | HTTP proxy URL | `Nil` | +| `sumologic.httpsProxy` | HTTPS proxy URL | `Nil` | +| `sumologic.noProxy` | List of comma separated hostnames which should be excluded from the proxy | `kubernetes.default.svc` | +| `sumologic.collectorName` | The name of the Sumo Logic collector that will be created in the SetUp job. Defaults to `clusterName` if not specified. | `Nil` | +| `sumologic.clusterName` | An identifier for the Kubernetes cluster. Whitespaces in the cluster name will be replaced with dashes. | `kubernetes` | +| `sumologic.cluster` | Configuration of Kubernetes for [Terraform client](https://www.terraform.io/docs/providers/kubernetes/index.html#argument-reference). | `See [values.yaml]` | +| `sumologic.collectionMonitoring` | If you set it to false, it would set EXCLUDE_NAMESPACE= and not add the Otelcol logs and Prometheus remotestorage metrics. | `true` | +| `sumologic.pullSecrets` | Optional list of secrets that will be used for pulling images for Sumo Logic's deployments and statefulsets. | `[{"name": "myRegistryKeySecretName"}]` | +| `sumologic.podLabels` | Additional labels for the pods. | `{}` | +| `sumologic.podAnnotations` | Additional annotations for the pods. | `{}` | +| `sumologic.serviceAccount.annotations` | Add custom annotations to sumologic serviceAccounts | `{}` | +| `sumologic.scc.create` | Create OpenShift's Security Context Constraint | `false` | +| `sumologic.setup.force` | Force collection installation (disables k8s version verification) | `true` | +| `sumologic.setup.job.image.repository` | Image repository for Sumo Logic setup job docker container. | `public.ecr.aws/sumologic/kubernetes-setup` | +| `sumologic.setup.job.image.tag` | Image tag for Sumo Logic setup job docker container. | `3.10.0` | +| `sumologic.setup.job.image.pullPolicy` | Image pullPolicy for Sumo Logic docker container. | `IfNotPresent` | +| `sumologic.setup.job.pullSecrets` | Optional list of secrets that will be used for pulling images for Sumo Logic's setup job. | `[{"name": "myRegistryKeySecretName"}]` | +| `sumologic.setup.job.resources` | Resource requests and limits for the setup Job. | `{"limits": {"memory": "256Mi", "cpu": "2000m"}, "requests": {"memory": "64Mi", "cpu": "200m"}}` | +| `sumologic.setup.job.nodeSelector` | Node selector for sumologic setup job. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `sumologic.setup.job.tolerations` | Add tolerations for the setup Job. | `[]` | +| `sumologic.setup.job.affinity` | Add affinity and anti-affinity for the setup Job. | `{}` | +| `sumologic.setup.job.podLabels` | Additional labels for the setup Job pod. | `{}` | +| `sumologic.setup.job.podAnnotations` | Additional annotations for the setup Job pod. | `{}` | +| `sumologic.setup.debug` | Enable debug mode (disables the automatic execution of the setup.sh script) | `true` | +| `sumologic.setup.monitors.enabled` | If enabled, a pre-install hook will create k8s monitors in Sumo Logic. | `true` | +| `sumologic.setup.monitors.monitorStatus` | The installed monitors default status: enabled/disabled. | `enabled` | +| `sumologic.setup.monitors.notificationEmails` | A list of emails to send notifications from monitors. | `[]` | +| `sumologic.setup.dashboards.enabled` | If enabled, a pre-install hook will install k8s dashboards in Sumo Logic. | `true` | +| `sumologic.collector.fields` | Configuration of Sumo Logic fields. [See Sumo Logic Terraform Plugin documentation for more information](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/collector#fields). All double quotes should be escaped here regarding Terraform syntax. | `{}` | +| `sumologic.collector.sources` | Configuration of HTTP sources. [See docs/Terraform.md for more information](/docs/terraform.md). All double quotes should be escaped here regarding Terraform syntax. | `See [values.yaml]` | +| `sumologic.otelcolImage.repository` | Default image repository for OpenTelemetry Collector. This can be overridden for specific components. | `public.ecr.aws/sumologic/sumologic-otel-collector` | +| `sumologic.otelcolImage.tag` | Default image tag for OpenTelemetry Collector. This can be overridden for specific components. | `0.85.0-sumo-0` | +| `sumologic.otelcolImage.addFipsSuffix` | Add a `-fips` suffix to all image tags. See [docs/security-best-practices.md](/docs/security-best-practices.md) for more information. | `false` | +| `sumologic.events.enabled` | Defines whether collection of Kubernetes events is enabled. | `true` | +| `sumologic.events.sourceName` | Source name for the Events source. | `events` | +| `sumologic.events.sourceCategory` | Source category for the Events source. | `kubernetes/events` | +| `sumologic.events.sourceCategoryReplaceDash` | Used to replace - with another character. | `/` | +| `sumologic.events.persistence.enabled` | Enable persistence for the event collector. Persistence lets the collector avoid reingesting events on restart and buffer them locally if unable to reach the backend. | `true` | +| `sumologic.events.persistence.size` | Size of the persistent storage volume | `10Gi` | +| `sumologic.events.persistence.persistentVolume.path` | Local filesystem path the persistent storage volume will be mounted at. | `/var/lib/storage/events` | +| `sumologic.events.persistence.persistentVolume.accessMode` | The accessMode for the persistent storage volume | `ReadWriteOnce` | +| `sumologic.events.persistence.persistentVolume.pvcLabels` | Additional PersistentVolumeClaim labels for persistent storage volumes | `{}` | +| `sumologic.events.persistence.persistentVolume.storageClass` | The storageClassName for the persistent storage volume | `Nil` | +| `sumologic.events.sourceType` | The type of the Sumo Logic source being used for events ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | +| `sumologic.logs.enabled` | Set the enabled flag to false for disabling logs ingestion altogether. | `true` | +| `sumologic.logs.collector.otelcol.enabled` | Enable OpenTelemetry logs collector. | `true` | +| `sumologic.logs.collector.otelcloudwatch.enabled` | Flag to enable CloudWatch Collection | `false` | +| `sumologic.logs.collector.otelcloudwatch.roleArn` | AWS role ARN, to authenticate with CloudWatch | `Nil` | +| `sumologic.logs.collector.otelcloudwatch.persistence.enabled` | Flag to control persistence for the CloudWatch collector | `true` | +| `sumologic.logs.collector.otelcloudwatch.region` | EKS Fargate cluster region | `Nil` | +| `sumologic.logs.collector.otelcloudwatch.pollInterval` | CloudWatch poll interval | `1m` | +| `sumologic.logs.collector.otelcloudwatch.logGroups` | Log Groups configuration for AWS CloudWatch receiver | `{}` | +| `sumologic.logs.multiline.enabled` | Enable multiline detection for Kubernetes container logs. | `true` | +| `sumologic.logs.multiline.first_line_regex` | Regular expression to match first line of multiline logs. | `^\\[?\\d{4}-\\d{1,2}-\\d{1,2}.\\d{2}:\\d{2}:\\d{2}` | +| `sumologic.logs.multiline.additional` | List of additional conditions and expressions to match first line of multiline logs. See [Multiline](/docs/collecting-container-logs.md#conditional-multiline-log-parsing) for more information. | `[]` | +| `sumologic.logs.container.enabled` | Enable collecting logs from Kubernetes containers. | `true` | +| `sumologic.logs.container.format` | Format for container logs. | `fields` | +| `sumologic.logs.container.keep_time_attribute` | When set to `true`, preserves the `time` attribute, which is a string representation of the `timestamp` attribute. | `false` | +| `sumologic.logs.container.otelcol.extraProcessors` | Extra processors for container logs. See [/docs/collecting-container-logs.md](/docs/collecting-container-logs.md) for details. | `[]` | +| `sumologic.logs.container.sourceHost` | Set the \_sourceHost metadata field in Sumo Logic. | `Nil` | +| `sumologic.logs.container.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `%{namespace}.%{pod}.%{container}` | +| `sumologic.logs.container.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `%{namespace}/%{pod_name}` | +| `sumologic.logs.container.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `kubernetes/` | +| `sumologic.logs.container.sourceCategoryReplaceDash` | Used to replace - with another character. | `/` | +| `sumologic.logs.container.excludeContainerRegex` | A regular expression for container names. Logs from matching containers will not be sent to Sumo. | `Nil` | +| `sumologic.logs.container.excludeHostRegex` | A regular expression for Kubernetes node names. Logs from pods running on matching nodes will not be sent to Sumo. | `Nil` | +| `sumologic.logs.container.excludeNamespaceRegex` | A regular expression for Kubernetes namespace names. Logs from pods running in matching namespaces will not be sent to Sumo. | `Nil` | +| `sumologic.logs.container.excludePodRegex` | A regular expression for pod names. Logs from matching pods will not be sent to Sumo. | `Nil` | +| `sumologic.logs.container.perContainerAnnotationsEnabled` | Enable container-level pod annotations. | `false` | +| `sumologic.logs.container.perContainerAnnotationPrefixes` | Defines the list of prefixes of container-level pod annotations. | `[]` | +| `sumologic.logs.systemd.enabled` | Enable collecting systemd logs from Kubernets nodes. | `true` | +| `sumologic.logs.systemd.units` | List of systemd units to collect logs from. | `["docker.service"]` | +| `sumologic.logs.systemd.otelcol.extraProcessors` | Extra processors for systemd logs. See [/docs/collecting-systemd-logs.md](/docs/collecting-systemd-logs.md) for details. | `[]` | +| `sumologic.logs.systemd.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `%{_sourceName}` | +| `sumologic.logs.systemd.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `system` | +| `sumologic.logs.systemd.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `kubernetes/` | +| `sumologic.logs.systemd.sourceCategoryReplaceDash` | Used to replace - with another character. | `/` | +| `sumologic.logs.systemd.excludeFacilityRegex` | A regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.systemd.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.systemd.excludePriorityRegex` | A regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.systemd.excludeUnitRegex` | A regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.kubelet.otelcol.extraProcessors` | Extra processors for systemd logs. See [/docs/collecting-systemd-logs.md](/docs/collecting-systemd-logs.md) for details. | `[]` | +| `sumologic.logs.kubelet.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `k8s_kubelet` | +| `sumologic.logs.kubelet.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `kubelet` | +| `sumologic.logs.kubelet.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `kubernetes/` | +| `sumologic.logs.kubelet.sourceCategoryReplaceDash` | Used to replace - with another character. | `/` | +| `sumologic.logs.kubelet.excludeFacilityRegex` | A regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.kubelet.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.kubelet.excludePriorityRegex` | A regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.kubelet.excludeUnitRegex` | A regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.fields` | Fields to be created at Sumo Logic to ensure logs are tagged with relevant metadata. [Sumo Logic help](https://help.sumologic.com/docs/manage/fields/#manage-fields) | `["cluster", "container", "daemonset", "deployment", "host", "namespace", "node", "pod", "service", "statefulset"]` | +| `sumologic.logs.sourceType` | The type of the Sumo Logic source being used for logs ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | +| `sumologic.metrics.enabled` | Set the enabled flag to false for disabling metrics ingestion altogether. | `true` | +| `sumologic.metrics.collector.otelcol.enabled` | Enable experimental otelcol metrics collector | `false` | +| `sumologic.metrics.collector.otelcol.scrapeInterval` | The default scrape interval for the collector. | `30s` | +| `sumologic.metrics.collector.otelcol.autoscaling.enabled` | Option to turn autoscaling on for the experimental otelcol metrics and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. collector | `false` | +| `sumologic.metrics.collector.otelcol.autoscaling.minReplicas` | Default min replicas for autoscaling. collector | `3` | +| `sumologic.metrics.collector.otelcol.autoscaling.maxReplicas` | Default max replicas for autoscaling. collector | `10` | +| `sumologic.metrics.collector.otelcol.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `70` | +| `sumologic.metrics.collector.otelcol.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `70` | +| `sumologic.metrics.collector.otelcol.nodeSelector` | Node selector for the experimental otelcol metrics. [See docs/best-practices.md for more information.](/docs/best-practices.md). | `{}` | +| `sumologic.metrics.collector.otelcol.podAnnotations` | Additional annotations for the experimental otelcol metrics pods. | `{}` | +| `sumologic.metrics.collector.otelcol.podLabels` | Additional labels for the experimental otelcol metrics pods. | `{}` | +| `sumologic.metrics.collector.otelcol.priorityClassName` | Priority class name for the experimental otelcol metrics. | `Nil` | +| `sumologic.metrics.collector.otelcol.replicaCount` | Replica count for the experimental otelcol metrics collector | `1` | +| `sumologic.metrics.collector.otelcol.resources` | Resource requests and limits for the experimental otelcol metrics collector | `{"limits": {"memory": "2Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "100m"}}` | +| `sumologic.metrics.collector.otelcol.serviceMonitorSelector` | Selector for ServiceMonitors used for target discovery. By default, we select ServiceMonitors created by the Chart. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `{}` | +| `sumologic.metrics.collector.otelcol.podMonitorSelector` | Selector for PodMonitors used for target discovery. By default, we select PodMonitors created by the Chart. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `{}` | +| `sumologic.metrics.collector.otelcol.securityContext` | The securityContext configuration for the experimental otelcol metrics. | `{"fsGroup": 999}` | +| `sumologic.metrics.collector.otelcol.tolerations` | Tolerations for the experimental otelcol metrics. | `[]` | +| `sumologic.metrics.collector.otelcol.kubelet.enabled` | Enable collection of kubelet metrics. | `true` | +| `sumologic.metrics.collector.otelcol.cAdvisor.enabled` | Enable collection of cAdvisor metrics. | `true` | +| `sumologic.metrics.collector.otelcol.annotatedPods.enabled` | Enable collection of metrics from Pods annotated with prometheus.io/\* keys. See [docs/collecting-application-metrics.md](/docs/collecting-application-metrics.md#application-metrics-are-exposed-one-endpoint-scenario) for more information. | `true` | +| `sumologic.metrics.collector.otelcol.allocationStrategy` | Allocation strategy for the scrape target allocator. Valid values are: least-weighted and consistent-hashing. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocator | `least-weighted` | +| `sumologic.metrics.enableDefaultFilters` | Enable default metric filters for Sumo Apps. | `false` | +| `sumologic.metrics.dropHistogramBuckets` | Drop buckets from select high-cardinality histogram metrics, leaving only the sum and count components. | `true` | +| `sumologic.metrics.otelcol.extraProcessors` | Extra processors configuration for metrics pipeline. See [/docs/collecting-application-metrics.md#metrics-modifications](/docs/collecting-application-metrics.md#metrics-modifications) for more information. | `[]` | +| `sumologic.metrics.remoteWriteProxy.enabled` | Enable a load balancing proxy for Prometheus remote writes. [See docs for more information.](/docs/prometheus.md#using-a-load-balancing-proxy-for-prometheus-remote-write) | `true` | +| `sumologic.metrics.remoteWriteProxy.config.clientBodyBufferSize` | See the [nginx documentation](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size). Increase if you've also increased samples per send in Prometheus remote write. | `64k` | +| `sumologic.metrics.remoteWriteProxy.config.workerCountAutotune` | This feature autodetects how much CPU is assigned to the nginx instance and setsthe right amount of workers based on that. Disable to use the default of 8 workers. | `true` | +| `sumologic.metrics.remoteWriteProxy.config.port` | Port on which remote write proxy is going to be exposed | `8080` | +| `sumologic.metrics.remoteWriteProxy.config.enableAccessLogs` | Enable nginx access logs. | `false` | +| `sumologic.metrics.remoteWriteProxy.replicaCount` | Number of replicas in the remote write proxy deployment. | `3` | +| `sumologic.metrics.remoteWriteProxy.image` | Nginx docker image for the remote write proxy. | `{"repository": "public.ecr.aws/sumologic/nginx-unprivileged", "tag": "1.25.2-alpine", "pullPolicy": "IfNotPresent"}` | +| `sumologic.metrics.remoteWriteProxy.resources` | Resource requests and limits for the remote write proxy container. | `{"limits": {"cpu": "1000m", "memory": "256Mi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}` | +| `sumologic.metrics.remoteWriteProxy.livenessProbe` | Liveness probe settings for the remote write proxy container. | `{"initialDelaySeconds": 30, "periodSeconds": 10, "timeoutSeconds": 5, "successThreshold": 1, "failureThreshold": 6}` | +| `sumologic.metrics.remoteWriteProxy.readinessProbe` | Readiness probe settings for the remote write proxy container. | `{"initialDelaySeconds": 5, "periodSeconds": 5, "timeoutSeconds": 3, "successThreshold": 1, "failureThreshold": 3}` | +| `sumologic.metrics.remoteWriteProxy.securityContext` | The securityContext configuration for the remote write proxy. | `{}` | +| `sumologic.metrics.remoteWriteProxy.nodeSelector` | Node selector for the remote write proxy deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `sumologic.metrics.remoteWriteProxy.tolerations` | Tolerations for the remote write proxy deployment. | `[]` | +| `sumologic.metrics.remoteWriteProxy.affinity` | Affinity for the remote write proxy deployment. | `{}` | +| `sumologic.metrics.remoteWriteProxy.priorityClassName` | Priority class name for the remote write proxy deployment. | `Nil` | +| `sumologic.metrics.remoteWriteProxy.podLabels` | Additional labels for the remote write proxy container. | `{}` | +| `sumologic.metrics.remoteWriteProxy.podAnnotations` | Additional annotations for for the remote write proxy container. | `{}` | +| `sumologic.metrics.serviceMonitors` | Configuration of Sumo Logic Kubernetes Collection components serviceMonitors | `See [values.yaml]` | +| `sumologic.metrics.sourceType` | The type of the Sumo Logic source being used for metrics ingestion. Can be `http` or `otlp`. | `http` | +| `sumologic.traces.enabled` | Set the enabled flag to true to enable tracing ingestion. _Tracing must be enabled for the account first. Please contact your Sumo representative for activation details_ | `true` | +| `sumologic.traces.spans_per_request` | Maximum number of spans sent in single batch | `100` | +| `sumologic.traces.sourceType` | The type of the Sumo Logic source being used for traces ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/traces/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | +| `metrics-server.enabled` | Set the enabled flag to true for enabling metrics-server. This is required before enabling autoscaling unless you have an existing metrics-server in the cluster. | `false` | +| `metrics-server.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `metrics-server.apiService.create` | Specifies whether the v1beta1.metrics.k8s.io API service should be created. | `true` | +| `metrics-server.extraArgs` | Extra arguments to pass to metrics-server on start up. | `["--kubelet-insecure-tls=true", "--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname"]` | +| `metrics-server.image.pullSecrets` | Pull secrets for metrics-server images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `["imagepullsecret"]` | +| `kube-prometheus-stack.enabled` | Flag to control deploying Prometheus Operator Helm sub-chart. | `false` | +| `kube-prometheus-stack.global.imagePullSecrets` | Pull secrets for Kube Prometheus Stack images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[{"name": "image-pull-secret"}]` | +| `kube-prometheus-stack.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `kube-prometheus-stack.namespaceOverride` | Used to override the chart's default namespace. | `Nil` | +| `kube-prometheus-stack.kubeTargetVersionOverride` | Provide a target gitVersion of K8S, in case .Capabilites.KubeVersion is not available (e.g. helm template). Changing this may break Sumo Logic apps. | `Nil` | +| `kube-prometheus-stack.commonLabels` | Labels to apply to all Kube Prometheus Stack resources | `{}` | +| `kube-prometheus-stack.defaultRules.rules` | Control which default recording and alerting rules are enabled. | `See [values.yaml]` | +| `kube-prometheus-stack.additionalPrometheusRulesMap` | Custom recording or alerting rules to be deployed into the cluster | `See [values.yaml]` | +| `kube-prometheus-stack.kubeApiServer.serviceMonitor.interval` | Kubernetes API Server metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubeApiServer.serviceMonitor.metricRelabelings` | Kubernetes API Server MetricRelabelConfigs | `[{"action": "keep", "regex": "(?:apiserver_request_(?:count\|total)\|apiserver_request_(?:duration_seconds)_(?:count\|sum))", "sourceLabels": ["__name__"]}]` | +| `kube-prometheus-stack.kubelet.serviceMonitor.interval` | Kubelet metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubelet.serviceMonitor.probes` | Enable scraping /metrics/probes from kubelet's service | `false` | +| `kube-prometheus-stack.kubelet.serviceMonitor.resource` | Enable scraping /metrics/resource from kubelet's service | `false` | +| `kube-prometheus-stack.kubelet.serviceMonitor.metricRelabelings` | Kubelet MetricRelabelConfigs | `See [values.yaml]` | +| `kube-prometheus-stack.kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Kubelet CAdvisor MetricRelabelConfigs | `See [values.yaml]` | +| `kube-prometheus-stack.kubeControllerManager.serviceMonitor.interval` | Kubernetes Controller Manager metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubeControllerManager.serviceMonitor.metricRelabelings` | Kubernetes Controller Manager MetricRelabelConfigs | `[{"action": "keep", "regex": "(?:cloudprovider_.*_api_request_duration_seconds.*)", "sourceLabels": ["__name__"]}]` | +| `kube-prometheus-stack.coreDns.serviceMonitor.interval` | Core DNS metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.coreDns.serviceMonitor.metricRelabelings` | Core DNS MetricRelabelConfigs | `See [values.yaml]` | +| `kube-prometheus-stack.kubeEtcd.serviceMonitor.interval` | Kubernetes Etcd metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubeEtcd.serviceMonitor.metricRelabelings` | Kubernetes Etcd MetricRelabelConfigs | `See [values.yaml]` | +| `kube-prometheus-stack.kubeScheduler.serviceMonitor.interval` | Kubernetes Scheduler metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubeScheduler.serviceMonitor.metricRelabelings` | Kubernetes Scheduler MetricRelabelConfigs | `See [values.yaml]` | +| `kube-prometheus-stack.alertmanager.enabled` | Deploy alertmanager. | `false` | +| `kube-prometheus-stack.grafana.enabled` | If true, deploy the grafana sub-chart. | `false` | +| `kube-prometheus-stack.grafana.defaultDashboardsEnabled` | Deploy default dashboards. These are loaded using the sidecar. | `false` | +| `kube-prometheus-stack.prometheusOperator.podLabels` | Additional labels for prometheus operator pods. | `{}` | +| `kube-prometheus-stack.prometheusOperator.podAnnotations` | Additional annotations for prometheus operator pods. | `{}` | +| `kube-prometheus-stack.prometheusOperator.resources` | Resource limits for prometheus operator. Uses sub-chart defaults. | `{"limits": {"cpu": "200m", "memory": "200Mi"}, "requests": {"cpu": "100m", "memory": "100Mi"}}` | +| `kube-prometheus-stack.prometheusOperator.admissionWebhooks.enabled` | Create PrometheusRules admission webhooks. Mutating webhook will patch PrometheusRules objects indicating they were validated. Validating webhook will check the rules syntax. | `false` | +| `kube-prometheus-stack.prometheusOperator.tls.enabled` | Enable TLS in prometheus operator. | `false` | +| `kube-prometheus-stack.kube-state-metrics.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `kube-prometheus-stack.kube-state-metrics.nodeSelector` | Node selector for kube-state-metrics. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `kube-prometheus-stack.kube-state-metrics.customLabels` | Custom labels to apply to service, deployment and pods. Uses sub-chart defaults. | `{}` | +| `kube-prometheus-stack.kube-state-metrics.podAnnotations` | Additional annotations for pods in the DaemonSet. Uses sub-chart defaults. | `{}` | +| `kube-prometheus-stack.kube-state-metrics.resources` | Resource limits for kube state metrics. Uses sub-chart defaults. | `{"limits": {"cpu": "100m", "memory": "64Mi"}, "requests": {"cpu": "10m", "memory": "32Mi"}}` | +| `kube-prometheus-stack.kube-state-metrics.image.tag` | Tag for kube-state-metrics Docker image. | `v2.7.0` | +| `kube-prometheus-stack.kube-state-metrics.prometheus.monitor.interval` | Kubernetes State Metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kube-state-metrics.prometheus.monitor.metricRelabelings` | Kubernetes State Metrics MetricRelabelConfigs | `See [values.yaml]` | +| `kube-prometheus-stack.prometheus-node-exporter.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `kube-prometheus-stack.prometheus-node-exporter.nodeSelector` | Node selector for prometheus node exporter. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `kube-prometheus-stack.prometheus-node-exporter.podLabels` | Additional labels for prometheus-node-exporter pods. | `{}` | +| `kube-prometheus-stack.prometheus-node-exporter.podAnnotations` | Additional annotations for prometheus-node-exporter pods. | `{}` | +| `kube-prometheus-stack.prometheus-node-exporter.resources` | Resource limits for node exporter. Uses sub-chart defaults. | `{"limits": {"cpu": "200m", "memory": "50Mi"}, "requests": {"cpu": "100m", "memory": "30Mi"}}` | +| `kube-prometheus-stack.prometheus-node-exporter.prometheus.monitor.interval` | Node Exporter scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.prometheus-node-exporter.prometheus.monitor.metricRelabelings` | Node Exporter MetricRelabelConfigs | `See [values.yaml]` | +| `kube-prometheus-stack.prometheus.additionalServiceMonitors` | List of ServiceMonitor objects to create. | `[]` | +| `kube-prometheus-stack.prometheus.prometheusSpec.scrapeInterval` | Prometheus metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `30s` | +| `kube-prometheus-stack.prometheus.prometheusSpec.retention` | How long to retain metrics in Prometheus | `1d` | +| `kube-prometheus-stack.prometheus.prometheusSpec.podMetadata.labels` | Add custom pod labels to prometheus pods | `{}` | +| `kube-prometheus-stack.prometheus.prometheusSpec.podMetadata.annotations` | Add custom pod annotations to prometheus pods | `{}` | +| `kube-prometheus-stack.prometheus.prometheusSpec.nodeSelector` | Node selector for prometheus. [See docs/Best_Practices.md for more information.](/docs/best-practices.md) | `{}` | +| `kube-prometheus-stack.prometheus.prometheusSpec.resources` | Resource limits for prometheus. Uses sub-chart defaults. | `{"limits": {"cpu": "2000m", "memory": "8Gi"}, "requests": {"cpu": "500m", "memory": "1Gi"}}` | +| `kube-prometheus-stack.prometheus.prometheusSpec.initContainers` | InitContainers allows injecting additional Prometheus initContainers. | `See [values.yaml]` | +| `kube-prometheus-stack.prometheus.prometheusSpec.containers` | Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod. | `See [values.yaml]` | +| `kube-prometheus-stack.prometheus.prometheusSpec.walCompression` | Enables walCompression in Prometheus | `true` | +| `kube-prometheus-stack.prometheus.prometheusSpec.additionalScrapeConfigs` | Additional Prometheus scrape configurations | `See [values.yaml]` | +| `kube-prometheus-stack.prometheus.prometheusSpec.remoteWrite` | If specified, the remote_write spec. | `See [values.yaml]` | +| `kube-prometheus-stack.prometheus.prometheusSpec.additionalRemoteWrite` | additionalRemoteWrite` is appended to `kube-prometheus-stack.prometheus.prometheusSpec.remoteWrite | `See [values.yaml]` | +| `kube-prometheus-stack.prometheus.serviceMonitor.selfMonitor` | Enable scraping Prometheus metrics | `false` | +| `otelcolInstrumentation.enabled` | Enables Sumo Otel Distro Collector StatefulSet to collect telemetry data. [See docs for more information.](/docs/opentelemetry-collector/traces.md) | `true` | +| `otelcolInstrumentation.sourceMetadata.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `%{k8s.namespace.name}.%{k8s.pod.pod_name}.%{k8s.container.name}` | +| `otelcolInstrumentation.sourceMetadata.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `%{k8s.namespace.name}/%{k8s.pod.pod_name}` | +| `otelcolInstrumentation.sourceMetadata.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `kubernetes/` | +| `otelcolInstrumentation.sourceMetadata.sourceCategoryReplaceDash` | Used to replace - with another character. | `/` | +| `otelcolInstrumentation.sourceMetadata.excludeContainerRegex` | A regular expression for containers. Matching containers will be excluded from Sumo. | `Nil` | +| `otelcolInstrumentation.sourceMetadata.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. | `Nil` | +| `otelcolInstrumentation.sourceMetadata.excludeNamespaceRegex` | A regular expression for namespaces. Matching namespaces will be excluded from Sumo. | `Nil` | +| `otelcolInstrumentation.sourceMetadata.excludePodRegex` | A regular expression for pods. Matching pods will be excluded from Sumo. | `Nil` | +| `otelcolInstrumentation.autoscaling.enabled` | Option to turn autoscaling on for Sumo Otel Distro Collector StatefulSet and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | +| `otelcolInstrumentation.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | +| `otelcolInstrumentation.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | +| `otelcolInstrumentation.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | +| `otelcolInstrumentation.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | +| `otelcolInstrumentation.statefulset.nodeSelector` | Node selector for otelcol-instrumentation statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `otelcolInstrumentation.statefulset.tolerations` | Tolerations for otelcol-instrumentation statefulset. | `[]` | +| `otelcolInstrumentation.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for otelcol-instrumentation statefulset. | `[]` | +| `otelcolInstrumentation.statefulset.affinity` | Affinity for otelcol-instrumentation statefulset. | `{}` | +| `otelcolInstrumentation.statefulset.podAntiAffinity` | PodAntiAffinity for otelcol-instrumentation statefulset. | `soft` | +| `otelcolInstrumentation.statefulset.replicaCount` | Set the number of otelcol-instrumentation replicasets. | `3` | +| `otelcolInstrumentation.statefulset.resources` | Resources for otelcol-instrumentation statefulset. | `{"limits": {"memory": "4Gi", "cpu": "2000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | +| `otelcolInstrumentation.statefulset.priorityClassName` | Priority class name for otelcol-instrumentation pods. | `Nil` | +| `otelcolInstrumentation.statefulset.podLabels` | Additional labels for otelcol-instrumentation pods. | `{}` | +| `otelcolInstrumentation.statefulset.podAnnotations` | Additional annotations for otelcol-instrumentation pods. | `{}` | +| `otelcolInstrumentation.statefulset.image.repository` | Image repository for otelcol-instrumentation docker container. | `Nil` | +| `otelcolInstrumentation.statefulset.image.tag` | Image tag for otelcol-instrumentation docker container. | `Nil` | +| `otelcolInstrumentation.statefulset.image.pullPolicy` | Image pullPolicy for otelcol-instrumentation docker container. | `IfNotPresent` | +| `otelcolInstrumentation.statefulset.containers.otelcol.securityContext` | The securityContext configuration for the otelcol-instrumentation container. | `{}` | +| `otelcolInstrumentation.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the otelcol-instrumentation container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | +| `otelcolInstrumentation.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the otelcol-instrumentation container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | +| `otelcolInstrumentation.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for the otelcol-instrumentation container. | `{"periodSeconds": 3, "failureThreshold": 60}` | +| `otelcolInstrumentation.statefulset.extraEnvVars` | Additional environment variables for otelcol-instrumentation pods. | `[{"name": "VALUE_FROM_SECRET", "valueFrom": {"secretKeyRef": {"name": "secret_name", "key": "secret_key"}}}]` | +| `otelcolInstrumentation.statefulset.extraVolumes` | Additional volumes for otelcol-instrumentation pods. | `[{"name": "es-certs", "secret": {"defaultMode": 420, "secretName": "es-certs"}}]` | +| `otelcolInstrumentation.statefulset.extraVolumeMounts` | Additional volume mounts for otelcol-instrumentation pods. | `[{"name": "es-certs", "mountPath": "/certs", "readOnly": true}]` | +| `otelcolInstrumentation.logLevelFilter` | Do not send otelcol-instrumentation logs if `true`. | `false` | +| `otelcolInstrumentation.config` | Configuration for otelcol-instrumentation | `See [values.yaml]` | +| `tracesSampler.deployment.nodeSelector` | Node selector for otelcol deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `tracesSampler.deployment.tolerations` | Tolerations for traces-sampler statefulset. | `[]` | +| `tracesSampler.deployment.replicas` | Set the number of OpenTelemetry Collector replicas. | `1` | +| `tracesSampler.deployment.resources` | Resources for traces-sampler statefulset. | `{"limits": {"memory": "4Gi", "cpu": "2000m"}, "requests": {"memory": "384Mi", "cpu": "200m"}}` | +| `tracesSampler.deployment.priorityClassName` | Priority class name for OpenTelemetry Collector log pods. | `Nil` | +| `tracesSampler.deployment.podLabels` | Additional labels for traces-sampler pods. | `{}` | +| `tracesSampler.deployment.podAnnotations` | Additional annotations for traces-sampler pods. | `{}` | +| `tracesSampler.deployment.image.repository` | Image repository for traces-sampler docker container. | `Nil` | +| `tracesSampler.deployment.image.tag` | Image tag for traces-sampler docker container. | `Nil` | +| `tracesSampler.deployment.image.pullPolicy` | Image pullPolicy for traces-sampler docker container. | `IfNotPresent` | +| `tracesSampler.deployment.extraEnvVars` | Additional environment variables for traces-sampler pods. | `[{"name": "VALUE_FROM_SECRET", "valueFrom": {"secretKeyRef": {"name": "secret_name", "key": "secret_key"}}}]` | +| `tracesSampler.deployment.extraVolumes` | Additional volumes for traces-sampler pods. | `[{"name": "es-certs", "secret": {"defaultMode": 420, "secretName": "es-certs"}}]` | +| `tracesSampler.deployment.extraVolumeMounts` | Additional volume mounts for traces-sampler pods. | `[{"name": "es-certs", "mountPath": "/certs", "readOnly": true}]` | +| `tracesSampler.logLevelFilter` | Do not send traces-sampler logs if `true`. | `false` | +| `tracesSampler.config` | Configuration for traces-sampler. | `See [values.yaml]` | +| `metadata.image.repository` | Image repository for otelcol docker container. | `Nil` | +| `metadata.image.tag` | Image tag for otelcol docker container. | `Nil` | +| `metadata.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | +| `metadata.securityContext` | The securityContext configuration for otelcol. | `{"fsGroup": 999}` | +| `metadata.podLabels` | Additional labels for all otelcol pods. | `{}` | +| `metadata.podAnnotations` | Additional annotations for all otelcol pods. | `{}` | +| `metadata.serviceLabels` | Additional labels for all otelcol pods. | `{}` | +| `metadata.persistence.enabled` | Flag to control persistence for OpenTelemetry Collector. | `true` | +| `metadata.persistence.storageClass` | Defines storageClassName for the PersistentVolumeClaim which is used to provide persistence for OpenTelemetry Collector. | `Nil` | +| `metadata.persistence.accessMode` | The accessMode for the volume which is used to provide persistence for OpenTelemetry Collector. | `ReadWriteOnce` | +| `metadata.persistence.size` | Size of the volume which is used to provide persistence for OpenTelemetry Collector. | `10Gi` | +| `metadata.persistence.pvcLabels` | Additional PersistentVolumeClaim labels for all OpenTelemetry Collector pods. | `{}` | +| `metadata.metrics.enabled` | Flag to control deploying the otelcol metrics statefulsets. | `true` | +| `metadata.metrics.logLevel` | Flag to control logging level for OpenTelemetry Collector for metrics. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | +| `metadata.metrics.config.override` | Configuration for metrics metadata otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `metadata.metrics.config.merge` | Configuration for metrics metadata otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `metadata.metrics.config.additionalEndpoints` | List of additional endpoints for Open Telemetry Metadata Pod. | `[]` | +| `metadata.metrics.statefulset.nodeSelector` | Node selector for metrics metadata enrichment (otelcol) statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `metadata.metrics.statefulset.tolerations` | Tolerations for metrics metadata enrichment (otelcol) statefulset. | `[]` | +| `metadata.metrics.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for metrics metadata enrichment (otelcol) statefulset. | `[]` | +| `metadata.metrics.statefulset.affinity` | Affinity for metrics metadata enrichment (otelcol) statefulset. | `{}` | +| `metadata.metrics.statefulset.podAntiAffinity` | PodAntiAffinity for metrics metadata enrichment (otelcol) statefulset. | `soft` | +| `metadata.metrics.statefulset.replicaCount` | Replica count for metrics metadata enrichment (otelcol) statefulset. | `3` | +| `metadata.metrics.statefulset.resources` | Resources for metrics metadata enrichment (otelcol) statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | +| `metadata.metrics.statefulset.priorityClassName` | Priority class name for metrics metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.metrics.statefulset.podLabels` | Additional labels for metrics metadata enrichment (otelcol) pods. | `{}` | +| `metadata.metrics.statefulset.podAnnotations` | Additional annotations for metrics metadata enrichment (otelcol) pods. | `{}` | +| `metadata.metrics.statefulset.containers.otelcol.securityContext` | The securityContext configuration for otelcol container for metrics metadata enrichment statefulset. | `{}` | +| `metadata.metrics.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | +| `metadata.metrics.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | +| `metadata.metrics.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for metrics otelcol container. | `{"periodSeconds": 3, "failureThreshold": 60}` | +| `metadata.metrics.statefulset.extraEnvVars` | Additional environment variables for metrics metadata enrichment (otelcol) pods. | `[{"name": "VALUE_FROM_SECRET", "valueFrom": {"secretKeyRef": {"name": "secret_name", "key": "secret_key"}}}]` | +| `metadata.metrics.statefulset.extraVolumes` | Additional volumes for metrics metadata enrichment (otelcol) pods. | `[{"name": "es-certs", "secret": {"defaultMode": 420, "secretName": "es-certs"}}]` | +| `metadata.metrics.statefulset.extraVolumeMounts` | Additional volume mounts for metrics metadata enrichment (otelcol) pods. | `[{"name": "es-certs", "mountPath": "/certs", "readOnly": true}]` | +| `metadata.metrics.autoscaling.enabled` | Option to turn autoscaling on for metrics metadata enrichment (otelcol) and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | +| `metadata.metrics.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | +| `metadata.metrics.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | +| `metadata.metrics.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `80` | +| `metadata.metrics.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | +| `metadata.metrics.podDisruptionBudget` | Pod Disruption Budget for metrics metadata enrichment (otelcol) statefulset and for experimental otelcol metrics collector. | `{"minAvailable": 2, "maxUnavailable": 1}` | +| `metadata.logs.enabled` | Flag to control deploying the otelcol logs statefulsets. | `true` | +| `metadata.logs.logLevel` | Flag to control logging level for OpenTelemetry Collector for logs. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | +| `metadata.logs.config.override` | Configuration for logs metadata otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `metadata.logs.config.merge` | Configuration for logs metadata otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `metadata.logs.statefulset.nodeSelector` | Node selector for logs metadata enrichment (otelcol) statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `metadata.logs.statefulset.tolerations` | Tolerations for logs metadata enrichment (otelcol) statefulset. | `[]` | +| `metadata.logs.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for logs metadata enrichment (otelcol) statefulset. | `[]` | +| `metadata.logs.statefulset.affinity` | Affinity for logs metadata enrichment (otelcol) statefulset. | `{}` | +| `metadata.logs.statefulset.podAntiAffinity` | PodAntiAffinity for logs metadata enrichment (otelcol) statefulset. | `soft` | +| `metadata.logs.statefulset.replicaCount` | Replica count for logs metadata enrichment (otelcol) statefulset. | `3` | +| `metadata.logs.statefulset.resources` | Resources for logs metadata enrichment (otelcol) statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | +| `metadata.logs.statefulset.priorityClassName` | Priority class name for logs metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.logs.statefulset.podLabels` | Additional labels for logs metadata enrichment (otelcol) pods. | `{}` | +| `metadata.logs.statefulset.podAnnotations` | Additional annotations for logs metadata enrichment (otelcol) pods. | `{}` | +| `metadata.logs.statefulset.containers.otelcol.securityContext` | The securityContext configuration for the logs otelcol container. | `{}` | +| `metadata.logs.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | +| `metadata.logs.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | +| `metadata.logs.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for the logs otelcol container. | `{"periodSeconds": 3, "failureThreshold": 60}` | +| `metadata.logs.statefulset.extraEnvVars` | Additional environment variables for logs metadata enrichment (otelcol) pods. | `[{"name": "VALUE_FROM_SECRET", "valueFrom": {"secretKeyRef": {"name": "secret_name", "key": "secret_key"}}}]` | +| `metadata.logs.statefulset.extraVolumes` | Additional volumes for logs metadata enrichment (otelcol) pods. | `[{"name": "es-certs", "secret": {"defaultMode": 420, "secretName": "es-certs"}}]` | +| `metadata.logs.statefulset.extraVolumeMounts` | Additional volume mounts for logs metadata enrichment (otelcol) pods. | `[{"name": "es-certs", "mountPath": "/certs", "readOnly": true}]` | +| `metadata.logs.statefulset.extraPorts` | Additional exposed ports in logs metadata enrichment (otelcol) pods and service. | `[{"name": "otlphttp2", "containerPort": 4319, "protocol": "TCP"}]` | +| `metadata.logs.statefulset.extraArgs` | Additional arguments to otelcol container. | `[]` | +| `metadata.logs.autoscaling.enabled` | Option to turn autoscaling on for logs metadata enrichment (otelcol) and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | +| `metadata.logs.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | +| `metadata.logs.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | +| `metadata.logs.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `80` | +| `metadata.logs.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | +| `metadata.logs.podDisruptionBudget` | Pod Disruption Budget for logs metadata enrichment (otelcol) statefulset. | `{"minAvailable": 2, "maxUnavailable": 1}` | +| `tracesGateway.enabled` | Flag to control deploying traces-gateway. [See docs for more information.](/docs/opentelemetry-collector/traces.md) | `true` | +| `tracesGateway.autoscaling.enabled` | Option to turn autoscaling on for traces-gateway and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | +| `tracesGateway.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | +| `tracesGateway.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | +| `tracesGateway.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | +| `tracesGateway.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | +| `tracesGateway.deployment.replicas` | Set the number of OpenTelemetry Collector replicas. | `1` | +| `tracesGateway.deployment.nodeSelector` | Node selector for otelcol deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `tracesGateway.deployment.tolerations` | Tolerations for traces-gateway statefulset. | `[]` | +| `tracesGateway.deployment.resources` | Resources for traces-gateway statefulset. | `{"limits": {"memory": "2Gi", "cpu": "1000m"}, "requests": {"memory": "196Mi", "cpu": "50m"}}` | +| `tracesGateway.deployment.podLabels` | Additional labels for traces-gateway pods. | `{}` | +| `tracesGateway.deployment.podAnnotations` | Additional annotations for traces-gateway pods. | `{}` | +| `tracesGateway.deployment.image.repository` | Image repository for traces-gateway docker container. | `Nil` | +| `tracesGateway.deployment.image.tag` | Image tag for traces-gateway docker container. | `Nil` | +| `tracesGateway.deployment.image.pullPolicy` | Image pullPolicy for traces-gateway docker container. | `IfNotPresent` | +| `tracesGateway.deployment.livenessProbe` | Liveness probe settings for the traces-gateway container. | `{"periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | +| `tracesGateway.deployment.readinessProbe` | Readiness probe settings for the traces-gateway container. | `{"periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | +| `tracesGateway.deployment.startupProbe` | Startup probe configuration for the traces-gateway container. | `{"periodSeconds": 5, "timeoutSeconds": 3, "failureThreshold": 60}` | +| `tracesGateway.deployment.extraEnvVars` | Additional environment variables for traces-gateway pods. | `[{"name": "VALUE_FROM_SECRET", "valueFrom": {"secretKeyRef": {"name": "secret_name", "key": "secret_key"}}}]` | +| `tracesGateway.deployment.extraVolumes` | Additional volumes for traces-gateway pods. | `[{"name": "es-certs", "secret": {"defaultMode": 420, "secretName": "es-certs"}}]` | +| `tracesGateway.deployment.extraVolumeMounts` | Additional volume mounts for traces-gateway pods. | `[{"name": "es-certs", "mountPath": "/certs", "readOnly": true}]` | +| `tracesGateway.deployment.priorityClassName` | Priority class name for OpenTelemetry Collector log pods. | `Nil` | +| `tracesGateway.logLevelFilter` | Do not send traces-gateway logs if `true`. | `false` | +| `tracesGateway.config` | Configuration for traces-gateway. | `See [values.yaml]` | +| `otelevents.image.repository` | Image repository for otelcol docker container. | `Nil` | +| `otelevents.image.tag` | Image tag for otelcol docker container. | `Nil` | +| `otelevents.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | +| `otelevents.logLevel` | Log level for the OpenTelemtry Collector. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | +| `otelevents.config.override` | Configuration for events otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `otelevents.config.merge` | Configuration for events otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `otelevents.statefulset` | OpenTelemetry Collector StatefulSet customization options. See values.yaml for more details. | `See [values.yaml]` | +| `otelcloudwatch.statefulset` | OpenTelemetry Cloudwatch Collector statefulset customization options. See [values.yaml] for more details. | `See [values.yaml]` | +| `otellogs.metrics.enabled` | Enable OpenTelemetry Collector metrics | `true` | +| `otellogs.serviceLabels` | Add custom labels to OpenTelemetry Collector Service | `{}` | +| `otellogs.image.repository` | Image repository for otelcol docker container. | `Nil` | +| `otellogs.image.tag` | Image tag for otelcol docker container. | `Nil` | +| `otellogs.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | +| `otellogs.logLevel` | Log level for the OpenTelemtry Collector. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | +| `otellogs.config.merge` | Configuration for log collector otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `otellogs.config.override` | Configuration for log collector otelcol, replaces defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `otellogs.daemonset` | OpenTelemetry Collector Daemonset customization options. See [values.yaml] for more details. | `See [values.yaml]` | +| `otellogs.additionalDaemonSets` | OpenTelemetry Collector Daemonset per node customization options. See [Best Practices](/docs/best-practices.md#setting-different-resources-on-different-nodes-for-logs-collector). | `{}` | +| `telegraf-operator.enabled` | Flag to control deploying Telegraf Operator Helm sub-chart. | `false` | +| `telegraf-operator.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `telegraf-operator.image.sidecarImage` | Telegraf Operator sidecar image. | `public.ecr.aws/sumologic/telegraf:1.21.2` | +| `telegraf-operator.replicaCount` | Replica count for Telegraf Operator pods. | `1` | +| `telegraf-operator.classes.secretName` | Secret name in which the Telegraf Operator configuration will be stored. | `telegraf-operator-classes` | +| `telegraf-operator.classes.default` | Name of the default output configuration. | `sumologic-prometheus` | +| `telegraf-operator.classes.data` | Telegraf sidecar configuration. | `See [values.yaml]` | +| `telegraf-operator.imagePullSecrets` | Pull secrets for Telegraf Operator images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | +| `falco.enabled` | Flag to control deploying Falco Helm sub-chart. | `false` | +| `falco.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `falco.imagePullSecrets` | Pull secrets for falco images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | +| `falco.image.registry` | Image registry for falco docker container. | `public.ecr.aws` | +| `falco.image.repository` | Image repository for falco docker container. | `falcosecurity/falco-no-driver` | +| `falco.addKernelDevel` | Flag to control installation of `kernel-devel` on nodes using MachineConfig, required to build falco modules (only for OpenShift) | `true` | +| `falco.extra.initContainers` | InitContainers for Falco pod | `See [values.yaml]` | +| `falco.driver.kind` | Tell Falco which driver to use. Available options: module (kernel driver) and ebpf (eBPF probe). Set to `ebpf` for GKE | `module` | +| `falco.driver.loader.initContainer.image` | Init container image configuration for falco driver loader. | `{"registry": "public.ecr.aws", "repository": "falcosecurity/falco-driver-loader"}` | +| `falco.falco.load_plugins` | Names of the plugins to be loaded by Falco. | `["json", "k8saudit"]` | +| `falco.falco.json_output` | Output events in json. | `true` | +| `falco.falco.rules_file` | The location of the rules files that will be consumed by Falco. | `["/etc/falco/falco_rules.yaml", "/etc/falco/falco_rules.local.yaml", "/etc/falco/k8s_audit_rules.yaml", "/etc/falco/rules.d", "/etc/falco/rules.available/application_rules.yaml"]` | +| `falco.falcoctl` | Falcoctl configuration. We don't use it for now due to breaking changes. [See this issue](https://github.com/SumoLogic/sumologic-kubernetes-collection/issues/3144). | `{"artifact": {"follow": {"enabled": false}, "install": {"enabled": false}}}` | +| `falco.customRules` | Additional falco rules related to Sumo Logic Kubernetes Collection | `See [values.yaml]` | +| `tailing-sidecar-operator.enabled` | Flag to control deploying Tailing Sidecar Operator Helm sub-chart. | `false` | +| `tailing-sidecar-operator.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `tailing-sidecar-operator.scc.create` | Create OpenShift's Security Context Constraint | `false` | +| `opentelemetry-operator.enabled` | Flag to control deploying OpenTelemetry Operator Helm sub-chart. | `false` | +| `opentelemetry-operator.instrumentationJobImage.image.repository` | Name of the image repository used to apply Instrumentation resource | `sumologic/kubernetes-tools` | +| `opentelemetry-operator.instrumentationJobImage.image.tag` | Name of the image tag used to apply Instrumentation resource | `2.14.0` | +| `opentelemetry-operator.createDefaultInstrumentation` | Flag to control creation of default Instrumentation object | `false` | +| `opentelemetry-operator.instrumentationNamespaces` | Used to create `Instrumentation` resources in specified namespaces. | `Nil` | +| `opentelemetry-operator.instrumentation.dotnet.traces.enabled` | Flag to control traces export from DotNet instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.dotnet.metrics.enabled` | Flag to control metrics export from DotNet instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.java.traces.enabled` | Flag to control traces export from Java instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.java.metrics.enabled` | Flag to control metrics export from Java instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.python.traces.enabled` | Flag to control traces export from Python instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.python.metrics.enabled` | Flag to control metrics export from Python instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.admissionWebhooks` | Admission webhooks make sure only requests with correctly formatted rules will get into the Operator. They also enable the sidecar injection for OpenTelemetryCollector and Instrumentation CR's. | `See [values.yaml]` | +| `opentelemetry-operator.manager.collectorImage.repository` | The default collector image repository for OpenTelemetryCollector CRDs. | `public.ecr.aws/sumologic/sumologic-otel-collector` | +| `opentelemetry-operator.manager.collectorImage.tag` | The default collector image tag for OpenTelemetryCollector CRDs. | `0.85.0-sumo-0` | +| `opentelemetry-operator.manager.env` | Additional environment variables for opentelemetry-operator helm chart. | `{}` | +| `opentelemetry-operator.manager.resources.limits.cpu` | Used to set limit CPU for OpenTelemetry-Operator Manager. | `250m` | +| `opentelemetry-operator.manager.resources.limits.memory` | Used to set limit Memory for OpenTelemetry-Operator Manager. | `512Mi` | +| `opentelemetry-operator.manager.resources.requests.cpu` | Used to set requested CPU for OpenTelemetry-Operator Manager. | `150m` | +| `opentelemetry-operator.manager.resources.requests.memory` | Used to set requested Memory for OpenTelemetry-Operator Manager. | `256Mi` | +| `pvcCleaner.metrics.enabled` | Flag to enable cleaning unused PVCs for otelcol metrics statefulsets. | `false` | +| `pvcCleaner.logs.enabled` | Flag to enable cleaning unused PVCs for otelcol logs statefulsets. | `false` | +| `pvcCleaner.job.image.repository` | Image repository for pvcCleaner docker containers. | `public.ecr.aws/sumologic/kubernetes-tools-kubectl` | +| `pvcCleaner.job.image.tag` | Image tag for pvcCleaner docker containers. | `2.20.0` | +| `pvcCleaner.job.image.pullPolicy` | Image pullPolicy for pvcCleaner docker containers. | `IfNotPresent` | +| `pvcCleaner.job.resources` | Resource requests and limits for the pvcCleaner containers. | `{"limits": {"memory": "256Mi", "cpu": "2000m"}, "requests": {"memory": "64Mi", "cpu": "100m"}}` | +| `pvcCleaner.job.nodeSelector` | Node selector for pvcCleaner job. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `pvcCleaner.job.tolerations` | Add tolerations for the pvcCleaner job. | `[]` | +| `pvcCleaner.job.affinity` | Add affinity and anti-affinity for the pvcCleaner job. | `{}` | +| `pvcCleaner.job.podLabels` | Additional labels for the pvcCleaner container. | `{}` | +| `pvcCleaner.job.podAnnotations` | Additional annotations for for the pvcCleaner container. | `{}` | +| `pvcCleaner.job.schedule` | Schedule for cronJobs | `*/15 * * * *` | +| `pvcCleaner.job.securityContext` | The securityContext configuration for the pvcCleaner. | `{"runAsUser": 1000}` | -[values.yaml]: values.yaml +[values.yaml]: values.yaml \ No newline at end of file diff --git a/deploy/helm/sumologic/_values.yaml b/deploy/helm/sumologic/_values.yaml new file mode 100644 index 0000000000..09bacc790f --- /dev/null +++ b/deploy/helm/sumologic/_values.yaml @@ -0,0 +1,2394 @@ +falco: + addKernelDevel: true + customRules: + rules_user_known_k8s_api_callers.yaml: "- macro: user_known_contact_k8s_api_server_activities\n\ + \ condition: >\n (container.image.repository = \"sumologic/kubernetes-fluentd\"\ + ) or\n (container.image.repository = \"quay.io/prometheus/prometheus\") or\n\ + \ (container.image.repository = \"quay.io/coreos/prometheus-operator\") or\n\ + \ (container.image.repository = \"quay.io/influxdb/telegraf-operator\") or\n\ + \ (container.image.repository = \"kiwigrid/k8s-sidecar\")" + rules_user_privileged_containers.yaml: "- macro: user_privileged_containers\n\ + \ condition: >\n (container.image.repository endswith \".amazonaws.com/eks/kube-proxy\"\ + )" + rules_user_sensitive_mount_containers.yaml: "- macro: user_sensitive_mount_containers\n\ + \ condition: >\n (container.image.repository = \"falcosecurity/falco\")\ + \ or\n (container.image.repository = \"quay.io/prometheus/node-exporter\"\ + )" + driver: + kind: module + loader: + initContainer: + image: + registry: public.ecr.aws + repository: falcosecurity/falco-driver-loader + enabled: false + extra: + initContainers: + - command: + - sh + - -c + - 'while [ -f /host/etc/redhat-release ] && [ -z "$(ls /host/usr/src/kernels)" + ] ; do + + echo "waiting for kernel headers to be installed" + + sleep 3 + + done + + ' + image: public.ecr.aws/docker/library/busybox:1.36.0 + name: init-falco + volumeMounts: + - mountPath: /host/usr + name: usr-fs + readOnly: true + - mountPath: /host/etc + name: etc-fs + readOnly: true + falco: + json_output: true + load_plugins: + - json + - k8saudit + rules_file: + - /etc/falco/falco_rules.yaml + - /etc/falco/falco_rules.local.yaml + - /etc/falco/k8s_audit_rules.yaml + - /etc/falco/rules.d + - /etc/falco/rules.available/application_rules.yaml + falcoctl: + artifact: + follow: + enabled: false + install: + enabled: false + fullnameOverride: '' + image: + registry: public.ecr.aws + repository: falcosecurity/falco-no-driver + imagePullSecrets: [] +fluent-bit: + config: + customParsers: "[PARSER]\n Name multi_line\n Format regex\n\ + \ Regex (?^{\"log\":\"\\[?\\d{4}-\\d{1,2}-\\d{1,2}.\\d{2}:\\d{2}:\\\ + d{2}.*)\n[PARSER]\n Name crio\n Format regex\n Regex\ + \ ^(?