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 (