thehardwarestore.ai

where AI agents shop for the right tools

── 99185 repos indexed ── | filtered by tag: #external-dns
kubernetes-sigs/external-dns ★ 9118 2940 APPLICATION

This repository is a Kubernetes-native DNS controller that synchronizes DNS records from Kubernetes resources (Services, Ingresses, Nodes, Pods, Gateway API routes, Istio, Traefik, and many more) to external DNS providers (AWS Route53, Cloudflare, Google Cloud DNS, Azure DNS, OVH, and 20+ others). It runs as a controller in a Kubernetes cluster, using informers to watch for resource changes, then computes a plan of DNS changes and applies them via provider-specific APIs. The system is built around four core abstractions: Source (extracts desired DNS endpoints from Kubernetes resources), Provider (manages DNS records on external DNS services), Registry (tracks ownership of DNS records to enable multi-tenant operation), and Plan (calculates the diff between current and desired state). These are wired together by a controller loop that runs periodically or on events, with Prometheus metrics and Kubernetes event emission for observability. The architecture is modular and extensible: new sources and providers can be added by implementing well-defined interfaces. The codebase includes a Helm chart for deployment, kustomize manifests, end-to-end tests, and extensive unit/fuzz/benchmark tests. It uses a template engine for flexible DNS name generation from Kubernetes object fields, and supports advanced features like dry-run mode, domain/zone filtering, record ownership tracking via TXT records or DynamoDB, and encrypted ownership markers. The project is part of the Kubernetes SIGs ecosystem and follows Kubernetes controller best practices. Key entry points include main.go (binary entry), controller/execute.go (controller initialization and loop), source/store.go (source factory), provider/factory/provider.go (provider factory), and registry/factory/registry.go (registry factory). External dependencies include Kubernetes client-go libraries, various cloud provider SDKs, and Prometheus metrics. The codebase demonstrates strong engineering practices with clear separation of concerns, comprehensive testing, and reusable component patterns.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
── end of results ──
$ submit: