Skip to content

Commit 997675a

Browse files
tbaveliercswattclaude
authored
[CONTP-1587] Deprecate other controllers in favour of DDGR and add DDGR (#37588)
* Deprecate other controllers in favour of DDGR and add DDGR * nit: remove hardcoded namespace + change further reading links * Reset non-English menus to master Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * adding some formatting --------- Co-authored-by: cswatt <cecilia.watt@datadoghq.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent d49cb4a commit 997675a

5 files changed

Lines changed: 109 additions & 4 deletions

File tree

config/_default/menus/main.en.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3498,16 +3498,21 @@ menu:
34983498
identifier: containers_datadog_operator_crd_dashboard
34993499
parent: containers_datadog_operator
35003500
weight: 807
3501+
- name: DatadogGenericResource CRD
3502+
url: containers/datadog_operator/crd_ddgr
3503+
identifier: containers_datadog_operator_crd_ddgr
3504+
parent: containers_datadog_operator
3505+
weight: 808
35013506
- name: DatadogMonitor CRD
35023507
url: containers/datadog_operator/crd_monitor
35033508
identifier: containers_datadog_operator_crd_monitor
35043509
parent: containers_datadog_operator
3505-
weight: 808
3510+
weight: 809
35063511
- name: DatadogSLO CRD
35073512
url: containers/datadog_operator/crd_slo
35083513
identifier: containers_datadog_operator_crd_slo
35093514
parent: containers_datadog_operator
3510-
weight: 809
3515+
weight: 810
35113516
- name: Troubleshooting
35123517
url: containers/troubleshooting/
35133518
parent: containers

content/en/containers/datadog_operator/crd_dashboard.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
title: DatadogDashboard CRD
33
description: Deploy and manage Datadog dashboards using the DatadogDashboard custom resource definition with the Datadog Operator
44
---
5+
6+
<div class="alert alert-info"><strong>Soft deprecation notice:</strong> For new dashboard resources, prefer <a href="/containers/datadog_operator/crd_ddgr/">DatadogGenericResource</a> with <code>type: dashboard</code>. <code>DatadogDashboard</code> remains supported for existing users, but <code>DatadogGenericResource</code> is the preferred path for new Datadog API capabilities.</div>
7+
58
To deploy a Datadog dashboard, you can use the Datadog Operator and `DatadogDashboard` custom resource definition (CRD).
69

710
### Prerequisites
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: DatadogGenericResource CRD
3+
description: Create and manage Datadog resources using the DatadogGenericResource custom resource definition with the Datadog Operator
4+
further_reading:
5+
- link: "https://github.com/DataDog/datadog-operator/blob/main/docs/datadoggenericresource/datadog_generic_resource.md"
6+
tag: "GitHub"
7+
text: "DatadogGenericResource guide"
8+
- link: "https://github.com/DataDog/datadog-operator/blob/main/docs/datadoggenericresource/datadog_generic_resource_migration.md"
9+
tag: "GitHub"
10+
text: "Migrating to DatadogGenericResource"
11+
---
12+
13+
To create and manage Datadog resources with the Datadog Operator, use the `DatadogGenericResource` custom resource definition (CRD). `DatadogGenericResource` uses the Datadog API JSON payload for each supported resource type in `spec.jsonSpec`.
14+
15+
`DatadogGenericResource` is the preferred CRD for Datadog resources that are supported by both `DatadogGenericResource` and older resource-specific CRDs, such as `DatadogMonitor`, `DatadogDashboard`, and `DatadogSLO`.
16+
17+
## Prerequisites
18+
- [Helm][1]
19+
- [`kubectl` CLI][2]
20+
- [Datadog Operator][3] v1.12+
21+
- Datadog API and application keys with permissions for the resources you create
22+
23+
## Supported resources
24+
25+
| Type | Operator version | API reference |
26+
| ---- | ---------------- | ------------- |
27+
| `notebook` | v1.12.0 | [Create a notebook][4] |
28+
| `synthetics_api_test` | v1.12.0 | [Create an API test][5] |
29+
| `synthetics_browser_test` | v1.12.0 | [Create a browser test][6] |
30+
| `monitor` | v1.13.0 | [Create a monitor][7] |
31+
| `downtime` | v1.22.0 | [Schedule a downtime][8] |
32+
| `dashboard` | v1.27.0 | [Create a dashboard][9] |
33+
| `slo` | v1.28.0 | [Create an SLO object][10] |
34+
35+
## Setup
36+
37+
1. Run the installation command, substituting your Datadog API and application keys:
38+
39+
```shell
40+
helm install datadog-operator datadog/datadog-operator \
41+
--set apiKey=<DATADOG_API_KEY> \
42+
--set appKey=<DATADOG_APP_KEY> \
43+
--set datadogCRDs.crds.datadogGenericResources=true \
44+
--set datadogGenericResource.enabled=true
45+
```
46+
47+
2. Create a file with the spec of your `DatadogGenericResource` configuration.
48+
49+
**Example**: Monitor
50+
51+
{{< code-block lang="yaml" filename="datadog-generic-resource-monitor.yaml" collapsible="true" >}}
52+
apiVersion: datadoghq.com/v1alpha1
53+
kind: DatadogGenericResource
54+
metadata:
55+
name: example-monitor
56+
namespace: <operator namespace>
57+
spec:
58+
type: monitor
59+
jsonSpec: |-
60+
{
61+
"name": "Example Monitor",
62+
"type": "metric alert",
63+
"query": "avg(last_10m):avg:system.cpu.user{*} > 80",
64+
"message": "CPU usage is high",
65+
"tags": [
66+
"team:example"
67+
],
68+
"options": {
69+
"notify_no_data": false
70+
}
71+
}
72+
{{< /code-block >}}
73+
74+
3. Deploy your `DatadogGenericResource`:
75+
76+
```shell
77+
kubectl apply -f /path/to/your/datadog-generic-resource-monitor.yaml
78+
```
79+
80+
## Further reading
81+
82+
{{< partial name="whats-next/whats-next.html" >}}
83+
84+
[1]: https://helm.sh/
85+
[2]: https://kubernetes.io/docs/tasks/tools/install-kubectl/
86+
[3]: /containers/kubernetes/installation?tab=datadogoperator#installation
87+
[4]: /api/latest/notebooks/#create-a-notebook
88+
[5]: /api/latest/synthetics/#create-an-api-test
89+
[6]: /api/latest/synthetics/#create-a-browser-test
90+
[7]: /api/latest/monitors/#create-a-monitor
91+
[8]: /api/latest/downtimes/#schedule-a-downtime
92+
[9]: /api/latest/dashboards/#create-a-new-dashboard
93+
[10]: /api/latest/service-level-objectives/#create-an-slo-object

content/en/containers/datadog_operator/crd_monitor.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ further_reading:
1010
text: "DatadogMonitor CRD"
1111
---
1212

13+
<div class="alert alert-info"><strong>Soft deprecation notice:</strong> For new monitor resources, prefer <a href="/containers/datadog_operator/crd_ddgr/">DatadogGenericResource</a> with <code>type: monitor</code>. <code>DatadogMonitor</code> remains supported for existing users, but <code>DatadogGenericResource</code> is the preferred path for new Datadog API capabilities.</div>
14+
1315
To deploy a Datadog monitor, you can use the Datadog Operator and `DatadogMonitor` custom resource definition (CRD).
1416

1517
## Prerequisites

content/en/containers/datadog_operator/crd_slo.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: DatadogSLO CRD
33
description: Create and manage Datadog Service Level Objectives (SLOs) using the DatadogSLO custom resource definition
44
---
55

6+
<div class="alert alert-info"><strong>Soft deprecation notice:</strong> For new SLO resources, prefer <a href="/containers/datadog_operator/crd_ddgr/">DatadogGenericResource</a> with <code>type: slo</code>. <code>DatadogSLO</code> remains supported for existing users, but <code>DatadogGenericResource</code> is the preferred path for new Datadog API capabilities.</div>
7+
68
To create a [Service Level Objective][1] (SLO), you can use the Datadog Operator and `DatadogSLO` custom resource definition (CRD).
79

810
### Prerequisites
@@ -21,7 +23,7 @@ To create a [Service Level Objective][1] (SLO), you can use the Datadog Operator
2123
kind: DatadogSLO
2224
metadata:
2325
name: example-slo-monitor3
24-
namespace: system
26+
namespace: system
2527
spec:
2628
name: example-slo-monitor3
2729
description: "This is an example monitor SLO from datadog-operator"
@@ -42,7 +44,7 @@ To create a [Service Level Objective][1] (SLO), you can use the Datadog Operator
4244
kind: DatadogSLO
4345
metadata:
4446
name: example-slo
45-
namespace: system
47+
namespace: system
4648
spec:
4749
name: example-slo
4850
description: "This is an example metric SLO from datadog-operator"

0 commit comments

Comments
 (0)