datadog-operator

module
v1.27.0-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2026 License: Apache-2.0

README

Datadog Operator

badge Go Report Card codecov

Overview

[!NOTE] DatadogAgentInternal was introduced in v1.16.0, enabled by default in v1.22.0, and will become required (opt-out removed) in v1.27.0. See documentation for details.

[!WARNING] ⚠️ If you are upgrading to Operator v1.22.0+ from <v1.18.0 or you haven't migrated Daemonset matchLabels, see the migration guide.

The Datadog Operator aims to provide a new way of deploying the Datadog Agent on Kubernetes. Once deployed, the Datadog Operator provides:

  • Agent configuration validation that limits configuration mistakes.
  • Orchestration of creating/updating Datadog Agent resources.
  • Reporting of Agent configuration status in its Kubernetes CRD resource.
  • Optionally, use of an advanced DaemonSet deployment by leveraging the ExtendedDaemonSet.
  • Many other features to come :).

The Datadog Operator is RedHat certified and available on operatorhub.io.

Datadog Operator vs. Helm chart

You can also use official Datadog Helm chart or a DaemonSet to install the Datadog Agent on Kubernetes. However, using the Datadog Operator offers the following advantages:

  • The Operator has built-in defaults based on Datadog best practices.
  • Operator configuration is more flexible for future enhancements.
  • As a Kubernetes Operator, the Datadog Operator is treated as a first-class resource by the Kubernetes API.
  • Unlike the Helm chart, the Operator is included in the Kubernetes reconciliation loop.

Datadog fully supports using a DaemonSet to deploy the Agent, but manual DaemonSet configuration leaves significant room for error. Therefore, using a DaemonSet is not highly recommended.

Getting started

See the Getting Started dedicated documentation to learn how to deploy the Datadog operator and your first Agent, and Configuration to see examples, a list of all configuration keys, and default values.

Migrating from v1alpha1 to v2alpha1

Datadog Operator v1.8.0+ does not support migrating from DatadogAgent CRD v1alpha1 to v2alpha1 or from Operator v0.8.x to v1.x.x.

Use the conversion webhook in v1.7.0 to migrate, and then upgrade to a recent version.

Default Enabled Features
  • Cluster Agent
  • Admission Controller
  • Cluster Checks
  • Kubernetes Event Collection
  • Kubernetes State Core Check
  • Live Container Collection
  • Orchestrator Explorer
  • UnixDomainSocket transport for DogStatsD (and APM if enabled)
  • Process Discovery
  • Control Plane Monitoring

Functionalities

The Datadog operator also allows you to:

Deprecation Notice

See the deprecated configurations and migration guidelines page.

How to contribute

See the How to Contribute page.

Release

Release process documentation is available here.

Directories

