### Install Private Action Runner Source: https://context7.com/datadog/helm-charts/llms.txt Install the Private Action Runner using Helm. After installation, verify the deployment by checking the pods associated with the runner. ```bash # Install Private Action Runner helm install par datadog/private-action-runner -f private-action-runner-values.yaml # Verify installation kubectl get pods -l app.kubernetes.io/name=private-action-runner ``` -------------------------------- ### Full Values.yaml Migration Example Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/UPGRADING.md Complete example showing the transformation of a 0.x configuration to the 1.0.0 structure. ```yaml # Old structure (0.x) runners: - name: "custom-runner" config: ddBaseURL: "https://app.datadoghq.com" urn: "my-urn" privateKey: "my-private-key" roleType: "Role" kubernetesActions: pods: ["get", "list"] credentialFiles: - fileName: "creds.json" data: | { "credentials": [] } # New structure (1.0.0) runner: config: ddBaseURL: "https://app.datadoghq.com" urn: "my-urn" privateKey: "my-private-key" roleType: "Role" kubernetesActions: pods: ["get", "list"] credentialFiles: - fileName: "creds.json" data: | { "credentials": [] } ``` -------------------------------- ### OpenShift Configuration Example Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Example values.yaml configuration for deploying the Private Action Runner on OpenShift, enabling SCC creation and configuring security contexts. ```yaml runner: config: urn: "YOUR_RUNNER_URN" privateKey: "YOUR_RUNNER_PRIVATE_KEY" # Enable SCC creation for OpenShift podSecurity: securityContextConstraints: create: true # Configure security settings as needed privileged: false # Adjust capabilities if required by your use case capabilities: [] # Required dropped capabilities (can be customized) requiredDropCapabilities: - KILL - MKNOD - SETUID - SETGID # SELinux context configuration seLinuxContext: type: MustRunAs # Allowed volume types volumes: - configMap - csi - downwardAPI - emptyDir - ephemeral - persistentVolumeClaim - projected - secret ``` -------------------------------- ### Install Datadog Operator Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/templates/NOTES.txt Install the Datadog Operator chart to finalize the migration. ```bash helm install operator datadog/datadog-operator \ --namespace {{ .Release.Namespace }} \ --set datadogCRDs.crds.datadogAgents=true \ --take-ownership ``` -------------------------------- ### Install Extended DaemonSet Source: https://context7.com/datadog/helm-charts/llms.txt Install the Extended DaemonSet using Helm with the specified configuration values. ```bash helm install eds datadog/extendeddaemonset -f eds-values.yaml ``` -------------------------------- ### Install Datadog Agent with API Key Source: https://context7.com/datadog/helm-charts/llms.txt Perform a basic installation of the Datadog Agent chart using your Datadog API key. This deploys the Agent as a DaemonSet. ```bash helm install datadog-agent \ --set datadog.apiKey= \ datadog/datadog ``` -------------------------------- ### Install Helm Chart Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Installs the Datadog Private Action Runner Helm chart using a specified release name and a custom `values.yaml` file. Ensure you have `helm` CLI installed and configured. ```bash helm install datadog/private-action-runner -f values.yaml ``` -------------------------------- ### Custom Script Configuration Example Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Example values.yaml configuration demonstrating how to use custom scripts with the Private Action Runner, including mounting script files and defining script execution. ```yaml runner: credentialFiles: - fileName: "script.yaml" data: | schemaId: script-credentials-v1 runPredefinedScript: echoInBash: command: ["bash", "/home/scriptuser/hello-from-bash.sh"] scriptFiles: - fileName: "hello-from-bash.sh" data: | #!/bin/bash echo "Hello World from bash!" ``` -------------------------------- ### Install Datadog Agent with Site Configuration Source: https://context7.com/datadog/helm-charts/llms.txt Install the Datadog Agent chart, specifying the Datadog site for your region (e.g., EU, US3, US5). ```bash helm install datadog-agent \ --set datadog.apiKey= \ --set datadog.site=datadoghq.eu \ datadog/datadog ``` -------------------------------- ### Install Datadog Operator Source: https://context7.com/datadog/helm-charts/llms.txt Commands and configuration for installing the Datadog Operator. ```bash # Install the Datadog Operator chart helm install datadog-operator datadog/datadog-operator \ --set apiKey= \ --set appKey= \ --set site=datadoghq.com ``` ```yaml # operator-values.yaml apiKeyExistingSecret: datadog-secret appKeyExistingSecret: datadog-secret site: datadoghq.com clusterName: my-cluster # Enable DatadogAgent controller datadogAgent: enabled: true # Enable DatadogMonitor controller for monitors as code datadogMonitor: enabled: true # Configure CRDs to deploy datadogCRDs: crds: datadogAgents: true datadogMetrics: true datadogMonitors: true datadogPodAutoscalers: true # Watch specific namespaces watchNamespaces: - default - production replicaCount: 1 logLevel: info ``` ```bash helm install datadog-operator datadog/datadog-operator -f operator-values.yaml ``` -------------------------------- ### Install Datadog Helm Chart with Multiple Configurations Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Install or upgrade the Datadog Helm chart using the `--set` flag to configure multiple parameters simultaneously, including API key and log level. ```bash helm install \ --set datadog.apiKey=,datadog.logLevel=DEBUG \ datadog/datadog ``` -------------------------------- ### Datadog Helm Chart Configuration Values Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Example configuration for a `datadog-values.yaml` file. This specifies the existing secrets for the Datadog API and App keys. This file should be used with `helm install` or `helm upgrade`. ```yaml datadog: apiKeyExistingSecret: datadog-secret appKeyExistingSecret: datadog-secret ``` -------------------------------- ### Install Datadog Chart Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Deploy the Datadog Agent with an API key or additional configuration parameters. ```bash helm install \ --set datadog.apiKey= datadog/datadog ``` ```bash helm install \ --set datadog.appKey= \ --set datadog.site= \ datadog/datadog ``` -------------------------------- ### Install Datadog Agent on OpenShift Source: https://context7.com/datadog/helm-charts/llms.txt Command to install the Datadog Agent in a custom namespace on OpenShift. ```bash # Install on OpenShift in a custom namespace helm install datadog-agent datadog/datadog \ --namespace datadog \ --create-namespace \ -f openshift-values.yaml ``` -------------------------------- ### Install Datadog Agent using Values File Source: https://context7.com/datadog/helm-charts/llms.txt Install or upgrade the Datadog Agent using a custom values file. This command applies the configurations defined in `datadog-values.yaml`. ```bash helm install datadog-agent datadog/datadog -f datadog-values.yaml ``` ```bash helm upgrade datadog-agent datadog/datadog -f datadog-values.yaml ``` -------------------------------- ### Install Specific Chart Version Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/UPGRADING.md Command to install a specific older version of the Datadog private action runner chart. ```bash helm install datadog/private-action-runner --version 0.20.1 -f your-values.yaml -n ``` -------------------------------- ### Install Observability Pipelines Worker Source: https://context7.com/datadog/helm-charts/llms.txt Commands and configuration for deploying the Observability Pipelines Worker. ```bash # Basic installation helm install opw datadog/observability-pipelines-worker \ --set datadog.apiKey= \ --set datadog.pipelineId= \ --set datadog.site=datadoghq.com ``` ```yaml # opw-values.yaml datadog: apiKeyExistingSecret: datadog-secrets pipelineId: site: datadoghq.com dataDir: /var/lib/observability-pipelines-worker workerAPI: enabled: true address: "0.0.0.0:8686" image: repository: gcr.io/datadoghq name: observability-pipelines-worker tag: "2.14.1" pullPolicy: IfNotPresent replicas: 3 # Enable autoscaling autoscaling: enabled: true minReplicas: 2 maxReplicas: 10 targetCPUUtilizationPercentage: 80 # Enable persistence persistence: enabled: true size: 50Gi storageClassName: gp3 # Resource configuration resources: requests: cpu: 1000m memory: 2Gi limits: cpu: 4000m memory: 8Gi # Pod disruption budget podDisruptionBudget: enabled: true minAvailable: 1 ``` ```bash # Create secret for API key kubectl create secret generic datadog-secrets --from-literal api-key="" helm install opw datadog/observability-pipelines-worker -f opw-values.yaml ``` -------------------------------- ### Install or Upgrade Helm Chart Source: https://github.com/datadog/helm-charts/blob/main/charts/cloudprem/README.md Deploy or update the CloudPrem release using a custom values file. ```bash helm upgrade --install datadog/cloudprem \ -n \ -f datadog-values.yaml ``` -------------------------------- ### Install Datadog Agent with Existing Secret Source: https://context7.com/datadog/helm-charts/llms.txt Install the Datadog Agent chart using an existing Kubernetes secret for your API key. Ensure the secret is created beforehand. ```bash kubectl create secret generic datadog-secret --from-literal api-key="" ``` ```bash helm install datadog-agent \ --set datadog.apiKeyExistingSecret=datadog-secret \ datadog/datadog ``` -------------------------------- ### Install Synthetics Private Location Source: https://context7.com/datadog/helm-charts/llms.txt Commands and configuration for deploying a Synthetics Private Location. ```bash # Get configuration from Datadog UI and save to config.json # Navigate to: Synthetics > Settings > Private Locations > New Private Location # Install with configuration file helm install synthetics-pl datadog/synthetics-private-location \ --set-file configFile=config.json ``` ```yaml # synthetics-values.yaml # Reference an existing secret containing the configuration configSecret: synthetics-private-location-config # Or use a ConfigMap ``` -------------------------------- ### Install Datadog Agent via Helm Source: https://context7.com/datadog/helm-charts/llms.txt Commands to create required secrets and deploy the Datadog Agent using a values file. ```bash # Create secrets for API and APP keys kubectl create secret generic datadog-secret \ --from-literal api-key="" \ --from-literal app-key="" helm install datadog-agent datadog/datadog -f cluster-agent-metrics-values.yaml ``` -------------------------------- ### Install with Existing Secret Source: https://github.com/datadog/helm-charts/blob/main/charts/observability-pipelines-worker/README.md Deploy the worker by referencing a pre-existing Kubernetes secret for the API key. ```bash helm install --name \ --set datadog.apiKeyExistingSecret=$DATADOG_SECRET_NAME \ datadog/observability-pipelines-worker ``` -------------------------------- ### Basic Private Action Runner Configuration Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Example `values.yaml` for configuring the Datadog Private Action Runner with essential URN and private key. Replace placeholders with your actual runner configuration details obtained from Datadog. ```yaml runner: config: urn: "YOUR_RUNNER_URN" privateKey: "YOUR_RUNNER_PRIVATE_KEY" ``` -------------------------------- ### Install Standalone Operator with Ownership Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/docs/internal/helm-operator-migration-reference.md When installing the standalone operator chart, use a release name that avoids collisions with the subchart's deployment name. Ensure `datadogCRDs.crds.datadogAgents` is set to `true` and use the `--take-ownership` flag. Duplicate operator pods are expected until the datadog chart is uninstalled. ```bash helm install datadog/datadog --set datadogCRDs.crds.datadogAgents=true --set "operator.datadogCRDs.keepCrds=true" --take-ownership ``` -------------------------------- ### Install Datadog Helm Chart with Custom Values Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Install the Datadog Helm chart using a custom values file. This command applies the configurations defined in `datadog-values.yaml`. Replace `` with your desired Helm release name. ```bash helm install -f datadog-values.yaml datadog/datadog ``` -------------------------------- ### Install Synthetics Private Location Chart Source: https://github.com/datadog/helm-charts/blob/main/charts/synthetics-private-location/README.md Install the Datadog Synthetics Private Location chart using Helm. This command requires a `config.json` file containing your Private Location configuration, which is set using the `--set-file` flag. ```bash helm install datadog/synthetics-private-location --set-file configFile=config.json ``` -------------------------------- ### Install Datadog Operator Helm Chart Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/docs/Migration_Helm_to_Operator.md Installs the Datadog Operator as a standalone release. The --take-ownership flag is required to adopt existing CRDs. ```shell helm install \ --set apiKeyExistingSecret=datadog-secret \ --set appKeyExistingSecret=datadog-secret \ --set datadogCRDs.keepCrds=true \ --take-ownership \ datadog/datadog-operator ``` -------------------------------- ### Install Observability Pipelines Worker Source: https://github.com/datadog/helm-charts/blob/main/charts/observability-pipelines-worker/README.md Deploy the worker using the release name, API key, and pipeline ID. Use the site option if not using the default Datadog site. ```bash helm install --name \ --set datadog.apiKey= \ --set datadog.pipelineId= \ datadog/observability-pipelines-worker ``` ```bash helm install --name \ --set datadog.apiKey= \ --set datadog.pipelineId= \ --set datadog.site= \ datadog/observability-pipelines-worker ``` -------------------------------- ### Create Datadog Secret Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Create a Kubernetes secret for storing the Datadog API key, then reference it during installation. ```bash DATADOG_API_SECRET_NAME=datadog-api-secret kubectl create secret generic $DATADOG_API_SECRET_NAME --from-literal api-key="" ``` ```bash helm install \ --set datadog.apiKeyExistingSecret=$DATADOG_API_SECRET_NAME datadog/datadog ``` -------------------------------- ### Datadog Agent Configuration with Values File Source: https://context7.com/datadog/helm-charts/llms.txt Configure the Datadog Agent for production deployments using a values file. This example enables log collection, APM tracing, process monitoring, network monitoring, and system probe features. ```yaml # datadog-values.yaml targetSystem: "linux" datadog: apiKeyExistingSecret: datadog-secret appKeyExistingSecret: datadog-secret clusterName: my-kubernetes-cluster site: datadoghq.com # Enable log collection logs: enabled: true containerCollectAll: true containerCollectUsingFiles: true # Enable APM tracing apm: portEnabled: true socketPath: /var/run/datadog/apm.socket hostSocketPath: /var/run/datadog/ # Enable process monitoring processAgent: enabled: true processCollection: true # Enable network performance monitoring networkMonitoring: enabled: true # System probe configuration systemProbe: enableTCPQueueLength: false enableOOMKill: true collectDNSStats: true # Cluster Agent configuration clusterAgent: enabled: true replicas: 2 metricsProvider: enabled: true useDatadogMetrics: true # Node agent tolerations agents: tolerations: - effect: NoSchedule key: node-role.kubernetes.io/master operator: Exists ``` -------------------------------- ### Install Datadog Chart with Cluster Agent and Metrics Provider Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Deploy the Datadog Helm chart with the Cluster Agent and its metrics provider enabled. This command assumes you have already created secrets for the API and App keys. Ensure `DATADOG_API_SECRET_NAME` and `DATADOG_APP_SECRET_NAME` are set as environment variables. ```bash helm install datadog-monitoring \ --set datadog.apiKeyExistingSecret=$DATADOG_API_SECRET_NAME \ --set datadog.appKeyExistingSecret=$DATADOG_APP_SECRET_NAME \ --set clusterAgent.enabled=true \ --set clusterAgent.metricsProvider.enabled=true \ datadog/datadog ``` -------------------------------- ### Get OpenShift SecurityContextConstraints Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Command to retrieve the SecurityContextConstraints resource created by the Helm chart for the Private Action Runner. ```bash kubectl get scc private-action-runner-scc -o yaml ``` -------------------------------- ### Verify Runner Pod Installation Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Checks the status of the Private Action Runner pods in your Kubernetes cluster using `kubectl`. Replace `` with your Helm release name. ```bash kubectl get pods -l app.kubernetes.io/instance= ``` -------------------------------- ### Add Datadog Helm Repository Source: https://context7.com/datadog/helm-charts/llms.txt Add the official Datadog Helm repository to your Helm configuration. This is the first step before installing any Datadog charts. ```bash helm repo add datadog https://helm.datadoghq.com ``` ```bash helm repo update ``` ```bash helm search repo datadog ``` -------------------------------- ### Confirm Datadog Agent Installation and Get DatadogAgent CR Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/docs/Migration_Helm_to_Operator.md Verify that the Datadog Agent pods are updating correctly and reporting to Datadog. Retrieve the DatadogAgent custom resource definition (CRD) in YAML format for review. ```shell kubectl get datadogagents NAME AGENT CLUSTER-AGENT CLUSTER-CHECKS-RUNNER AGE datadog Updating (5/0/0) Progressing (1/0/1) 5s kubectl get datadogagent datadog -oyaml > datadog.yaml ``` -------------------------------- ### View Migration Preview Logs Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/templates/NOTES.txt Use this command to inspect the logs of the migration preview job. ```bash kubectl -n {{ .Release.Namespace }} logs job/{{ template "datadog.fullname" . }}-dda-migration-job --all-containers ``` -------------------------------- ### Conditional CRD Installation in Helm Chart Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog-crds/templates/NOTES.txt This Helm template code conditionally includes CRDs based on values.yaml settings. Ensure the corresponding values are set to true to install these CRDs. ```gohtml {{- if .Values.crds.datadogMetrics }} * DatadogMetric {{- end }} {{- if .Values.crds.datadogAgents }} * DatadogAgent {{- end }} {{- if .Values.crds.datadogMonitors }} * DatadogMonitor {{- end }} ``` -------------------------------- ### Enable Migration via Helm Upgrade Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/templates/NOTES.txt Apply the migration settings by upgrading the Datadog Helm release. ```bash helm upgrade {{ .Release.Name }} datadog/datadog \ --namespace {{ .Release.Namespace }} \ -f datadog-values.yaml \ --set-file datadog.operator.migration.userValues=datadog-values.yaml \ --set datadog.operator.migration.enabled=true \ --set datadog.operator.migration.preview=false \ --set operator.datadogCRDs.keepCrds=true ``` -------------------------------- ### Install Synthetics Private Location Source: https://context7.com/datadog/helm-charts/llms.txt Deploy a Synthetics Private Location worker to execute synthetic tests within your private infrastructure. This involves creating a Kubernetes secret for configuration and then installing the Helm chart. ```bash # Create secret from config file kubectl create secret generic synthetics-private-location-config \ --from-file synthetics-check-runner.json=config.json helm install synthetics-pl datadog/synthetics-private-location -f synthetics-values.yaml ``` -------------------------------- ### Verify Credentials Mount Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Exec into the pod to verify that credential files are mounted correctly. The path may vary depending on how credentials are provided. ```bash kubectl exec -- ls /etc/dd-action-runner/config/credentials/ ``` ```bash kubectl exec -- ls /etc/dd-action-runner/config ``` -------------------------------- ### Enable Migration Preview in datadog-values.yaml Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/docs/Migration_Helm_to_Operator.md Configure your `datadog-values.yaml` file to enable the migration preview feature. This step is crucial before upgrading your Helm release for the initial migration phase. ```yaml datadog: operator: enabled: true migration: preview: true ``` -------------------------------- ### Upgrade Helm Release for Migration Preview Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/docs/Migration_Helm_to_Operator.md Upgrade your existing Datadog Helm release using `--set-file` to provide the path to your updated `datadog-values.yaml` file. This initiates the migration preview. ```shell helm upgrade \ --set-file datadog.operator.migration.userValues=datadog-values.yaml \ -f datadog-values.yaml \ datadog/datadog ``` -------------------------------- ### Uninstall Datadog Helm Release Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/templates/NOTES.txt Remove the original Datadog Helm release after the operator is installed. ```bash helm uninstall {{ .Release.Name }} --namespace {{ .Release.Namespace }} ``` -------------------------------- ### Enable Process Collection Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Enable the process agent and process collection. Requires upgrading the Datadog Helm chart. ```yaml datadog: # (...) processAgent: enabled: true processCollection: true ``` -------------------------------- ### Uninstall Datadog Helm Chart Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/docs/Migration_Helm_to_Operator.md Removes the legacy Datadog Helm chart after the Operator has been installed. ```shell helm uninstall ``` -------------------------------- ### Provide User Values for Migration Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/docs/internal/helm-operator-migration-reference.md Both migration modes (`preview` and `enabled`) require `datadog.operator.migration.userValues` to be set, typically via `--set-file`. This provides the Helm values that the migration job will use to map to the `DatadogAgent` manifest. ```bash --set-file datadog.operator.migration.userValues=path/to/your/values.yaml ``` -------------------------------- ### Run Unit Tests Source: https://github.com/datadog/helm-charts/blob/main/CONTRIBUTING.md Execute unit tests to verify template rendering and manifest correctness. ```shell make unit-test ``` ```shell make update-test-baselines ``` -------------------------------- ### Configure Indexer and Searcher Resources Source: https://github.com/datadog/helm-charts/blob/main/charts/cloudprem/README.md Define replica counts and resource limits for indexer and searcher pods in the values file. ```yaml indexer: replicaCount: 2 resources: requests: cpu: "4" memory: "8Gi" limits: cpu: "4" memory: "8Gi" autoscaling: enabled: false searcher: replicaCount: 2 resources: requests: cpu: "4" memory: "16Gi" limits: cpu: "4" memory: "16Gi" autoscaling: enabled: false ``` -------------------------------- ### Reference Credential Secrets in values.yaml Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Example configuration in values.yaml to mount Kubernetes secrets containing credentials into the runner pod. ```yaml runner: credentialSecrets: # Mount all files from the secret at /etc/dd-action-runner/config/credentials/gitlab/ - secretName: gitlab-credentials directoryName: "gitlab" # Mount files in a subdirectory at /etc/dd-action-runner/config/credentials/jenkins/ - secretName: jenkins-credentials directoryName: "jenkins" ``` -------------------------------- ### Reference Runner Identity Secret in values.yaml Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Example configuration in values.yaml to reference a Kubernetes secret containing the runner's identity. ```yaml runner: runnerIdentitySecret: "runner-identity" config: # When using runnerIdentitySecret, you can omit these values # urn: "YOUR_RUNNER_URN" # Only needed if not in the secret # privateKey: "YOUR_RUNNER_PRIVATE_KEY" ``` -------------------------------- ### Upgrade Datadog Agent with APM Instrumentation Source: https://context7.com/datadog/helm-charts/llms.txt Upgrade the Datadog Agent installation to apply APM single-step instrumentation configurations defined in a values file. ```bash helm upgrade datadog-agent datadog/datadog -f apm-instrumentation-values.yaml ``` -------------------------------- ### Run Integration Tests Source: https://github.com/datadog/helm-charts/blob/main/CONTRIBUTING.md Execute integration tests against a local Kubernetes context or Kind cluster. ```shell make integration-test ``` ```shell make test ``` -------------------------------- ### Enable NPM Collection Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Enable Network Performance Monitoring (NPM) collection. The system-probe agent runs in a dedicated container environment. Requires upgrading the Datadog Helm chart. ```yaml datadog: # (...) networkMonitoring: # (...) enabled: true ``` -------------------------------- ### APM Single Step Instrumentation Configuration Source: https://context7.com/datadog/helm-charts/llms.txt Configure APM single-step instrumentation to automatically inject tracing libraries into application pods. This example shows how to enable instrumentation cluster-wide and disable it for specific namespaces. ```yaml # apm-instrumentation-values.yaml datadog: apiKeyExistingSecret: datadog-secret apm: instrumentation: enabled: true # Disable instrumentation for specific namespaces disabledNamespaces: - kube-system - monitoring # Or enable only for specific namespaces # enabledNamespaces: # - production # - staging # Specify tracing library versions libVersions: java: v1.18.0 python: v1.20.0 nodejs: v4.0.0 dotnet: v2.30.0 ``` -------------------------------- ### View Running Pods for Private Action Runner Chart Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/templates/NOTES.txt Use this command to list all pods associated with the Private Action Runner Helm release. Replace '{{ .Release.Name }}' with the actual release name. ```bash kubectl get pods -l app.kubernetes.io/instance={{ .Release.Name }} ``` -------------------------------- ### Set Environment Variable with Helm --set Flag Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Use the `--set` flag with `helm install` or `helm upgrade` to define environment variables for the Datadog Agent, such as `DD_ENV`, using the `datadog.envDict` parameter. ```console $ helm install --set datadog.envDict.DD_ENV=prod datadog/datadog ``` -------------------------------- ### Validate Migration Configuration Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/templates/NOTES.txt Use this command to verify the migration configuration by checking the DatadogAgent manifest. ```bash kubectl -n {{ .Release.Namespace }} get datadogagent {{ template "datadog.fullname" . }} -oyaml ``` -------------------------------- ### Add New Team-Owned Template to CODEOWNERS Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/docs/internal/agent-review-guide.md When introducing new team-specific templates in `charts/datadog/templates/`, ensure they are added to the `.github/CODEOWNERS` file under the appropriate team alias. This example shows how to add a new container template owned by `@DataDog/some-team`. ```yaml charts/datadog/templates/_container-some-feature.yaml @DataDog/some-team ``` -------------------------------- ### Create Kubernetes Namespace Source: https://github.com/datadog/helm-charts/blob/main/charts/cloudprem/README.md Create a new Kubernetes namespace for your CloudPrem deployment. Replace `` with your desired namespace. ```sh kubectl create namespace ``` -------------------------------- ### Enable Kubernetes Actions Configuration Source: https://github.com/datadog/helm-charts/blob/main/charts/private-action-runner/README.md Configures the Private Action Runner to enable specific Kubernetes actions like 'get', 'list', 'create', and 'update' for pods and deployments. This requires setting up Service account authentication in Datadog. ```yaml runner: kubernetesActions: pods: ["get", "list"] deployments: ["get", "list", "create", "update"] ``` -------------------------------- ### Configure OpenShift Deployment Source: https://context7.com/datadog/helm-charts/llms.txt Values file for deploying the Datadog Agent on OpenShift with security context constraints. ```yaml # openshift-values.yaml targetSystem: "linux" datadog: apiKeyExistingSecret: datadog-secret appKeyExistingSecret: datadog-secret clusterName: openshift-cluster kubelet: tlsVerify: false logs: enabled: true containerCollectAll: true apm: portEnabled: true socketEnabled: false processAgent: enabled: true processCollection: true agents: useHostNetwork: true podSecurity: securityContextConstraints: create: true tolerations: - effect: NoSchedule key: node-role.kubernetes.io/master operator: Exists - effect: NoSchedule key: node-role.kubernetes.io/infra operator: Exists clusterAgent: podSecurity: securityContextConstraints: create: true ``` -------------------------------- ### Enable APM Single Step Instrumentation cluster-wide Source: https://github.com/datadog/helm-charts/blob/main/charts/datadog/README.md Enable automatic injection of APM tracing libraries and configurations for all pods in the cluster. ```yaml datadog: # (...) apm: instrumentation: enabled: true ```