Skip to content

[pull] master from DataDog:master#623

Merged
pull[bot] merged 5 commits into
ConnectionMaster:masterfrom
DataDog:master
Jun 25, 2026
Merged

[pull] master from DataDog:master#623
pull[bot] merged 5 commits into
ConnectionMaster:masterfrom
DataDog:master

Conversation

@pull

@pull pull Bot commented Jun 25, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

vitkyrka and others added 5 commits June 25, 2026 16:20
…3963)

* Add configuration discovery infrastructure to datadog_checks_base.

Extends AgentCheck with discover_config / generate_configs class methods
for auto-detecting working configurations from service metadata. Adds
Discovery, Service, and Port data types to datadog_checks.base.utils.discovery,
a probe module (_suppress_discovery_side_effects, _try_discovery_candidate,
run_discovery) that trial-runs candidates in isolation, and a _package_name
helper in base.py to eliminate repeated module-string parsing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* walrus

* comment

* Use pydantic BaseModel for Port and Service

Simplifies _parse_service_json: the Agent always sends well-typed JSON
(int number, string name), so manual field extraction and to_native_string
coercion are unnecessary — model_validate handles all of it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* validate

* Remove from_ports from base; add discovery_strategy decorator

Move from_ports strategy logic to the dev-side codegen registry (Phase 2).
Base retains only the runtime primitives: Service, Port, candidate_ports,
and the probing harness. Add the discovery_strategy decorator for custom
(local:) strategies that run arbitrary integration code at Agent runtime.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* datadog_checks_base: match changelog text to phase 1 spec

Use the wording prescribed by the phase 1 plan: the Phase 1 changelog
describes the discovery runtime (Service/Port types, candidate_ports,
probing harness, discovery entry points), not the codegen/validation
tooling, which belongs to Phase 2.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Fix test mock to patch import_module where it is called

The test patched datadog_checks.base.checks.base.importlib.import_module,
but generate_configs() delegates to the probe module, which calls
probe.importlib.import_module. Patch that path instead so the mock is
actually exercised.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Remove __discovery_provides__ attribute and dead-code tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add per_user services filter criterion to windows_service

Add a per_user (true/false) match criterion to the services filter,
mirroring trigger_start, to select services by whether they are Windows
per-user service instances. Configure per_user: false to exclude per-user
services from collection. Warn when grouping is enabled alongside a
per_user: false filter, since excluded services cannot be grouped.

* Add changelog entry

* Reuse ServiceAssertion in per_user tests

Use the existing ServiceAssertion / assert_service_check_and_metrics
helpers in the per_user tests for consistency with the rest of the suite;
this also asserts the uptime/state/restarts metrics, not just the service
check.

* Read service_type from ServiceView instead of a match() parameter

Pass the enumeration's ServiceType into ServiceView and have ServiceFilter.match
read service_view.service_type, consistent with how it reads the other service
properties, rather than threading service_type through match() as an argument.

* Make ServiceView.service_type lazy with config fallback

Read service_type from the service config when it was not provided to the
constructor, caching like the other ServiceView properties, and include it
in __str__.
* catch ProcessLookupError

* add changelog
…tk.resource.info, and update the Flux CD overview dashboard (#24053)

* Add fluxcd.gotk.resource.info

* Update dashboard to use resource.info (Flux 2.1+) while keeping legacy reconcile.condition / suspend.status panels

* Reference metrics are deprecated in metadata.csv

* Remove addition to README

* Add changelog

* Correct dashboard titles and update changelog name

* Fix language mentioning deprecration

* Update fluxcd.json based on feedback

Co-authored-by: DeForest Richards <56796055+drichards-87@users.noreply.github.com>

* update changelog

* Add config kube_state_metrics_endpoint to collect kube-state-metrics

* Add code path for KSM metrics

* Add test for KSM metrics

* Fix lint issue

* Fix dashboard titles

* Update changelog to include kube_state_metrics_endpoint config option

* Fix queries to use lowercase values

* Fix dashboard note and widget titles

---------

Co-authored-by: DeForest Richards <56796055+drichards-87@users.noreply.github.com>
* port to master

* remove changelog
@pull pull Bot locked and limited conversation to collaborators Jun 25, 2026
@pull pull Bot added the ⤵️ pull label Jun 25, 2026
@pull pull Bot merged commit 554e8cb into ConnectionMaster:master Jun 25, 2026
8 of 11 checks passed
@pull pull Bot had a problem deploying to typo-squatting-release June 26, 2026 06:54 Failure
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants