From 236e99af630377fba4c69f9ac2739e4ae149a110 Mon Sep 17 00:00:00 2001 From: Viktor Liu Date: Wed, 22 Apr 2026 11:13:00 +0200 Subject: [PATCH] Parse mgmt cache TTL env var once via sync.OnceValue --- client/internal/dns/mgmt/mgmt.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/internal/dns/mgmt/mgmt.go b/client/internal/dns/mgmt/mgmt.go index 7dacd4902..cef960366 100644 --- a/client/internal/dns/mgmt/mgmt.go +++ b/client/internal/dns/mgmt/mgmt.go @@ -529,14 +529,14 @@ func (m *Resolver) extractDomainsFromServerDomains(serverDomains dnsconfig.Serve return domains } -func cacheTTL() time.Duration { +var cacheTTL = sync.OnceValue(func() time.Duration { if v := os.Getenv(envMgmtCacheTTL); v != "" { if d, err := time.ParseDuration(v); err == nil && d > 0 { return d } } return defaultTTL -} +}) // lookupViaChain resolves via the handler chain and rewrites each RR to use // dnsName as owner and cacheTTL() as TTL, so CNAME-backed domains don't cache