From 9d8fbe50f11d2f97801571a1bbf7cc736aaec098 Mon Sep 17 00:00:00 2001 From: Ivan Ilichev Date: Thu, 12 Mar 2020 10:02:37 -0400 Subject: [PATCH] [stable/datadog] Introduce processAgent.processCollection (#21420) * [stable/datadog] Introduce processAgent.processCollection to correctly configure DD_PROCESS_AGENT_ENABLED Signed-off-by: Ivan Ilichev * Change the default for processCollection to false in accordance with process agent settings Signed-off-by: Ivan Ilichev * Update chart version Signed-off-by: Ivan Ilichev --- stable/datadog/Chart.yaml | 2 +- stable/datadog/README.md | 292 +++++++++--------- .../templates/container-process-agent.yaml | 6 +- stable/datadog/templates/daemonset.yaml | 2 +- stable/datadog/values.yaml | 6 + 5 files changed, 159 insertions(+), 149 deletions(-) diff --git a/stable/datadog/Chart.yaml b/stable/datadog/Chart.yaml index eecef3b0312a..f58cc087b47e 100644 --- a/stable/datadog/Chart.yaml +++ b/stable/datadog/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: datadog -version: 2.0.5 +version: 2.0.6 appVersion: "7" description: DataDog Agent keywords: diff --git a/stable/datadog/README.md b/stable/datadog/README.md index d3b0f06bdba1..9289d7f9fb60 100644 --- a/stable/datadog/README.md +++ b/stable/datadog/README.md @@ -10,8 +10,8 @@ See the [Datadog JMX integration](https://docs.datadoghq.com/integrations/java/) Kubernetes 1.4+ or OpenShift 3.4+, note that: -* the Datadog Agent supports Kubernetes 1.4+ -* The Datadog chart's defaults are tailored to Kubernetes 1.7.6+, see [Datadog Agent legacy Kubernetes versions documentation](https://github.com/DataDog/datadog-agent/tree/master/Dockerfiles/agent#legacy-kubernetes-versions) for adjustments you might need to make for older versions +- the Datadog Agent supports Kubernetes 1.4+ +- The Datadog chart's defaults are tailored to Kubernetes 1.7.6+, see [Datadog Agent legacy Kubernetes versions documentation](https://github.com/DataDog/datadog-agent/tree/master/Dockerfiles/agent#legacy-kubernetes-versions) for adjustments you might need to make for older versions ## Quick start @@ -61,7 +61,7 @@ You can specify the Datadog Cluster Agent token used to secure the communication #### From 1.x to 2.x -⚠️ Migrating from 1.x to 2.x requires a manual action. +⚠️ Migrating from 1.x to 2.x requires a manual action. The `datadog` chart has been refactored to regroup the `values.yaml` parameters in a more logical way. Please follow the [migration guide](https://github.com/helm/charts/blob/master/stable/datadog/docs/Migration_1.x_to_2.x.md) to update you `values.yaml` file. @@ -127,6 +127,7 @@ Update your [datadog-values.yaml](values.yaml) file with the process collection datadog: (...) processAgent.enabled: true + processAgent.processCollection: true ``` then upgrade your Datadog Helm chart: @@ -247,145 +248,146 @@ helm install --name \ stable/datadog ``` -| Parameter | Description | Default | -| ----------------------------- | ------------------------------------ | ------------------------------------------- | -| `datadog.apiKey` | Your Datadog API key | `nil` You must provide your own key | -| `datadog.apiKeyExistingSecret` | If set, use the secret with a provided name instead of creating a new one | `nil` | -| `datadog.appKey` | Datadog APP key required to use metricsProvider | `nil` You must provide your own key | -| `datadog.appKeyExistingSecret` | If set, use the secret with a provided name instead of creating a new one | `nil` | -| `image.repository` | The image repository to pull from | `datadog/agent` | -| `image.tag` | The image tag to pull | `6.14.0` | -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `image.pullSecrets` | Image pull secrets | `nil` | -| `nameOverride` | Override name of app | `""` | -| `fullnameOverride` | Override full name of app | `""` | -| `agents.rbac.create` | If true, create & use RBAC resources | `true` | -| `agents.rbac.serviceAccountName` | existing ServiceAccount to use (ignored if rbac.create=true) | `default` | -| `datadog.site` | Site ('datadoghq.com' or 'datadoghq.eu') | `nil` | -| `datadog.dd_url` | Datadog intake server | `nil` | -| `datadog.env` | Additional Datadog environment variables | `nil` | -| `datadog.logLevel` | Agent log verbosity (possible values: trace, debug, info, warn, error, critical, and off) | `INFO` | -| `datadog.logs.enabled` | Enable log collection | `nil` | -| `datadog.logs.containerCollectAll` | Collect logs from all containers | `nil` | -| `datadog.logsPointerHostPath` | Host path to store the log tailing state in | `/var/lib/datadog-agent/logs` | -| `datadog.apm.enabled` | Enable tracing from the host | `false` | -| `datadog.apm.port` | Used to override the default agent APM Port | `8126` | -| `datadog.processAgent.enabled` | Control live process and container monitoring. Possible values: `nil` for container monitoring only, `true` for container and process monitoring, `false` turns off process-agent | `nil`| -| `datadog.checksd` | Additional custom checks as python code | `nil` | -| `datadog.confd` | Additional check configurations (static and Autodiscovery) | `nil` | -| `datadog.criSocketPath` | Path to the container runtime socket (default is Docker runtime) | `/var/run/docker.sock` | -| `datadog.tags` | Set host tags | `nil` | -| `datadog.useCriSocketVolume` | Enable mounting the container runtime socket in Agent containers | `True` | -| `datadog.dogstatsd.originDetection` | Enable origin detection for container tagging | `False` | -| `datadog.dogstatsd.port` | Used to override the default agent DogStatsD Port | `8125` | -| `datadog.dogstatsd.useHostPID`. | If true, use the host's PID namespace | `nil` | -| `datadog.dogstatsd.useHostPort` | If true, use the same ports for both host and container | `nil` | -| `datadog.dogstatsd.nonLocalTraffic` | Enable statsd reporting from any external ip | `False` | -| `datadog.dogstatsd.useSocketVolume` | Enable dogstatsd over Unix Domain Socket | `False` | -| `datadog.dogstatsd.socketPath` | Custom path to the socket, has to be located in the `/var/run/datadog` folder path | `/var/run/datadog/dsd.socket` | -| `datadog.nodeLabelsAsTags` | Kubernetes Node Labels to Datadog Tags mapping | `nil` | -| `datadog.podAnnotationsAsTags` | Kubernetes Annotations to Datadog Tags mapping | `nil` | -| `datadog.podLabelsAsTags` | Kubernetes Labels to Datadog Tags mapping | `nil` | -| `datadog.securityContext` | Allows you to overwrite the default securityContext applied to the container | `nil` | -| `datadog.livenessProbe` | Overrides the default liveness probe | http port 5555 | -| `datadog.hostname` | Set the hostname (write it in datadog.conf) | `nil` | -| `datadog.acInclude` | Include containers based on image name | `nil` | -| `datadog.acExclude` | Exclude containers based on image name | `nil` | -| `datadog.systemProbe.enabled` | enable system probe collection | `false` | -| `datadog.systemProbe.seccomp` | Apply an ad-hoc seccomp profile to system-probe to restrict its privileges | `localhost/system-probe` | -| `datadog.systemProbe.seccompRoot` | Seccomp root directory for system-probe | `/var/lib/kubelet/seccomp` | -| `datadog.systemProbe.debugPort` | The port to expose pprof and expvar for system-probe agent, it is not enabled if the value is set to 0 | `0` | -| `datadog.systemProbe.enableConntrack` | If true, system-probe connects to the netlink/conntrack subsystem to add NAT information to connection data. Ref: http://conntrack-tools.netfilter.org/| `true`| -| `datadog.systemProbe.bpfDebug` | If true, system-probe writes debug logs to /sys/kernel/debug/tracing/trace_pipe | `false` | -| `datadog.systemProbe.apparmor` | Apparmor profile for system-probe | `unconfined` | -| `agents.podAnnotations` | Annotations to add to the DaemonSet's Pods | `nil` | -| `agents.podLabels` | labels to add to each pod | `nil` | -| `agents.tolerations` | List of node taints to tolerate (requires Kubernetes >= 1.6) | `nil` | -| `agents.nodeSelector` | Node selectors | `nil` | -| `agents.affinity` | Node affinities | `nil` | -| `agents.useHostNetwork` | If true, use the host's network | `nil` | -| `agents.containers.agent.env` | Additional list of environment variables to use in the agent container | `nil` | -| `agents.containers.agent.logLevel` | Agent log verbosity | `INFO` | -| `agents.containers.agent.resources.limits.cpu` | CPU resource limits for the agent container | `200m` | -| `agents.containers.agent.resources.requests.cpu` | CPU resource requests for the agent container | `200m` | -| `agents.containers.agent.resources.limits.memory` | Memory resource limits for the agent container | `256Mi` | -| `agents.containers.agent.resources.requests.memory` | Memory resource requests for the agent container | `256Mi` | -| `agents.containers.processAgent.env` | Additional list of environment variables to use in the process-agent container | `nil` | -| `agents.containers.processAgent.logLevel` | Process agent log verbosity | `INFO` | -| `agents.containers.processAgent.resources.limits.cpu` | CPU resource limits for the process-agent container | `100m` | -| `agents.containers.processAgent.resources.requests.cpu` | CPU resource requests for the process-agent container | `100m` | -| `agents.containers.processAgent.resources.limits.memory` | Memory resource limits for the process-agent container | `200Mi` | -| `agents.containers.processAgent.resources.requests.memory` | Memory resource requests for the process-agent container | `200Mi` | -| `agents.containers.traceAgent.env` | Additional list of environment variables to use in the trace-agent container | `nil` | -| `agents.containers.traceAgent.logLevel` | Trace agent log verbosity | `INFO` | -| `agents.containers.traceAgent.resources.limits.cpu` | CPU resource limits for the trace-agent container | `100m` | -| `agents.containers.traceAgent.resources.requests.cpu` | CPU resource requests for the trace-agent container | `100m` | -| `agents.containers.traceAgent.resources.limits.memory` | Memory resource limits for the trace-agent container | `200Mi` | -| `agents.containers.traceAgent.resources.requests.memory` | Memory resource requests for the trace-agent container | `200Mi` | -| `agents.containers.systemProbe.env` | Additional list of environment variables to use in the system-probe container | `nil` | -| `agents.containers.systemProbe.logLevel` | System probe log verbosity | `INFO` | -| `agents.containers.systemProbe.resources.limits.cpu` | CPU resource limits for the system-probe container | `100m` | -| `agents.containers.systemProbe.resources.requests.cpu` | CPU resource requests for the system-probe container | `100m` | -| `agents.containers.systemProbe.resources.limits.memory` | Memory resource limits for the system-probe container | `200Mi` | -| `agents.containers.systemProbe.resources.requests.memory` | Memory resource requests for the system-probe container | `200Mi` | -| `agents.containers.initContainers.resources.limits.cpu` | CPU resource limits for the init containers container | `200m` | -| `agents.containers.initContainers.resources.requests.cpu` | CPU resource requests for the init containers container | `200m` | -| `agents.containers.initContainers.resources.limits.memory` | Memory resource limits for the init containers container | `256Mi` | -| `agents.containers.initContainers.resources.requests.memory` | Memory resource requests for the init containers container | `256Mi` | -| `agents.priorityClassName` | Which Priority Class to associate with the daemonset | `nil` | -| `agents.useConfigMap` | Configures a configmap to provide the agent configuration | `false` | -| `agents.customAgentConfig` | Specify custom contents for the datadog agent config (datadog.yaml). | `{}` | -| `agents.updateStrategy` | Which update strategy to deploy the daemonset | RollingUpdate with 10% maxUnavailable | -| `agents.volumes` | Additional volumes for the daemonset or deployment | `nil` | -| `agents.volumeMounts` | Additional volumeMounts for the daemonset or deployment | `nil` | -| `datadog.leaderElection` | Enable the leader Election feature | `false` | -| `datadog.leaderLeaseDuration` | The duration for which a leader stays elected. | 60 sec, 15 if Cluster Checks enabled | -| `datadog.collectEvents` | Enable Kubernetes event collection. Requires leader election. | `false` | -| `datadog.kubeStateMetricsEnabled` | If true, create kube-state-metrics | `true` | -| `clusterAgent.enabled` | Use the cluster-agent for cluster metrics (Kubernetes 1.10+ only) | `false` | -| `clusterAgent.token` | A cluster-internal secret for agent-to-agent communication. Must be 32+ characters a-zA-Z | Generates a random value | -| `clusterAgent.tokenExistingSecret` | If set, use the secret with a provided name instead of creating a new one | `nil` | -| `clusterAgent.image.repository` | The image repository for the cluster-agent | `datadog/cluster-agent` | -| `clusterAgent.image.tag` | The image tag to pull | `1.2.0` | -| `clusterAgent.image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `clusterAgent.image.pullSecrets` | Image pull secrets | `nil` | -| `clusterAgent.rbac.create` | If true, create & use RBAC resources for cluster agent's pods | `true` | -| `clusterAgent.rbac.serviceAccount` | existing ServiceAccount to use (ignored if rbac.create=true) for cluster agent's pods | `default` | -| `clusterAgent.metricsProvider.enabled` | Enable Datadog metrics as a source for HPA scaling | `false` | -| `clusterAgent.metricsProvider.service.type` | The type of service to use for the clusterAgent metrics server | `ClusterIP` | -| `clusterAgent.metricsProvider.service.port` | The port for service to use for the clusterAgent metrics server | `443` . | -| `clusterAgent.clusterChecks.enabled` | Enable Cluster Checks on both the Cluster Agent and the Agent daemonset | `false` | -| `clusterAgent.confd` | Additional check configurations (static and Autodiscovery) | `nil` | -| `clusterAgent.podAnnotations` | Annotations to add to the Cluster Agent Pod(s) | `nil` | -| `clusterAgent.priorityClassName` | Name of the priorityClass to apply to the Cluster Agent | `nil` | -| `clusterAgent.nodeSelector` | Node selectors to apply to the Cluster Agent deployment | `nil` | -| `clusterAgent.resources.requests.cpu` | CPU resource requests | `200m` | -| `clusterAgent.resources.limits.cpu` | CPU resource limits | `200m` | -| `clusterAgent.resources.requests.memory` | Memory resource requests | `256Mi` | -| `clusterAgent.resources.limits.memory` | Memory resource limits | `256Mi` | -| `clusterAgent.tolerations` | List of node taints to tolerate | `[]` | -| `clusterAgent.healthPort` | Overrides the default health port used by the liveness and readiness endpoint | `8080` | -| `clusterAgent.livenessProbe` | Overrides the default liveness probe | `http check on /healthz with port 8080` | -| `clusterAgent.readinessProbe` | Overrides the default readiness probe | `http check on /healthz with port 8080` | -| `clusterAgent.strategy` | Which update strategy to deploy the cluster-agent | RollingUpdate with 0 maxUnavailable, 1 maxSurge | -| `clusterAgent.useHostNetwork` | If true, use the host's network | `nil` | -| `clusterAgent.volumes` | Additional volumes for the cluster-agent deployment | `nil` | -| `clusterAgent.volumeMounts` | Additional volumeMounts for the cluster-agent deployment | `nil` | -| `clusterChecksRunner.enabled` | Enable Datadog agent deployment dedicated for running Cluster Checks. It allows having different resources (Request/Limit) for Cluster Checks agent pods. | `false` | -| `clusterChecksRunner.env` | Additional Datadog environment variables for Cluster Checks Deployment | `nil` | -| `clusterChecksRunner.resources.requests.cpu` | CPU resource requests | `200m` | -| `clusterChecksRunner.resources.limits.cpu` | CPU resource limits | `200m` | -| `clusterChecksRunner.resources.requests.memory` | Memory resource requests | `256Mi` | -| `clusterChecksRunner.resources.limits.memory` | Memory resource limits | `256Mi` | -| `clusterChecksRunner.nodeSelector` | Node selectors | `nil` | -| `clusterChecksRunner.tolerations` | List of node taints to tolerate | `nil` | -| `clusterChecksRunner.affinity` | Node affinities | avoid running pods on the same node | -| `clusterChecksRunner.livenessProbe` | Overrides the default liveness probe | http port 5555 | -| `clusterChecksRunner.rbac.create` | If true, create & use RBAC resources for clusterchecks agent's pods | `true` | -| `clusterChecksRunner.rbac.dedicated` | If true, use dedicated RBAC resources for clusterchecks agent's pods | `false` | -| `clusterChecksRunner.rbac.serviceAccount` | existing ServiceAccount to use (ignored if rbac.create=true) for clusterchecks agent's pods | `default` | -| `clusterChecksRunner.strategy` | Which update strategy to deploy the Cluster Checks Deployment | RollingUpdate with 0 maxUnavailable, 1 maxSurge | -| `kube-state-metrics.rbac.create` | If true, create & use RBAC resources for kube-state-metrics | `true` | -| `kube-state-metrics.serviceAccount.create` | If true, create & use serviceAccount | `true` | -| `kube-state-metrics.serviceAccount.name` | If not set & create is true, use template fullname | | -| `kube-state-metrics.resources` | Overwrite the default kube-state-metrics container resources (Optional) | | +| Parameter | Description | Default | +| ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | +| `datadog.apiKey` | Your Datadog API key | `nil` You must provide your own key | +| `datadog.apiKeyExistingSecret` | If set, use the secret with a provided name instead of creating a new one | `nil` | +| `datadog.appKey` | Datadog APP key required to use metricsProvider | `nil` You must provide your own key | +| `datadog.appKeyExistingSecret` | If set, use the secret with a provided name instead of creating a new one | `nil` | +| `image.repository` | The image repository to pull from | `datadog/agent` | +| `image.tag` | The image tag to pull | `6.14.0` | +| `image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `image.pullSecrets` | Image pull secrets | `nil` | +| `nameOverride` | Override name of app | `""` | +| `fullnameOverride` | Override full name of app | `""` | +| `agents.rbac.create` | If true, create & use RBAC resources | `true` | +| `agents.rbac.serviceAccountName` | existing ServiceAccount to use (ignored if rbac.create=true) | `default` | +| `datadog.site` | Site ('datadoghq.com' or 'datadoghq.eu') | `nil` | +| `datadog.dd_url` | Datadog intake server | `nil` | +| `datadog.env` | Additional Datadog environment variables | `nil` | +| `datadog.logLevel` | Agent log verbosity (possible values: trace, debug, info, warn, error, critical, and off) | `INFO` | +| `datadog.logs.enabled` | Enable log collection | `nil` | +| `datadog.logs.containerCollectAll` | Collect logs from all containers | `nil` | +| `datadog.logsPointerHostPath` | Host path to store the log tailing state in | `/var/lib/datadog-agent/logs` | +| `datadog.apm.enabled` | Enable tracing from the host | `false` | +| `datadog.apm.port` | Used to override the default agent APM Port | `8126` | +| `datadog.processAgent.enabled` | Enable live process and container monitoring agent. Possible values: `true` enable process-agent, `false` disable process-agent | `false` | +| `datadog.processAgent.processCollection` | Enable live process collection. Possible values: `true` enable process collection, `false` disable process collection | `false` | +| `datadog.checksd` | Additional custom checks as python code | `nil` | +| `datadog.confd` | Additional check configurations (static and Autodiscovery) | `nil` | +| `datadog.criSocketPath` | Path to the container runtime socket (default is Docker runtime) | `/var/run/docker.sock` | +| `datadog.tags` | Set host tags | `nil` | +| `datadog.useCriSocketVolume` | Enable mounting the container runtime socket in Agent containers | `True` | +| `datadog.dogstatsd.originDetection` | Enable origin detection for container tagging | `False` | +| `datadog.dogstatsd.port` | Used to override the default agent DogStatsD Port | `8125` | +| `datadog.dogstatsd.useHostPID`. | If true, use the host's PID namespace | `nil` | +| `datadog.dogstatsd.useHostPort` | If true, use the same ports for both host and container | `nil` | +| `datadog.dogstatsd.nonLocalTraffic` | Enable statsd reporting from any external ip | `False` | +| `datadog.dogstatsd.useSocketVolume` | Enable dogstatsd over Unix Domain Socket | `False` | +| `datadog.dogstatsd.socketPath` | Custom path to the socket, has to be located in the `/var/run/datadog` folder path | `/var/run/datadog/dsd.socket` | +| `datadog.nodeLabelsAsTags` | Kubernetes Node Labels to Datadog Tags mapping | `nil` | +| `datadog.podAnnotationsAsTags` | Kubernetes Annotations to Datadog Tags mapping | `nil` | +| `datadog.podLabelsAsTags` | Kubernetes Labels to Datadog Tags mapping | `nil` | +| `datadog.securityContext` | Allows you to overwrite the default securityContext applied to the container | `nil` | +| `datadog.livenessProbe` | Overrides the default liveness probe | http port 5555 | +| `datadog.hostname` | Set the hostname (write it in datadog.conf) | `nil` | +| `datadog.acInclude` | Include containers based on image name | `nil` | +| `datadog.acExclude` | Exclude containers based on image name | `nil` | +| `datadog.systemProbe.enabled` | enable system probe collection | `false` | +| `datadog.systemProbe.seccomp` | Apply an ad-hoc seccomp profile to system-probe to restrict its privileges | `localhost/system-probe` | +| `datadog.systemProbe.seccompRoot` | Seccomp root directory for system-probe | `/var/lib/kubelet/seccomp` | +| `datadog.systemProbe.debugPort` | The port to expose pprof and expvar for system-probe agent, it is not enabled if the value is set to 0 | `0` | +| `datadog.systemProbe.enableConntrack` | If true, system-probe connects to the netlink/conntrack subsystem to add NAT information to connection data. Ref: http://conntrack-tools.netfilter.org/ | `true` | +| `datadog.systemProbe.bpfDebug` | If true, system-probe writes debug logs to /sys/kernel/debug/tracing/trace_pipe | `false` | +| `datadog.systemProbe.apparmor` | Apparmor profile for system-probe | `unconfined` | +| `agents.podAnnotations` | Annotations to add to the DaemonSet's Pods | `nil` | +| `agents.podLabels` | labels to add to each pod | `nil` | +| `agents.tolerations` | List of node taints to tolerate (requires Kubernetes >= 1.6) | `nil` | +| `agents.nodeSelector` | Node selectors | `nil` | +| `agents.affinity` | Node affinities | `nil` | +| `agents.useHostNetwork` | If true, use the host's network | `nil` | +| `agents.containers.agent.env` | Additional list of environment variables to use in the agent container | `nil` | +| `agents.containers.agent.logLevel` | Agent log verbosity | `INFO` | +| `agents.containers.agent.resources.limits.cpu` | CPU resource limits for the agent container | `200m` | +| `agents.containers.agent.resources.requests.cpu` | CPU resource requests for the agent container | `200m` | +| `agents.containers.agent.resources.limits.memory` | Memory resource limits for the agent container | `256Mi` | +| `agents.containers.agent.resources.requests.memory` | Memory resource requests for the agent container | `256Mi` | +| `agents.containers.processAgent.env` | Additional list of environment variables to use in the process-agent container | `nil` | +| `agents.containers.processAgent.logLevel` | Process agent log verbosity | `INFO` | +| `agents.containers.processAgent.resources.limits.cpu` | CPU resource limits for the process-agent container | `100m` | +| `agents.containers.processAgent.resources.requests.cpu` | CPU resource requests for the process-agent container | `100m` | +| `agents.containers.processAgent.resources.limits.memory` | Memory resource limits for the process-agent container | `200Mi` | +| `agents.containers.processAgent.resources.requests.memory` | Memory resource requests for the process-agent container | `200Mi` | +| `agents.containers.traceAgent.env` | Additional list of environment variables to use in the trace-agent container | `nil` | +| `agents.containers.traceAgent.logLevel` | Trace agent log verbosity | `INFO` | +| `agents.containers.traceAgent.resources.limits.cpu` | CPU resource limits for the trace-agent container | `100m` | +| `agents.containers.traceAgent.resources.requests.cpu` | CPU resource requests for the trace-agent container | `100m` | +| `agents.containers.traceAgent.resources.limits.memory` | Memory resource limits for the trace-agent container | `200Mi` | +| `agents.containers.traceAgent.resources.requests.memory` | Memory resource requests for the trace-agent container | `200Mi` | +| `agents.containers.systemProbe.env` | Additional list of environment variables to use in the system-probe container | `nil` | +| `agents.containers.systemProbe.logLevel` | System probe log verbosity | `INFO` | +| `agents.containers.systemProbe.resources.limits.cpu` | CPU resource limits for the system-probe container | `100m` | +| `agents.containers.systemProbe.resources.requests.cpu` | CPU resource requests for the system-probe container | `100m` | +| `agents.containers.systemProbe.resources.limits.memory` | Memory resource limits for the system-probe container | `200Mi` | +| `agents.containers.systemProbe.resources.requests.memory` | Memory resource requests for the system-probe container | `200Mi` | +| `agents.containers.initContainers.resources.limits.cpu` | CPU resource limits for the init containers container | `200m` | +| `agents.containers.initContainers.resources.requests.cpu` | CPU resource requests for the init containers container | `200m` | +| `agents.containers.initContainers.resources.limits.memory` | Memory resource limits for the init containers container | `256Mi` | +| `agents.containers.initContainers.resources.requests.memory` | Memory resource requests for the init containers container | `256Mi` | +| `agents.priorityClassName` | Which Priority Class to associate with the daemonset | `nil` | +| `agents.useConfigMap` | Configures a configmap to provide the agent configuration | `false` | +| `agents.customAgentConfig` | Specify custom contents for the datadog agent config (datadog.yaml). | `{}` | +| `agents.updateStrategy` | Which update strategy to deploy the daemonset | RollingUpdate with 10% maxUnavailable | +| `agents.volumes` | Additional volumes for the daemonset or deployment | `nil` | +| `agents.volumeMounts` | Additional volumeMounts for the daemonset or deployment | `nil` | +| `datadog.leaderElection` | Enable the leader Election feature | `false` | +| `datadog.leaderLeaseDuration` | The duration for which a leader stays elected. | 60 sec, 15 if Cluster Checks enabled | +| `datadog.collectEvents` | Enable Kubernetes event collection. Requires leader election. | `false` | +| `datadog.kubeStateMetricsEnabled` | If true, create kube-state-metrics | `true` | +| `clusterAgent.enabled` | Use the cluster-agent for cluster metrics (Kubernetes 1.10+ only) | `false` | +| `clusterAgent.token` | A cluster-internal secret for agent-to-agent communication. Must be 32+ characters a-zA-Z | Generates a random value | +| `clusterAgent.tokenExistingSecret` | If set, use the secret with a provided name instead of creating a new one | `nil` | +| `clusterAgent.image.repository` | The image repository for the cluster-agent | `datadog/cluster-agent` | +| `clusterAgent.image.tag` | The image tag to pull | `1.2.0` | +| `clusterAgent.image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `clusterAgent.image.pullSecrets` | Image pull secrets | `nil` | +| `clusterAgent.rbac.create` | If true, create & use RBAC resources for cluster agent's pods | `true` | +| `clusterAgent.rbac.serviceAccount` | existing ServiceAccount to use (ignored if rbac.create=true) for cluster agent's pods | `default` | +| `clusterAgent.metricsProvider.enabled` | Enable Datadog metrics as a source for HPA scaling | `false` | +| `clusterAgent.metricsProvider.service.type` | The type of service to use for the clusterAgent metrics server | `ClusterIP` | +| `clusterAgent.metricsProvider.service.port` | The port for service to use for the clusterAgent metrics server | `443` . | +| `clusterAgent.clusterChecks.enabled` | Enable Cluster Checks on both the Cluster Agent and the Agent daemonset | `false` | +| `clusterAgent.confd` | Additional check configurations (static and Autodiscovery) | `nil` | +| `clusterAgent.podAnnotations` | Annotations to add to the Cluster Agent Pod(s) | `nil` | +| `clusterAgent.priorityClassName` | Name of the priorityClass to apply to the Cluster Agent | `nil` | +| `clusterAgent.nodeSelector` | Node selectors to apply to the Cluster Agent deployment | `nil` | +| `clusterAgent.resources.requests.cpu` | CPU resource requests | `200m` | +| `clusterAgent.resources.limits.cpu` | CPU resource limits | `200m` | +| `clusterAgent.resources.requests.memory` | Memory resource requests | `256Mi` | +| `clusterAgent.resources.limits.memory` | Memory resource limits | `256Mi` | +| `clusterAgent.tolerations` | List of node taints to tolerate | `[]` | +| `clusterAgent.healthPort` | Overrides the default health port used by the liveness and readiness endpoint | `8080` | +| `clusterAgent.livenessProbe` | Overrides the default liveness probe | `http check on /healthz with port 8080` | +| `clusterAgent.readinessProbe` | Overrides the default readiness probe | `http check on /healthz with port 8080` | +| `clusterAgent.strategy` | Which update strategy to deploy the cluster-agent | RollingUpdate with 0 maxUnavailable, 1 maxSurge | +| `clusterAgent.useHostNetwork` | If true, use the host's network | `nil` | +| `clusterAgent.volumes` | Additional volumes for the cluster-agent deployment | `nil` | +| `clusterAgent.volumeMounts` | Additional volumeMounts for the cluster-agent deployment | `nil` | +| `clusterChecksRunner.enabled` | Enable Datadog agent deployment dedicated for running Cluster Checks. It allows having different resources (Request/Limit) for Cluster Checks agent pods. | `false` | +| `clusterChecksRunner.env` | Additional Datadog environment variables for Cluster Checks Deployment | `nil` | +| `clusterChecksRunner.resources.requests.cpu` | CPU resource requests | `200m` | +| `clusterChecksRunner.resources.limits.cpu` | CPU resource limits | `200m` | +| `clusterChecksRunner.resources.requests.memory` | Memory resource requests | `256Mi` | +| `clusterChecksRunner.resources.limits.memory` | Memory resource limits | `256Mi` | +| `clusterChecksRunner.nodeSelector` | Node selectors | `nil` | +| `clusterChecksRunner.tolerations` | List of node taints to tolerate | `nil` | +| `clusterChecksRunner.affinity` | Node affinities | avoid running pods on the same node | +| `clusterChecksRunner.livenessProbe` | Overrides the default liveness probe | http port 5555 | +| `clusterChecksRunner.rbac.create` | If true, create & use RBAC resources for clusterchecks agent's pods | `true` | +| `clusterChecksRunner.rbac.dedicated` | If true, use dedicated RBAC resources for clusterchecks agent's pods | `false` | +| `clusterChecksRunner.rbac.serviceAccount` | existing ServiceAccount to use (ignored if rbac.create=true) for clusterchecks agent's pods | `default` | +| `clusterChecksRunner.strategy` | Which update strategy to deploy the Cluster Checks Deployment | RollingUpdate with 0 maxUnavailable, 1 maxSurge | +| `kube-state-metrics.rbac.create` | If true, create & use RBAC resources for kube-state-metrics | `true` | +| `kube-state-metrics.serviceAccount.create` | If true, create & use serviceAccount | `true` | +| `kube-state-metrics.serviceAccount.name` | If not set & create is true, use template fullname | | +| `kube-state-metrics.resources` | Overwrite the default kube-state-metrics container resources (Optional) | | diff --git a/stable/datadog/templates/container-process-agent.yaml b/stable/datadog/templates/container-process-agent.yaml index ea89e2d7a44c..ccf8c8e264da 100644 --- a/stable/datadog/templates/container-process-agent.yaml +++ b/stable/datadog/templates/container-process-agent.yaml @@ -7,9 +7,11 @@ {{ toYaml .Values.agents.containers.processAgent.resources | indent 4 }} env: {{- include "containers-common-env" . | nindent 4 }} - {{- if not (kindIs "invalid" .Values.datadog.processAgent.enabled) }} - name: DD_PROCESS_AGENT_ENABLED - value: {{ .Values.datadog.processAgent.enabled | quote }} + {{- if .Values.datadog.processAgent.enabled }} + value: {{ .Values.datadog.processAgent.processCollection | quote }} + {{- else }} + value: "disabled" {{- end }} - name: DD_LOG_LEVEL value: {{ .Values.agents.containers.processAgent.logLevel | default .Values.datadog.logLevel | quote }} diff --git a/stable/datadog/templates/daemonset.yaml b/stable/datadog/templates/daemonset.yaml index d280a3b075bc..e8fc94cf93bd 100644 --- a/stable/datadog/templates/daemonset.yaml +++ b/stable/datadog/templates/daemonset.yaml @@ -63,7 +63,7 @@ spec: {{- if .Values.datadog.apm.enabled }} {{- include "container-trace-agent" . | nindent 8 }} {{- end }} - {{- if or (kindIs "invalid" .Values.datadog.processAgent.enabled) .Values.datadog.processAgent.enabled }} + {{- if .Values.datadog.processAgent.enabled }} {{- include "container-process-agent" . | nindent 8 }} {{- end }} {{- if .Values.datadog.systemProbe.enabled }} diff --git a/stable/datadog/values.yaml b/stable/datadog/values.yaml index 6ffda7a8e30b..a5dbcccbfa86 100644 --- a/stable/datadog/values.yaml +++ b/stable/datadog/values.yaml @@ -286,6 +286,12 @@ datadog: # enabled: false + ## @param processCollection - boolean - required + ## Set this to true to enable process collection in process monitoring agent + ## Requires processAgent.enabled to be set to true to have any effect + # + processCollection: false + ## @param systemProbe - object - required ## Enable systemProbe agent and provide custom configs #