openshift/coredns

CoreDNS is a DNS server that chains plugins

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 40 minutes ago
Added to GitGenius on October 24th, 2023
Created on June 12th, 2018
Open Issues & Pull Requests: 14 (+0)
Number of forks: 45
Total Stargazers: 6 (+0)
Total Subscribers: 8 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 40.6 hours
Mean response time: 14.6 days
90th percentile: 27.6 days
Tracked items: 2

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 88 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • tide/merge-blocker (10)
  • lifecycle/rotten (2)
  • lifecycle/stale (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

The openshift/coredns repository is an OpenShift-specific fork of CoreDNS, a DNS server and forwarder written in Go that uses a plugin-based architecture. CoreDNS is a Cloud Native Computing Foundation graduated project designed to provide flexible DNS functionality through chainable plugins, where each plugin performs specific DNS operations. The primary purpose of this repository is to maintain CoreDNS integration and customization for OpenShift environments, particularly for Kubernetes-based service discovery and container orchestration.

CoreDNS supports multiple DNS transport protocols including traditional UDP/TCP, DNS over TLS (DoT) per RFC 7858, DNS over HTTP/2 (DoH) per RFC 8484, DNS over QUIC (DoQ) per RFC 9250, and gRPC. This multi-protocol support makes it suitable for modern cloud-native deployments with varying security and performance requirements. The server can be configured through a Corefile configuration file that supports environment variable substitution and file imports using glob patterns.

The repository demonstrates significant functionality across DNS operations. It can serve zone data from files with DNSSEC support, act as a secondary server through AXFR zone transfers, perform on-the-fly DNSSEC signing, implement response load balancing, and function as a primary server with zone transfer capabilities. CoreDNS can automatically load zone files from disk, cache DNS responses, use etcd as a backend for distributed configurations, and integrate with Kubernetes as a backend for service discovery. It also supports proxying queries to other nameservers, providing Prometheus metrics, query and error logging, cloud provider integration such as Route53, and DNS query rewriting capabilities.

The repository is classified across multiple domains including container orchestration, Kubernetes integration, service discovery, plugin architecture, name resolution, software-defined networking plugins, networking, cloud-native technologies, network automation, high availability, load balancing, DNS proxying, and configuration management. These classifications reflect CoreDNS's role as a foundational networking component in containerized and Kubernetes environments.

Compilation is straightforward, requiring Go 1.24.0 or higher and supporting both direct compilation via make and Docker-based builds. The project includes a deprecation policy that spans three releases to maintain backward compatibility during breaking changes, demonstrating commitment to stable upgrades.