Define dataflows for agent-integrations-owned integrations - #3101
Open
philjlee wants to merge 4 commits into
Open
Define dataflows for agent-integrations-owned integrations#3101philjlee wants to merge 4 commits into
philjlee wants to merge 4 commits into
Conversation
Split of #3093 by CODEOWNERS team. Jira: TXP-277
philjlee
requested review from
davidfeng-datadog
and removed request for
a team
August 6, 2026 19:18
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aa82e7c512
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Lacework's Datadog integration offers an "Events Summary" outgoing type that sends summaries to the Datadog Events platform (lacework/README.md), and the Redis Sentinel check calls self.event() on master failover (redis_sentinel.py). Both emit events in addition to the data types already declared. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The Lacework alert channel sends a single outgoing type, selected by datadog_service, which defaults to Logs Detail. Events reach Datadog only when that field is set to Events Summary, so the events dataflow is not enabled for all accounts by default. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
davidfeng-datadog
approved these changes
Aug 10, 2026
davidfeng-datadog
left a comment
Contributor
There was a problem hiding this comment.
looks like logs validator had a system error. Feel free to rebase the PR to trigger the CI again!
alexeypilyugin
approved these changes
Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jira: TXP-277
Adds
assets/dataflows.yamlto 9 integrations owned by@DataDog/agent-integrations, declaring 13 dataflows. Mechanical change: no code, no metrics, no manifests touched.Precedent: #2925 "Define dataflows for saas-integrations", which created 13 of the 14 existing dataflow files in this repo.
Selection criteria
A directory is in this batch only if all of the following hold:
assets/dataflows.yamltoday.manifest.json. The dataflows validator hard-requires one —dataflows_validation_handler.go:56.data_typeis mechanically derivable from a committed artifact, with no judgement call:metadata.csvwith at least one data row →metricsassets/logs/*.yaml→logsself.event(...)call in the check, or a README-documented event path →events.github/CODEOWNERSresolves<dir>/assets/dataflows.yaml(last-match-wins) to@DataDog/agent-integrations.Every directory in this batch has
@DataDog/agent-integrationsas its Datadog team CODEOWNER (mendixis co-owned with@DataDog/ecosystems-review), so review from@DataDog/agent-integrationscovers the whole PR.Field values
granular: false/direction: inboundthroughout.always_onis set per entry rather than uniformly:truewhere the data reaches Datadog for every configured account,falsewhere the vendor side must be deliberately switched on first.lacework-eventsis the onefalsein this batch — Lacework's alert channel exposes a singledatadog_serviceselector that defaults toLogs Detail, so events only flow if an operator changes it toEvents Summary. Peraccountconf/internal/catalog_custom_overrides.py:69,always_onasserts that a datastream "is always enabled for all accounts", which that case does not satisfy.Dataflow IDs are
<app_id>-<data_type>, takingapp_idfrommanifest.jsonrather than the directory name. All IDs were checked for collisions against every existing ID in the repo, and against each other.Validation
These files were validated against the real validation logic of
DataflowsValidationHandlerfromdd-source/domains/integrationscatalog/libs/catalogassetslib/dataflows_validation_handler.go, run over everydataflows.yamlfile in the repo working tree with this PR applied. Result: 23 files, 30 distinct dataflow IDs, 0 failures, covering per-file unmarshalling, proto constraint validation, and the cross-file ID-uniqueness check.The harness links the genuine generated proto package (
integrationscatalog/libs/domain), soDataflowsConfig.Validate()and theprotojsonunmarshal path are the real ones rather than reimplementations;validDataTypesand thealways_on/ string-directionchecks are copied verbatim from the handler. The handler package itself cannot be built outside Bazel on darwin — it transitively pulls the cgocobsclient, whosecobs.handlibcobs_client.soare Bazel-generated and absent from a plaingo build.The harness was negative-tested first and confirmed to reject: a missing
always_on; adata_typeoutsidevalidDataTypes; anidbreaking^[a-z0-9-]+$; anidunder 3 characters; a numeric rather than stringdirection; a file with neitherprovidesnoruses; a.ymlextension; a missingmanifest.json; and the same dataflow ID provided by two apps.This matters because APW does not post validator comments on integrations-extras PRs (
enable_validator_commentsis set only forpub-platform-stagingandpublishing-platform). A malformeddataflows.yamlmerges cleanly here and only fails afterwards, in the shared asset pipeline.No
data_typewas guessed anywhere. Any integration whose correct value was not unambiguous is deferred to a later batch rather than approximated.Contents
Metrics only (4)
concourse_ciconcourse-ci-metricslighthouselighthouse-metricsmendixmendix-metricsvns3vns3-metricsLogs only (1)
sqreensqreen-logsMetrics and logs (2)
auth0auth0-metrics,auth0-logsbind9bind9-metrics,bind9-logsWith events (2)
laceworklacework-logs,lacework-eventsredis_sentinelredis-sentinel-metrics,redis-sentinel-eventsBoth events entries were added in response to Codex review comments on this PR, and
lacework-eventswas set toalways_on: falsein response to review from @alexeypilyugin.laceworkoffers anEvents Summaryoutgoing type that targets the Datadog Events platform (lacework/README.md); the Redis Sentinel check callsself.event(...)on master failover (redis_sentinel.py). The other 7 integrations in this batch each explicitly document that they emit no events, so no further events entries are owed here.🤖 Generated with Claude Code