• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubernetes-sigs / external-dns / 32455136107
82%

Build:
DEFAULT BRANCH: master
Ran 21 Aug 2026 06:40AM UTC
Jobs 2
Files 159
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Aug 2026 06:37AM UTC coverage: 81.84% (-0.007%) from 81.847%
32455136107

push

github

web-flow
fix(webhook)!: bound request and response body sizes (#6484)

* fix(webhook): bound request and response body sizes

Cap webhook JSON bodies at 32 MiB on both sides of the protocol. The
client previously decoded responses without a byte limit, so a
compromised or buggy webhook sidecar could stream an unbounded body and
exhaust controller memory before the client timeout fired. The server
handlers had the same exposure on POST request bodies.

Client decodes now go through io.LimitReader; server handlers use
http.MaxBytesReader and return 413 when the cap is hit. The server also
sets ReadHeaderTimeout and IdleTimeout so they stay bounded when
downstream providers configure a high ReadTimeout.

* docs(webhook): document body size limits

* feat(webhook): make max body size configurable

Add --webhook-provider-max-body-size (default 32 MiB) so operators with
large zones can raise the request/response body cap introduced in this
PR, or set it to 0 to disable. The value is threaded through both the
webhook client decodes and the StartHTTPApi server handlers.

Note: StartHTTPApi gains a maxBodySize parameter, a signature change for
out-of-tree providers that use it as a library.

* fix(webhook): clearer over-limit error and 500 return

Client response decodes now fail with a distinct errResponseTooLarge
instead of io.LimitReader's silent EOF, so an over-limit body is
distinguishable from a malformed or truncated one.

AdjustEndpointsHandler now returns after writing 500, dropping the
superfluous WriteHeader and empty body on the provider-error path.

* feat(webhook): configurable server header and idle timeouts

Add --webhook-provider-read-header-timeout (5s) and
--webhook-provider-idle-timeout (30s), replacing the hardcoded values on
the webhook server. Both are separate knobs from the read timeout, which
an operator may raise for slow or large request bodies.

* refactor(webhook): order private method and add body-limit boundary test

Move WebhookServer.l... (continued)

17612 of 21520 relevant lines covered (81.84%)

1450.09 hits per line

Coverage Regressions

Lines Coverage ∆ File
34
62.42
-3.35% execute.go
22
89.14
0.03% webhook/webhook.go
11
88.68
2.16% webhook/api/httpapi.go
Jobs
ID Job ID Ran Files Coverage
1 run-macos-latest - 32455136107.1 21 Aug 2026 06:41AM UTC 159
81.84
GitHub Action Run
2 run-ubuntu-latest - 32455136107.2 21 Aug 2026 06:40AM UTC 159
81.84
GitHub Action Run
Source Files on build 32455136107
  • Tree
  • List 159
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32455136107
  • b5c039c2 on github
  • Prev Build on master (#32453647982)
  • Next Build on master (#32455816121)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc