Skip to content

Bypass scheme filtering for metric registrar - #728

Merged
chombium merged 2 commits into
cloudfoundry:mainfrom
weili-broadcom:main
Aug 14, 2026
Merged

Bypass scheme filtering for metric registrar#728
chombium merged 2 commits into
cloudfoundry:mainfrom
weili-broadcom:main

Conversation

@weili-broadcom

@weili-broadcom weili-broadcom commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Description

Please include a summary of the change.

Fixes #727

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Testing performed?

  • Unit tests
  • Integration tests
  • Acceptance tests

Checklist:

  • This PR is being made against the main branch, or relevant version branch
  • I have made corresponding changes to the documentation
  • I have added testing for my changes

If you have any questions, or want to get attention for a PR or issue please reach out on the #logging-and-metrics channel in the cloudfoundry slack

chombium and others added 2 commits August 14, 2026 11:43
As the validation is done centrally, all schemes which are used by the downstream consumers of the Syslog Binding Cache have to be defined centrally. At the moment we have the Syslog Agent and the TAS Metric Registrar as consumers. All schemes a part from "secure-endpoint", "metrics-endpoint", "structured-format" belong to the Syslog Agent. If a particular downstream consumer doesn't support some scheme, it should handle the validation itself
c62111f added secure-endpoint/metrics-endpoint/structured-format to
allowedSchemes so non-syslog CUPS bindings (e.g. TAS Metric Registrar's
documented tagging convention) aren't dropped from the shared
/v2/bindings store. However, checkBindings still ran the syslog-drain
network validations (hostname presence, log type filters, DNS
resolution, IP blacklist) on these bindings too, which don't apply
since they're used as opaque discovery tags rather than real drain
endpoints - e.g. "metrics-endpoint:///metrics" has no host at all, and
"structured-format://DogStatsD"'s host segment is not a resolvable
DNS name. Both still got rejected, just with a different error.

Skip those network checks for schemes in the new nonNetworkSchemes
list; credential validation still applies to all schemes.

Adds regression tests reproducing the exact URL shapes from the bug
report (cloudfoundry#727).

@chombium chombium left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the fix @weili-broadcom

@github-project-automation github-project-automation Bot moved this from Inbox to Pending Merge | Prioritized in Application Runtime Platform Working Group Aug 14, 2026
@chombium
chombium merged commit 232492e into cloudfoundry:main Aug 14, 2026
5 checks passed
@github-project-automation github-project-automation Bot moved this from Pending Merge | Prioritized to Done in Application Runtime Platform Working Group Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

Binding-cache scheme validation (introduced in #723) silently drops non-syslog CUPS bindings from /v2/bindings, breaking other consumers

2 participants