Path Synopsis
api module
cmd
check-operator command
helpers command
kubectl-datadog command
kubectl-datadog/autoscaling
Package autoscaling provides CLI commands for managing Kubernetes autoscaling features, including Karpenter installation and configuration on EKS clusters.
Package autoscaling provides CLI commands for managing Kubernetes autoscaling features, including Karpenter installation and configuration on EKS clusters.
kubectl-datadog/autoscaling/cluster
Package cluster provides CLI commands for managing cluster-level autoscaling features, specifically Karpenter installation and configuration on EKS clusters.
Package cluster provides CLI commands for managing cluster-level autoscaling features, specifically Karpenter installation and configuration on EKS clusters.
kubectl-datadog/autoscaling/cluster/apply
Package apply contains the convergence logic shared between the `install` and `update` cobra commands.
Package apply contains the convergence logic shared between the `install` and `update` cobra commands.
kubectl-datadog/autoscaling/cluster/common/aws
Package aws provides AWS-specific functionality for managing CloudFormation stacks, IAM configurations, and other AWS resources required for Karpenter installation.
Package aws provides AWS-specific functionality for managing CloudFormation stacks, IAM configurations, and other AWS resources required for Karpenter installation.
kubectl-datadog/autoscaling/cluster/common/clients
Package clients provides shared AWS and Kubernetes client initialization for the Karpenter install and uninstall commands.
Package clients provides shared AWS and Kubernetes client initialization for the Karpenter install and uninstall commands.
kubectl-datadog/autoscaling/cluster/common/clusterinfo
Package clusterinfo classifies cluster nodes by their management method (Fargate, Karpenter, EKS managed node group, ASG, standalone, unknown) and persists the classification in a ConfigMap.
Package clusterinfo classifies cluster nodes by their management method (Fargate, Karpenter, EKS managed node group, ASG, standalone, unknown) and persists the classification in a ConfigMap.
kubectl-datadog/autoscaling/cluster/common/display
Package display provides utilities for formatting text output in the kubectl-datadog CLI tool.
Package display provides utilities for formatting text output in the kubectl-datadog CLI tool.
kubectl-datadog/autoscaling/cluster/common/helm
Package helm provides Helm chart management functionality for installing and upgrading Karpenter releases on Kubernetes clusters.
Package helm provides Helm chart management functionality for installing and upgrading Karpenter releases on Kubernetes clusters.
kubectl-datadog/autoscaling/cluster/guess
Package guess provides logic for inferring Karpenter NodePool and EC2NodeClass configurations from existing EKS cluster resources, including node groups and running nodes.
Package guess provides logic for inferring Karpenter NodePool and EC2NodeClass configurations from existing EKS cluster resources, including node groups and running nodes.
kubectl-datadog/autoscaling/cluster/install
Package install provides the cobra command that installs Karpenter on an EKS cluster.
Package install provides the cobra command that installs Karpenter on an EKS cluster.
kubectl-datadog/autoscaling/cluster/k8s
Package k8s provides Kubernetes-specific functionality for creating and managing Karpenter custom resources including EC2NodeClass and NodePool objects.
Package k8s provides Kubernetes-specific functionality for creating and managing Karpenter custom resources including EC2NodeClass and NodePool objects.
kubectl-datadog/autoscaling/cluster/uninstall
Package uninstall provides functionality to uninstall Karpenter autoscaling from EKS clusters, including resource cleanup and CloudFormation stack deletion.
Package uninstall provides functionality to uninstall Karpenter autoscaling from EKS clusters, including resource cleanup and CloudFormation stack deletion.
kubectl-datadog/autoscaling/cluster/update
Package update provides the cobra command that refreshes a previously installed kubectl-datadog Karpenter deployment on an EKS cluster.
Package update provides the cobra command that refreshes a previously installed kubectl-datadog Karpenter deployment on an EKS cluster.
yaml-mapper command
hack
generate-docs command
jsonschema command
internal
controller/datadogagent/feature
Package feature provide the framework to manage Feature in a generic way.
Package feature provide the framework to manage Feature in a generic way.
controller/datadogagent/feature/dogstatsd
Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
controller/datadogagent/feature/otelagentgateway/defaultconfig
package defaultconfig exposes the otel-agent default config in gateway
package defaultconfig exposes the otel-agent default config in gateway
controller/datadogagent/feature/otelcollector/defaultconfig
package defaultconfig exposes the otel-agent default config
package defaultconfig exposes the otel-agent default config
controller/datadogagent/override
Package override provides a set of function to override generic resource such as corev1.PodTemplate and corev1.Container.
Package override provides a set of function to override generic resource such as corev1.PodTemplate and corev1.Container.
controller/datadogagent/store
Package store provides a store use to manage deployment dependencies.
Package store provides a store use to manage deployment dependencies.
controller/datadogagent/testutils
Package testutils_test contains a set of unit-test helper functions to ease the creation of unit-test around the DatadogAgent CRD controller
Package testutils_test contains a set of unit-test helper functions to ease the creation of unit-test around the DatadogAgent CRD controller
marketplaces
pkg
allowlistsynchronizer
Package allowlistsynchronizer contains helpers to manage the AllowlistSynchronizer CRD required by GKE Autopilot clusters.
Package allowlistsynchronizer contains helpers to manage the AllowlistSynchronizer CRD required by GKE Autopilot clusters.
test
e2e module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL