{"id":19054256,"url":"https://github.com/datadog/datadog-operator","last_synced_at":"2026-03-03T17:17:04.816Z","repository":{"id":37412819,"uuid":"222730845","full_name":"DataDog/datadog-operator","owner":"DataDog","description":"Kubernetes Operator for Datadog Resources","archived":false,"fork":false,"pushed_at":"2025-05-12T20:35:43.000Z","size":26188,"stargazers_count":355,"open_issues_count":108,"forks_count":117,"subscribers_count":184,"default_branch":"main","last_synced_at":"2025-05-12T21:41:41.559Z","etag":null,"topics":["customresourcedefinition","datadog","kubernetes","operator"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataDog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-11-19T15:41:02.000Z","updated_at":"2025-05-12T07:31:47.000Z","dependencies_parsed_at":"2024-03-18T12:50:14.790Z","dependency_job_id":"45351a9e-fddb-4260-b241-f9d9e30b1ad7","html_url":"https://github.com/DataDog/datadog-operator","commit_stats":{"total_commits":1096,"total_committers":86,"mean_commits":"12.744186046511627","dds":0.8385036496350364,"last_synced_commit":"6ff015ce1249d17af348158c31bdb4044263488c"},"previous_names":[],"tags_count":162,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fdatadog-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fdatadog-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fdatadog-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fdatadog-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataDog","download_url":"https://codeload.github.com/DataDog/datadog-operator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254041525,"owners_count":22004734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customresourcedefinition","datadog","kubernetes","operator"],"created_at":"2024-11-08T23:37:31.795Z","updated_at":"2025-12-27T00:53:15.482Z","avatar_url":"https://github.com/DataDog.png","language":"Go","readme":"# Datadog Operator\n\n![badge](https://github.com/DataDog/datadog-operator/actions/workflows/main.yml/badge.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/datadog/datadog-operator)](https://goreportcard.com/report/github.com/datadog/datadog-operator)\n[![codecov](https://codecov.io/gh/datadog/datadog-operator/branch/main/graph/badge.svg)](https://codecov.io/gh/datadog/datadog-operator)\n\n## Overview\n\n\u003e [!WARNING]\n\u003e Upcoming changes to Agent DaemonSet labels and selectors may affect your setup.\n\u003e\n\u003e - In **Operator v1.21.0**, all DaemonSets will replace the `matchLabels` selector `agent.datadoghq.com/name: \u003cdda-name\u003e` with `app.kubernetes.io/instance: \u003cdda-name\u003e-agent`.\n\u003e\n\u003e If using the preview feature [DatadogAgentProfiles][18] (DAPs), the following changes will occur:\n\u003e - In **Operator v1.18.0**, the `app.kubernetes.io/instance` label value was changed from `\u003cdda-name\u003e-agent` to `\u003cdap-name\u003e-agent` on DAP-managed Pods and DaemonSets.\n\u003e - In **Operator v1.21.0**, the following changes will occur:\n\u003e   - All DaemonSets will replace the `matchLabels` selector `agent.datadoghq.com/name: \u003cdda-name\u003e` with `app.kubernetes.io/instance: \u003cdda-name\u003e-agent` (for default DaemonSets) or `\u003cdap-name\u003e-agent` (for DAP-managed DaemonSets).\n\u003e   - DAP-managed DaemonSets will be renamed from `datadog-agent-with-profile-\u003cdda-name\u003e-\u003cdap-name\u003e` to `\u003cdap-name\u003e-agent`.\n\u003e \n\u003e ⚠️ If you rely on these labels or `matchLabels` (e.g., in NetworkPolicies, admission controllers, or automation), you may need to update those resources.\n\u003e \n\u003e For a safe, zero-downtime migration path and full details, see the [migration guide][19].\n\nThe **Datadog Operator** aims to provide a new way of deploying the [Datadog Agent][1] on Kubernetes. Once deployed, the Datadog Operator provides:\n\n- Agent configuration validation that limits configuration mistakes.\n- Orchestration of creating/updating Datadog Agent resources.\n- Reporting of Agent configuration status in its Kubernetes CRD resource.\n- Optionally, use of an advanced `DaemonSet` deployment by leveraging the [ExtendedDaemonSet][2].\n- Many other features to come :).\n\nThe **Datadog Operator** is [RedHat certified][10] and available on [operatorhub.io][11].\n\n## Datadog Operator vs. Helm chart\n\nYou can also use official [Datadog Helm chart][3] or a DaemonSet to install the Datadog Agent on Kubernetes. However, using the Datadog Operator offers the following advantages:\n\n* The Operator has built-in defaults based on Datadog best practices.\n* Operator configuration is more flexible for future enhancements.\n* As a [Kubernetes Operator][16], the Datadog Operator is treated as a first-class resource by the Kubernetes API.\n* Unlike the Helm chart, the Operator is included in the Kubernetes reconciliation loop.\n\nDatadog 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.\n\n## Getting started\n\nSee the [Getting Started][5] dedicated documentation to learn how to deploy the Datadog operator and your first Agent, and [Configuration][12] to see examples, a list of all configuration keys, and default values.\n\n### Migrating from `v1alpha1` to `v2alpha1`\n\nDatadog Operator `v1.8.0+` does not support migrating from `DatadogAgent` CRD `v1alpha1` to `v2alpha1` or from Operator `v0.8.x` to `v1.x.x`.\n\nUse the conversion webhook in `v1.7.0` to migrate, and then upgrade to a recent version.\n\n### Default Enabled Features\n\n- Cluster Agent\n- Admission Controller\n- Cluster Checks\n- Kubernetes Event Collection\n- Kubernetes State Core Check\n- Live Container Collection\n- Orchestrator Explorer\n- UnixDomainSocket transport for DogStatsD (and APM if enabled)\n- Process Discovery\n- Control Plane Monitoring\n\n## Functionalities\n\nThe Datadog operator also allows you to:\n\n- [Configure and provide custom checks to the Agents][6].\n- [Deploy the Datadog Cluster Agent with your node Agents][7].\n- [Secrets Management with the Datadog Operator][8].\n\n## Deprecation Notice\n\nSee the [deprecated configurations and migration guidelines][17] page.\n\n## How to contribute\n\nSee the [How to Contribute page][9].\n\n[1]: https://github.com/DataDog/datadog-agent/\n[2]: https://github.com/DataDog/extendeddaemonset\n[3]: https://github.com/DataDog/helm-charts/tree/main/charts/datadog\n[4]: https://github.com/DataDog/datadog-agent/tree/6.15.0/Dockerfiles/manifests\n[5]: https://github.com/DataDog/datadog-operator/blob/main/docs/getting_started.md\n[6]: https://github.com/DataDog/datadog-operator/blob/main/docs/custom_check.md\n[7]: https://github.com/DataDog/datadog-operator/blob/main/docs/cluster_agent_setup.md\n[8]: https://github.com/DataDog/datadog-operator/blob/main/docs/secret_management.md\n[9]: https://github.com/DataDog/datadog-operator/tree/main/docs/how-to-contribute.md\n[10]: https://catalog.redhat.com/software/operators/detail/5e9874986c5dcb34dfbb1a12\n[11]: https://operatorhub.io/operator/datadog-operator\n[12]: https://github.com/DataDog/datadog-operator/blob/main/docs/configuration.v2alpha1.md\n[13]: https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/\n[14]: https://docs.datadoghq.com/containers/guide/datadogoperator_migration/\n[15]: https://github.com/DataDog/helm-charts/tree/main/charts/datadog-operator#migration\n[16]: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/\n[17]: https://github.com/DataDog/datadog-operator/blob/main/docs/deprecated_configs.md\n[18]: https://github.com/DataDog/datadog-operator/blob/main/docs/datadog_agent_profiles.md\n[19]: https://github.com/DataDog/datadog-operator/blob/main/docs/agent_metadata_changes.md\n\n## Release\n\nRelease process documentation is available [here](./RELEASING.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatadog%2Fdatadog-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatadog%2Fdatadog-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatadog%2Fdatadog-operator/lists"}