Repository navigation
Private DNS reserves the instances scope for platform-published names, gains a node-local authority, and keeps its publication state in JetStream.
What's new
- The instances scope is reserved in private zones. Tenants can no longer create records, registrations or zones at
instances.<zone>in a managed zone; only writers listed inadmission.instancePublisherscan publish there. (#338) - Node-local private DNS authority. Each node can answer private DNS from a local authority. (#396, #397)
- Publication records live in JetStream. (#339, #340, #341)
- Private zones compile and publish incrementally. Each zone compiles on its own queue key, regional loops run only on the shard holder, and zone leases release when the control plane exits. (#343, #345, #346, #347, #351)
- Keyed UDP backends and dnsdist tuning for Private DNS. (#383, #395)
- CoreDNS observability and tuning. Transport admission outcomes, UDP kernel drops, receive buffer tuning and opt-in profiling. (#353, #388, #390, #391)
- Fixes. Zone discoveries reconcile when their zone appears, ACK workers no longer race on a shared iterator, and Private DNS load telemetry is corrected. (#384, #348, #350, #352, #389, #392)
- Kubernetes 0.37 libraries and a dependency vulnerability scan. (#337, #358, #381)
Note
No API type or CRD schema changes. Existing resources keep working without any conversion.
Changelog
- 48733d9 Add configurable dnsdist listener count
- 8ea7068 Add explicit CoreDNS UDP receive buffer tuning
- cacc947 Expose CoreDNS transport admission outcomes
- 0c87808 Merge pull request #336 from datum-cloud/renovate/datum-cloud-actions-1.x
- 7f763c0 Merge pull request #337 from datum-cloud/chore/k8s-0.37
- beced22 Merge pull request #338 from datum-cloud/feat/reserve-instances-scope
- b092aaf Merge pull request #339 from datum-cloud/feat/publication-store-jetstream
- 28e094e Merge pull request #340 from datum-cloud/fix/agent-prune-superseded-chunks
- 5c0331b Merge pull request #341 from datum-cloud/fix/bootstrap-snapshot-keys
- f1eb9dc Merge pull request #343 from datum-cloud/docs/internal-dns-incremental-zones
- 97a19e6 Merge pull request #345 from datum-cloud/perf/per-zone-reconcile-main
- 02b7e5d Merge pull request #346 from datum-cloud/fix/release-zone-leases-on-shutdown
- 94673a8 Merge pull request #347 from datum-cloud/perf/region-loop-leadership
- bfd1f3c Merge pull request #348 from datum-cloud/fix/ack-consumer-iterator-race
- cb49de3 Merge pull request #350 from datum-cloud/codex/private-dns-resource-dashboard-dedup
- f07e9e6 Merge pull request #351 from datum-cloud/codex/private-dns-cached-zone-inputs
- 076cbca Merge pull request #352 from datum-cloud/codex/private-dns-query-run-telemetry
- 94302fb Merge pull request #353 from datum-cloud/codex/internal-dns-transport-admission-metrics
- d5d0a09 Merge pull request #356 from datum-cloud/docs/hosted-zone-claims
- e3fc3d1 Merge pull request #358 from datum-cloud/ci/vuln-scan
- 74f4beb Merge pull request #381 from datum-cloud/ci/vuln-scan-v1.23.1
- a5b2fa2 Merge pull request #383 from datum-cloud/codex/private-dns-udp-backend
- dfbb97b Merge pull request #384 from datum-cloud/fix/discovery-zone-watch
- d8325a1 Merge pull request #388 from datum-cloud/codex/coredns-udp-socket-drop-metrics
- bb90e69 Merge pull request #389 from datum-cloud/codex/private-dns-udp-latency-context
- 0f3f54b Merge pull request #391 from datum-cloud/codex/private-dns-opt-in-profiling
- 1730148 Merge pull request #392 from datum-cloud/codex/private-dns-annotation-boundaries
- 92f5a0e Merge pull request #395 from datum-cloud/codex/private-dns-regional-listeners
- 9c17416 Merge pull request #396 from datum-cloud/codex/node-local-private-dns-authority
- 43a7a91 Merge pull request #397 from datum-cloud/codex/node-authority-bootstrap-owner-heads
- c5a9e57 Merge remote-tracking branch 'origin/main' into codex/private-dns-udp-backend
- ff6c636 Publish durable Private DNS query load telemetry
- c0a8103 Revert "perf: Run regional loops on the shard holder only"
- 9b3906d Show offered query rate and dropped generator iterations
- 53529a4 chore(deps): update datum-cloud/actions action to v1.23.1
- aa967fd ci: Adopt the upstream vuln-scan Taskfile tasks
- 2335404 ci: Scan dependencies for known vulnerabilities
- 1321fc5 docs(internaldns): describe keyed UDP transport architecture
- 904fd28 docs(internaldns): separate transport rollback from identity migration
- 4456fe9 docs(internaldns): specify downstream-first UDP rollout
- 28fd1e2 feat(internaldns): support keyed UDP backends with TCP fallback
- 609f44d feat: Keep each region's records on its broker
- b388eea feat: Keep publication records in JetStream
- 6b6bd99 feat: Reserve the instances scope in private zones
- a4c90a5 feat: Switch publication stores on a stopped rollout
- be4bdca feat: add node-local private DNS authority
- f411bd8 feat: add opt-in CoreDNS profiling
- 72db3e0 feat: expose CoreDNS UDP socket drops
- 0bdac28 feat: expose CoreDNS UDP socket drops
- 426411d fix(internaldns): accept documented lowercase backend transport
- 5d501dd fix(observability): bound load annotations to actual query sends
- 238f16b fix: Also release shard leases, and stop quietly
- 4dde830 fix: Bound bootstrap to the current snapshot chunks
- 72cdb11 fix: Close gaps in the instances scope
- 8c5abb2 fix: Drop superseded chunks from the agent checkpoint
- 3ef758d fix: Keep int64 fields exact in the store
- d654c51 fix: Keep one region's broker off the others
- abe50e3 fix: Keep regions independent in the store
- 0de4c98 fix: Keep the region lease in the region's store
- e3b68f0 fix: Keep the replaced head's chunks until the next move
- 5cb3f5b fix: Leave the scope open until publishers are set
- 7154f83 fix: List bindings directly for zone fingerprints
- db7e387 fix: Make the publication store safe to switch
- f575b76 fix: Name the refused writer in scope denials
- 746b7ad fix: Read each region's snapshot through its view
- 3fb865e fix: Reconcile zone discoveries when their zone appears
- 9a2796a fix: Release zone leases when the control plane exits
- f92163c fix: Republish unchanged zones after takeover
- 269a6a9 fix: Requeue deleted zones and lighten the fingerprint
- ab4aa71 fix: Stop ACK workers racing on a shared iterator
- b45454a fix: clarify UDP latency dashboard estimates
- 2cbdffd fix: count publication proof failures
- 534d9ce fix: deduplicate private DNS resource dashboard samples
- 37cdb31 fix: fail closed on stale node authority
- 045dbf0 fix: gate node authority on validated bootstrap
- 3a75562 fix: preserve cluster identity in resource deduplication
- 6e09d77 fix: preserve default dnsdist topology hashes
- 65ba6ed fix: select newest bootstrap snapshot
- 451e59f perf: Cache Private DNS zone inputs
- a7735c0 perf: Compile each zone on its own queue key
- e219662 perf: Elect one process per region for regional loops
- 5ccef3f perf: Keep one compile per zone and bound them
- f70c47a perf: Queue a zone only when its project inputs change
- 5de1a74 perf: Run regional loops on the shard holder only
- e7b3d8c style: Attach comment to per-zone setting
- 9fab250 style: Fix lint findings in the publication store
- a8c8c0b style: Ignore fingerprint hash write errors explicitly
- 4df9924 style: Name the duplicate consumer reason