Conversation
Mirrors the existing ResolveIPAddr / ResolveCNAME / ResolveNS shape: domain + optional ns_server in the request, repeated strings in the response. NO_SIDE_EFFECTS idempotency. Server-side handler will land in defang-mvp on top of this. CLI client wiring (FabricClient / GrpcClient / MockFabricClient / FabricResolver) will follow in the in-flight #2069 branch once it picks up these regenerated bindings. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughA new DNS TXT record resolution RPC is added to the ChangesResolveTXT RPC Addition
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.12.1)level=warning msg="The linter 'gomodguard' is deprecated (since v2.12.0) due to: new major version. Replaced by gomodguard_v2." Comment |
Description
Adds the
ResolveTXTRPC toFabricController, mirroring the existingResolveIPAddr/ResolveCNAME/ResolveNSshape:domain(required) +ns_server(optional; empty = recursive from root)repeated string txtsidempotency_level = NO_SIDE_EFFECTSThis unblocks two follow-ups:
defang-mvp— same place that handles the existing three Resolve* RPCs (added in defang-mvp#2914). Will land separately once defang-mvp picks up the regenerated bindings via its dependency on this repo.FabricResolverClientandFabricResolver; once this proto change is merged, Use fabric dns client for dns resolves #2069 picks upResolveTXTand adds:FabricClient.ResolveTXT(interface)GrpcClient.ResolveTXT(impl)MockFabricClient.ResolveTXT(test stub)FabricResolverClient.ResolveTXT(subset interface)FabricResolver.LookupTXT(impl)The
pkg/dns.Resolverinterface already gainedLookupTXT(used by Azure cert validation inpkg/cli/client/byoc/azure/cert.go); the fabric resolver impl is the only Resolver still missing it once #2069 lands.Linked issues
Prereq for #2069 and the eventual server-side change in defang-mvp.
🤖 Generated with Claude Code
Summary by CodeRabbit