CleverCloud/stream-dns
59.6
Adequate · 20 September 2026
2k
lines of production code
Go
primary language
4
measurements over time
What this system is
Stream-DNS is a DNS resolution service that consumes records from Kafka topics and stores them in a local BoltDB database. It provides core DNS query handling with CNAME recursion, alongside an HTTP administrator interface for record management. The system also includes a metrics collection agent that aggregates and batches observations for export to various outputs like StatsD and Warp10.
Features
Added utility functions for domain manipulation and DNS record formatting
New utility functions have been added to support domain and DNS record handling. This includes helpers to detect apex domains and subdomains, extract query names and types from consumer keys, format DNS answers for logging, and manage trailing dots in domain names. A simple integer Min function was also added to complement the standard library.
utils · high confidence
Initial open-source release of Stream-DNS with Kafka-backed DNS resolution
This change introduces the initial open-source release of Stream-DNS, a DNS server that resolves queries by consuming records from Kafka topics and storing them in a local BoltDB database. The release includes the core DNS resolution logic with CNAME recursion support, a Kafka consumer with SASL/SCRAM authentication, and an HTTP administrator service for searching records (protected by JWT authentication). It also adds configuration via environment variables, Docker and Docker Compose support for local development, and comprehensive unit tests for the DNS handler and administrator endpoints.
(repo-wide) · high confidence
Introduce core metrics data model and serialization
This change adds the foundational \metrics\ package, defining the \Metric\ interface and its internal implementation to represent system observations. It supports two metric types, Counter and Gauge, and allows metrics to carry arbitrary tags, timestamps, and values. The implementation includes logic for serializing metrics to strings, ensuring tag uniqueness, and formatting output with UTC timestamps, providing the necessary data structures for downstream aggregation and reporting.
metrics · high confidence
Introduce metrics collection agent with aggregation and batching
The agent package now provides a metrics collection system that aggregates incoming counter and gauge metrics and flushes them to configured outputs in batches. The MetricsService manages aggregators, which buffer values and emit consolidated metrics at a configurable flush interval. The Agent component collects these metrics into a buffer and sends them to outputs either when the buffer reaches a configured size or when a timeout occurs, ensuring efficient batched transmission.
agent · high confidence
New DNS and Kafka utility tools for record management
Added three new command-line utilities in the tools directory: a DNS lookup client (tools/client/client.go) that supports querying multiple questions in a single invocation; a Kafka producer (tools/producer/producer.go) for registering custom DNS records with metadata to a local Kafka node; and a seed script (tools/seed/seed.go) for populating Kafka topics with initial DNS record data using environment variables for configuration.
tools · high confidence
New pluggable metrics output system with StatsD, stdout, and Warp10 support
The application now supports sending metrics to multiple destinations via a new extensible output interface. Users can now export metrics to StatsD (with InfluxDB-style tag support), print them to stdout for development, or send them to Warp10 (configured via the WARP10\_WRITE\_TOKEN environment variable). This change introduces the underlying architecture for these outputs, including the StatsD client integration and the Warp10 client setup, while stdout remains available for debugging.
output · high confidence
Behavioural changes
Renamed systemd service to stream-dns
The systemd unit file has been renamed from kafka-dns to stream-dns, updating the service description, executable path, and environment file reference to align with the new naming convention.
data · high confidence
Dependencies
Initial dependency manifest for stream-dns
The project now includes a go.mod file and a generated go.sum file, establishing the module name as stream-dns and defining its dependencies on Go 1.12. This manifest pins specific versions for key libraries including the Kafka client (Shopify/sarama v1.23.0, segmentio/kafka-go v0.3.3), the DNS resolver (miekg/dns v1.1.15, domainr/dnsr v0.0.0-20191026), and configuration tools (spf13/viper v1.4.0).
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 62 → 60 (-2.7)
- Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 94 → 93 (-0.5)
- Architecture 100 → 98 (-1.8)
- Maturity 65 → 60 (-5.1)
- Readiness 49 → 48 (-1.6)
- Security 71 → 68 (-3.5)
Resolved (7)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (15 lines × 6) (dns.go)
- LLM evaluation failed
- No exposed public API
- Test reliability not included
- dormant codebase — no living knowledge left to concentrate
New (52)
- Critical CVE: [GHSA redacted] (go.sum)
- Critical CVE: [GHSA redacted] (go.sum)
- Dependency pinned to a stale untagged commit: github.com/domainr/dnsr
- Dependency pinned to a stale untagged commit: github.com/miton18/go-warp10
- Dependency pinned to a stale untagged commit: github.com/xdg/scram
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (14 lines × 7) (dns.go)
- FixmeComment (agent/metrics_service_test.go)
- FixmeComment (consumer.go)
- FixmeComment (consumer.go)
- FixmeComment (dns.go)
- FixmeComment (http_administrator.go)
- FixmeComment (main.go)
- High CVE: [GHSA redacted] (go.sum)
- High CVE: [GHSA redacted] (go.mod)
- High CVE: [GHSA redacted] (go.sum)
- High CVE: [GHSA redacted] (go.sum)
- High CVE: [GHSA redacted] (go.mod)
- High IaC: WD-DOCKER-0013 (Dockerfile)
- …and 32 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
CleverCloud/stream-dns was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 9e39addb157f772efa6c4fdb0b46b18b41b28bdf — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.