osbase/net/dns: add new DNS server
This adds a new DNS server service, which will replace CoreDNS. The
service has built-in handlers for certain names, but all other names
will be handled by runtime configurable handlers.
Change-Id: I4184d11422496e899794ef658ca1450e7bb01471
Reviewed-on: https://review.monogon.dev/c/monogon/+/3126
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/osbase/net/dns/BUILD.bazel b/osbase/net/dns/BUILD.bazel
new file mode 100644
index 0000000..ac0e20e
--- /dev/null
+++ b/osbase/net/dns/BUILD.bazel
@@ -0,0 +1,37 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+ name = "dns",
+ srcs = [
+ "dns.go",
+ "metrics.go",
+ "name.go",
+ "testhelpers.go",
+ ],
+ importpath = "source.monogon.dev/osbase/net/dns",
+ visibility = ["//visibility:public"],
+ deps = [
+ "//osbase/supervisor",
+ "@com_github_miekg_dns//:dns",
+ "@com_github_prometheus_client_golang//prometheus",
+ "@com_github_prometheus_client_golang//prometheus/promauto",
+ ],
+)
+
+exports_files([
+ "resolv.conf",
+ "hosts",
+])
+
+go_test(
+ name = "dns_test",
+ srcs = [
+ "dns_test.go",
+ "name_test.go",
+ ],
+ embed = [":dns"],
+ deps = [
+ "//osbase/net/dns/test",
+ "@com_github_miekg_dns//:dns",
+ ],
+)