Skip to content

chore: bump deps and migrate to aws-sdk-go-v2#88

Merged
lidel merged 9 commits into
mainfrom
chore/bump-direct-deps
May 27, 2026
Merged

chore: bump deps and migrate to aws-sdk-go-v2#88
lidel merged 9 commits into
mainfrom
chore/bump-direct-deps

Conversation

@lidel
Copy link
Copy Markdown
Contributor

@lidel lidel commented May 19, 2026

What was broken

  • aws-sdk-go v1 hit end-of-support in v1.55.8; the optional DynamoDB datastore was still on it.
  • denylist leaked HTTP feed tickers and the fsnotify watcher on every Caddy reload. Cleanup ran on OnFinalShutdown, which fires only on final process exit, not on SIGUSR1 or the reload plugin.
  • certmagic, coredns, and fsnotify were behind on, respectively, OCSP delegated-responder validation hardening, the Go 1.26.2 stdlib CVE sweep, and the inotify sibling-path watch-removal fix that denylist was hitting.

How this PR fixes it

  • Bumps go-ds-dynamodb to v0.3.0 (built on aws-sdk-go-v2); the acme plugin builds the client via dynamodb.NewFromConfig(config.LoadDefaultConfig(...)), mirroring CoreDNS's route53 plugin.
  • Moves denylist cleanup to OnShutdown with the Manager captured in the closure, so each per-stop release acts on the right instance.
  • Bumps certmagic to v0.25.3, coredns to v1.14.3, fsnotify to v1.10.1, and the rest of the direct deps; full list in CHANGELOG.md. Pebble v2.10 forces TCP for ACME DNS lookups, so the e2e harness now plumbs CoreDNS's TCP listener through a dnsServerAddresses helper.

Bumps 15 direct deps. Highlights: certmagic 0.21.6 to 0.25.3 (OCSP
delegated-responder validation hardening), coredns 1.14.2 to 1.14.3 (built
against Go 1.26.2, picking up stdlib CVE fixes), fsnotify 1.9.0 to 1.10.1
(inotify sibling-path watch removal, exercised by the denylist plugin),
acmez/v3 3.0.0 to 3.1.6, pebble/v2 2.7.0 to 2.10.1 (test only), plus
bart, go-datastore, multiaddr, multiaddr-dns, multibase,
slok/go-http-metrics, aws-sdk-go, go-log, prometheus, zap.

Pebble v2.10 forces TCP for ACME challenge DNS lookups and added two
constructor params (keyAlg on ca.New, caaIdentities on wfe.New). The
e2e_test harness now plumbs CoreDNS's TCP listener address alongside
the UDP one through a new dnsServerAddresses helper that asserts the
caddy ServerListener LocalAddr/Addr mapping, so a future swap to
DoH/DoT/DoQ/gRPC fails loudly instead of feeding the wrong address.

aws-sdk-go (v1) is end-of-support as of v1.55.8; flagged with a TODO
in acme/setup.go for migration to aws-sdk-go-v2 once go-ds-dynamodb
exposes a v2 constructor.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

Codecov Report

❌ Patch coverage is 46.15385% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 68.69%. Comparing base (6e88a0e) to head (b34d365).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
acme/setup.go 0.00% 7 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #88      +/-   ##
==========================================
- Coverage   69.11%   68.69%   -0.42%     
==========================================
  Files          21       21              
  Lines        1703     1706       +3     
==========================================
- Hits         1177     1172       -5     
- Misses        407      415       +8     
  Partials      119      119              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread acme/setup.go Outdated
aws-sdk-go (v1) hit end-of-support in v1.55.8. The acme plugin's
DynamoDB datastore now builds the client via
dynamodb.NewFromConfig(config.LoadDefaultConfig(...)) and drops the
v1 session import. Depends on ipfs/go-ds-dynamodb#22; pinned to that
PR's head pending the v0.3.0 release.
@lidel lidel force-pushed the chore/bump-direct-deps branch from 3673273 to 1121353 Compare May 19, 2026 16:53
lidel added 2 commits May 19, 2026 19:12
Cleanup was registered on c.OnFinalShutdown, which Caddy fires only on
final process shutdown, not on a graceful reload. Each SIGUSR1 or
reload-plugin restart spawned a fresh denylist Manager (HTTP feed
tickers + fsnotify watcher) without releasing the previous instance's.

Cleanup now runs on c.OnShutdown (per-stop), with mgr captured in the
closure so the hook acts on this instance's manager regardless of
sharedManager being overwritten by the successor instance's setup.
Copyedit pass on the Unreleased changelog entries, the
dnsServerAddresses godoc in e2e_test.go, and the OnShutdown
closure comment in denylist/plugin.go.
@lidel lidel marked this pull request as ready for review May 19, 2026 17:48
@lidel lidel changed the title chore: bump direct dependencies chore: bump deps and migrate to aws-sdk-go-v2 May 19, 2026
lidel added 4 commits May 27, 2026 15:56
Tracks ipfs/go-ds-dynamodb#22 at 5875687 (v0.3.0 changelog commit) while the PR is still open. Picks up scan/putKey/SetTTL fixes and batch-commit cancel-safety. No p2p-forge API changes; the aws-sdk-go-v2 migration already landed in 1121353.
@lidel lidel mentioned this pull request May 27, 2026
4 tasks
Picks up typo fixes from @pranavkonde (#66, README) and @sujalsalekar (#67, client/acme.go godoc and inline comments). PR 66's docs/METRICS.md change no longer applies; that line was rewritten upstream.
@lidel lidel enabled auto-merge (squash) May 27, 2026 14:19
@lidel lidel merged commit ac2bf46 into main May 27, 2026
4 of 6 checks passed
@lidel lidel deleted the chore/bump-direct-deps branch May 27, 2026 14:21
@lidel lidel mentioned this pull request May 27, 2026
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.

1 participant