summaryrefslogtreecommitdiffstats
path: root/net/coredns/Config.in
blob: 9421f01913592829d8308775f30b807946e11f26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
if PACKAGE_coredns

comment "Transport & Security"

config COREDNS_PLUGIN_TLS
	bool "TLS plugin"
	default y
	help
	  Enable TLS (DNS-over-TLS) listener support.

config COREDNS_PLUGIN_QUIC
	bool "QUIC plugin (DNS-over-QUIC)"
	default n
	help
	  Enable DNS-over-QUIC (DoQ) listener support. Requires TLS certificates.

config COREDNS_PLUGIN_GRPC
	bool "gRPC plugin"
	default n
	help
	  Forward or receive DNS messages over gRPC.

config COREDNS_PLUGIN_PROXYPROTO
	bool "Proxy Protocol plugin"
	default n
	help
	  Add PROXY protocol (v1/v2) support to preserve original client IPs
	  when CoreDNS sits behind a load balancer or reverse proxy.

comment "Service Discovery Backends"

config COREDNS_PLUGIN_KUBERNETES
	bool "Kubernetes plugin"
	default n
	help
	  Serve DNS records for Kubernetes services and pods.
	  Only useful when running inside a Kubernetes cluster.

config COREDNS_PLUGIN_K8S_EXTERNAL
	bool "k8s_external plugin"
	default n
	help
	  Serve DNS records for external-facing Kubernetes services
	  (e.g. LoadBalancer / ExternalName).

config COREDNS_PLUGIN_ETCD
	bool "Etcd plugin"
	default n
	help
	  Serve DNS records from an etcd v3 datastore (SkyDNS-compatible).

config COREDNS_PLUGIN_NOMAD
	bool "Nomad plugin"
	default n
	help
	  Serve DNS records from HashiCorp Nomad service registrations.

comment "Cloud DNS Backends"

config COREDNS_PLUGIN_ROUTE53
	bool "Route53 plugin (AWS)"
	default n
	help
	  Serve DNS records from AWS Route 53 hosted zones.
	  Adds significant binary size due to AWS SDK.

config COREDNS_PLUGIN_AZURE
	bool "Azure DNS plugin"
	default n
	help
	  Serve DNS records from Azure DNS hosted zones.
	  Adds significant binary size due to Azure SDK.

config COREDNS_PLUGIN_CLOUDDNS
	bool "Cloud DNS plugin (GCP)"
	default n
	help
	  Serve DNS records from Google Cloud DNS managed zones.
	  Adds significant binary size due to GCP SDK.

comment "Extra Built-in Plugins"

config COREDNS_PLUGIN_GEOIP
	bool "GeoIP plugin"
	default n
	help
	  Add GeoIP-based metadata to requests (requires MaxMind database).

config COREDNS_PLUGIN_ON
	bool "On-event plugin"
	default n
	help
	  Execute a command on server start/shutdown events.

comment "Third-party Plugins"

config COREDNS_PLUGIN_WGSD
	bool "WireGuard Service Discovery plugin"
	default y if PACKAGE_wgsd-coredns
	select COREDNS_REQUIRE_GO_GET
	help
	  wgsd serves WireGuard peer information via DNS-SD (RFC 6763)
	  semantics. Use cases include:
	   - Building a mesh of WireGuard peers from a central registry
	   - Dynamic discovery of WireGuard endpoint addressing
	   - NAT-to-NAT connectivity where UDP hole punching is supported

config COREDNS_PLUGIN_NETBOX
	bool "Netbox plugin"
	default n
	select COREDNS_REQUIRE_GO_GET
	help
	  Serve DNS records from a NetBox IPAM/DCIM instance.

config COREDNS_PLUGIN_FANOUT
	bool "Fanout plugin"
	default n
	select COREDNS_REQUIRE_GO_GET
	help
	  Forward DNS queries to multiple upstreams simultaneously and return
	  the first successful response (race / fan-out strategy).

config COREDNS_PLUGIN_FINALIZE
	bool "Finalize plugin"
	default n
	select COREDNS_REQUIRE_GO_GET
	help
	  Ensure all CNAME chains in responses are fully resolved before
	  sending the answer to the client.

config COREDNS_REQUIRE_GO_GET
	bool
	default n
	help
	  Custom / third-party plugins require 'go get ./...' during build
	  to pull their module dependencies.

endif