Skip to content

feat(cookbooks): add Otel Collector integration#71076

Open
stephenliang wants to merge 3 commits intostagingfrom
stephen/ddot-collector
Open

feat(cookbooks): add Otel Collector integration#71076
stephenliang wants to merge 3 commits intostagingfrom
stephen/ddot-collector

Conversation

@stephenliang
Copy link
Member

This commit introduces the integration of the DataDog OpenTelemetry Collector (DDOT) into the Code.org infrastructure. The changes include the addition of a new cookbook and updates to existing configurations to support telemetry data collection and forwarding.

  • Introduced the cdo-otel-collector cookbook to install and configure the DataDog OpenTelemetry Collector (DDOT).
  • Updated cdo-apps to include cdo-otel-collector as a dependency.
  • Added default attributes for the OpenTelemetry Collector, including the DataDog site configuration.
  • Created templates for datadog.yaml and otel-config.yaml to enable OpenTelemetry and configure pipelines for traces, metrics, and logs.
  • Managed the datadog-agent service to ensure proper installation, configuration, and startup.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces the cdo-otel-collector cookbook, which installs and configures the DataDog OpenTelemetry Collector (DDOT) as part of Code.org's infrastructure. It enables receiving OTLP telemetry data (traces, metrics, logs) from OpenTelemetry-instrumented applications and forwarding it to DataDog.

Changes:

  • New cdo-otel-collector cookbook with recipe, templates, attributes, and kitchen config to install and configure the DDOT agent
  • Updated cdo-apps cookbook to depend on and include cdo-otel-collector in the default run
  • Updated Berksfile.lock to include the new cookbook dependency

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
cookbooks/cdo-otel-collector/recipes/default.rb Core recipe: installs DataDog agent, writes config, manages service, runs verification
cookbooks/cdo-otel-collector/templates/datadog.yaml.erb Main DataDog agent config template with API key, OTel, APM, and log settings
cookbooks/cdo-otel-collector/templates/otel-config.yaml.erb OTel Collector pipeline config with receivers, processors, connectors, and exporters
cookbooks/cdo-otel-collector/attributes/default.rb Default site attribute pointing to datadoghq.com
cookbooks/cdo-otel-collector/metadata.rb Cookbook metadata with apt dependency
cookbooks/cdo-otel-collector/README.md Documentation covering setup, usage, and troubleshooting
cookbooks/cdo-otel-collector/Berksfile Berkshelf config pointing to Chef Supermarket
cookbooks/cdo-otel-collector/.kitchen.yml Test Kitchen config using Dokken/InSpec, but no test specs exist
cookbooks/cdo-apps/recipes/default.rb Includes cdo-otel-collector in the app server run list
cookbooks/cdo-apps/metadata.rb Adds cdo-otel-collector as a cdo-apps dependency
cookbooks/Berksfile.lock Lock file updated with the new cookbook and its apt dependency

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

This commit introduces the integration of the DataDog OpenTelemetry Collector (DDOT) into the Code.org infrastructure. The changes include the addition of a new cookbook and updates to existing configurations to support telemetry data collection and forwarding.

- Introduced the `cdo-otel-collector` cookbook to install and configure the DataDog OpenTelemetry Collector (DDOT).
- Updated `cdo-apps` to include `cdo-otel-collector` as a dependency.
- Added default attributes for the OpenTelemetry Collector, including the DataDog site configuration.
- Created templates for `datadog.yaml` and `otel-config.yaml` to enable OpenTelemetry and configure pipelines for traces, metrics, and logs.
- Managed the `datadog-agent` service to ensure proper installation, configuration, and startup.
@stephenliang stephenliang force-pushed the stephen/ddot-collector branch from b64e19d to c06343f Compare February 28, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants