treewide: add license header and enable haslicense linter

Change-Id: I873a8d4082d75e8f813d8a726a41187eea7a065e
Reviewed-on: https://review.monogon.dev/c/monogon/+/3825
Tested-by: Jenkins CI
Reviewed-by: Leopold Schabel <leo@monogon.tech>
diff --git a/osbase/net/dns/dns.go b/osbase/net/dns/dns.go
index 3207622..f7094b9 100644
--- a/osbase/net/dns/dns.go
+++ b/osbase/net/dns/dns.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package dns provides a DNS server for resolving services against.
 package dns
 
diff --git a/osbase/net/dns/dns_test.go b/osbase/net/dns/dns_test.go
index 7dd670c..5b61b36 100644
--- a/osbase/net/dns/dns_test.go
+++ b/osbase/net/dns/dns_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dns/forward/cache.go b/osbase/net/dns/forward/cache.go
index d2422a9..55697ca 100644
--- a/osbase/net/dns/forward/cache.go
+++ b/osbase/net/dns/forward/cache.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package forward
 
 import (
diff --git a/osbase/net/dns/forward/cache/cache.go b/osbase/net/dns/forward/cache/cache.go
index 8c151a6..114939b 100644
--- a/osbase/net/dns/forward/cache/cache.go
+++ b/osbase/net/dns/forward/cache/cache.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package cache implements a cache. The cache hold 256 shards, each shard
 // holds a cache: a map with a mutex. There is no fancy expunge algorithm, it
 // just randomly evicts elements when it gets full.
diff --git a/osbase/net/dns/forward/cache/cache_test.go b/osbase/net/dns/forward/cache/cache_test.go
index 8a2b80c..5542158 100644
--- a/osbase/net/dns/forward/cache/cache_test.go
+++ b/osbase/net/dns/forward/cache/cache_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package cache
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/cache/shard_test.go b/osbase/net/dns/forward/cache/shard_test.go
index 452f8cc..f8e3153 100644
--- a/osbase/net/dns/forward/cache/shard_test.go
+++ b/osbase/net/dns/forward/cache/shard_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package cache
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/forward.go b/osbase/net/dns/forward/forward.go
index 00271ec..c4222c9 100644
--- a/osbase/net/dns/forward/forward.go
+++ b/osbase/net/dns/forward/forward.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package forward implements a forwarding proxy.
 //
 // A cache is used to reduce load on the upstream servers. Cached items are only
diff --git a/osbase/net/dns/forward/forward_test.go b/osbase/net/dns/forward/forward_test.go
index f850591..ddab957 100644
--- a/osbase/net/dns/forward/forward_test.go
+++ b/osbase/net/dns/forward/forward_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package forward
 
 import (
diff --git a/osbase/net/dns/forward/metrics.go b/osbase/net/dns/forward/metrics.go
index 4977b02..78753d1 100644
--- a/osbase/net/dns/forward/metrics.go
+++ b/osbase/net/dns/forward/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package forward
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/connect.go b/osbase/net/dns/forward/proxy/connect.go
index d1c5b8e..a11e8e6 100644
--- a/osbase/net/dns/forward/proxy/connect.go
+++ b/osbase/net/dns/forward/proxy/connect.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package proxy implements a forwarding proxy. It caches an upstream net.Conn
 // for some time, so if the same client returns the upstream's Conn will be
 // precached. Depending on how you benchmark this looks to be 50% faster than
diff --git a/osbase/net/dns/forward/proxy/health.go b/osbase/net/dns/forward/proxy/health.go
index 4630cdc..29fe848 100644
--- a/osbase/net/dns/forward/proxy/health.go
+++ b/osbase/net/dns/forward/proxy/health.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/health_test.go b/osbase/net/dns/forward/proxy/health_test.go
index ef8b60a..d7b3280 100644
--- a/osbase/net/dns/forward/proxy/health_test.go
+++ b/osbase/net/dns/forward/proxy/health_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/metrics.go b/osbase/net/dns/forward/proxy/metrics.go
index c08f1d8..625ab99 100644
--- a/osbase/net/dns/forward/proxy/metrics.go
+++ b/osbase/net/dns/forward/proxy/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/persistent.go b/osbase/net/dns/forward/proxy/persistent.go
index cb4f618..83fea11 100644
--- a/osbase/net/dns/forward/proxy/persistent.go
+++ b/osbase/net/dns/forward/proxy/persistent.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/persistent_test.go b/osbase/net/dns/forward/proxy/persistent_test.go
index 2856c3f..b54c0dd 100644
--- a/osbase/net/dns/forward/proxy/persistent_test.go
+++ b/osbase/net/dns/forward/proxy/persistent_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/proxy.go b/osbase/net/dns/forward/proxy/proxy.go
index dc25a31..a1da587 100644
--- a/osbase/net/dns/forward/proxy/proxy.go
+++ b/osbase/net/dns/forward/proxy/proxy.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/proxy_test.go b/osbase/net/dns/forward/proxy/proxy_test.go
index a9297da..4d120a6 100644
--- a/osbase/net/dns/forward/proxy/proxy_test.go
+++ b/osbase/net/dns/forward/proxy/proxy_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/type.go b/osbase/net/dns/forward/proxy/type.go
index 6eb78ce..65821cc 100644
--- a/osbase/net/dns/forward/proxy/type.go
+++ b/osbase/net/dns/forward/proxy/type.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/up/up.go b/osbase/net/dns/forward/up/up.go
index 9806319..3b208d9 100644
--- a/osbase/net/dns/forward/up/up.go
+++ b/osbase/net/dns/forward/up/up.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package up is used to run a function for some duration. If a new function is
 // added while a previous run is still ongoing, nothing new will be executed.
 package up
diff --git a/osbase/net/dns/forward/up/up_test.go b/osbase/net/dns/forward/up/up_test.go
index 0d0f928..acf3b96 100644
--- a/osbase/net/dns/forward/up/up_test.go
+++ b/osbase/net/dns/forward/up/up_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package up
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/controller.go b/osbase/net/dns/kubernetes/controller.go
index 61a33fc..dd19f24 100644
--- a/osbase/net/dns/kubernetes/controller.go
+++ b/osbase/net/dns/kubernetes/controller.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/handler.go b/osbase/net/dns/kubernetes/handler.go
index e6adf84..000ea1f 100644
--- a/osbase/net/dns/kubernetes/handler.go
+++ b/osbase/net/dns/kubernetes/handler.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/osbase/net/dns/kubernetes/handler_test.go b/osbase/net/dns/kubernetes/handler_test.go
index 76bd32d..9b628fd 100644
--- a/osbase/net/dns/kubernetes/handler_test.go
+++ b/osbase/net/dns/kubernetes/handler_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/osbase/net/dns/kubernetes/kubernetes.go b/osbase/net/dns/kubernetes/kubernetes.go
index efcb60e..b69d132 100644
--- a/osbase/net/dns/kubernetes/kubernetes.go
+++ b/osbase/net/dns/kubernetes/kubernetes.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package kubernetes provides the kubernetes backend.
 package kubernetes
 
diff --git a/osbase/net/dns/kubernetes/metrics.go b/osbase/net/dns/kubernetes/metrics.go
index 83deeee..4d90671 100644
--- a/osbase/net/dns/kubernetes/metrics.go
+++ b/osbase/net/dns/kubernetes/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/endpoint.go b/osbase/net/dns/kubernetes/object/endpoint.go
index a675ad2..55ce53f 100644
--- a/osbase/net/dns/kubernetes/object/endpoint.go
+++ b/osbase/net/dns/kubernetes/object/endpoint.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/informer.go b/osbase/net/dns/kubernetes/object/informer.go
index dee2da0..c5158dd 100644
--- a/osbase/net/dns/kubernetes/object/informer.go
+++ b/osbase/net/dns/kubernetes/object/informer.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/informer_test.go b/osbase/net/dns/kubernetes/object/informer_test.go
index 68face5..18c321c 100644
--- a/osbase/net/dns/kubernetes/object/informer_test.go
+++ b/osbase/net/dns/kubernetes/object/informer_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/namespace.go b/osbase/net/dns/kubernetes/object/namespace.go
index f7e7e56..dc78fac 100644
--- a/osbase/net/dns/kubernetes/object/namespace.go
+++ b/osbase/net/dns/kubernetes/object/namespace.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/object.go b/osbase/net/dns/kubernetes/object/object.go
index 05724fc..b9f77d5 100644
--- a/osbase/net/dns/kubernetes/object/object.go
+++ b/osbase/net/dns/kubernetes/object/object.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package object holds functions that convert the objects from the k8s API in
 // to a more memory efficient structures.
 //
diff --git a/osbase/net/dns/kubernetes/object/service.go b/osbase/net/dns/kubernetes/object/service.go
index 5a6ca77..705493e 100644
--- a/osbase/net/dns/kubernetes/object/service.go
+++ b/osbase/net/dns/kubernetes/object/service.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/metrics.go b/osbase/net/dns/metrics.go
index 13d046a..81789dd 100644
--- a/osbase/net/dns/metrics.go
+++ b/osbase/net/dns/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dns/name.go b/osbase/net/dns/name.go
index 9769d7e..0d681cc 100644
--- a/osbase/net/dns/name.go
+++ b/osbase/net/dns/name.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dns/name_test.go b/osbase/net/dns/name_test.go
index fab7bba..5a87d1d 100644
--- a/osbase/net/dns/name_test.go
+++ b/osbase/net/dns/name_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dns/test/server.go b/osbase/net/dns/test/server.go
index a877820..ddc1722 100644
--- a/osbase/net/dns/test/server.go
+++ b/osbase/net/dns/test/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package test
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/test/server_test.go b/osbase/net/dns/test/server_test.go
index ea60845..a96e513 100644
--- a/osbase/net/dns/test/server_test.go
+++ b/osbase/net/dns/test/server_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package test
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/testhelpers.go b/osbase/net/dns/testhelpers.go
index b8943fd..56d3b70 100644
--- a/osbase/net/dns/testhelpers.go
+++ b/osbase/net/dns/testhelpers.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dump/cli/main.go b/osbase/net/dump/cli/main.go
index c2de81a..4ecfef6 100644
--- a/osbase/net/dump/cli/main.go
+++ b/osbase/net/dump/cli/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/osbase/net/dump/hwaddr_compat.go b/osbase/net/dump/hwaddr_compat.go
index 07067bf..7c952a5 100644
--- a/osbase/net/dump/hwaddr_compat.go
+++ b/osbase/net/dump/hwaddr_compat.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package netdump
 
 import (
diff --git a/osbase/net/dump/netdump.go b/osbase/net/dump/netdump.go
index d9586ed..318343e 100644
--- a/osbase/net/dump/netdump.go
+++ b/osbase/net/dump/netdump.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package netdump
 
 import (
diff --git a/osbase/net/proto/gomod-generated-placeholder.go b/osbase/net/proto/gomod-generated-placeholder.go
index 92256db..5805fe0 100644
--- a/osbase/net/proto/gomod-generated-placeholder.go
+++ b/osbase/net/proto/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proto