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/cloud/agent/agent.go b/cloud/agent/agent.go
index e0bfd81..c5873eb 100644
--- a/cloud/agent/agent.go
+++ b/cloud/agent/agent.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/agent/api/gomod-generated-placeholder.go b/cloud/agent/api/gomod-generated-placeholder.go
index 778f64e..da08b30 100644
--- a/cloud/agent/api/gomod-generated-placeholder.go
+++ b/cloud/agent/api/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package api
diff --git a/cloud/agent/e2e/main_test.go b/cloud/agent/e2e/main_test.go
index dcde625..84fd611 100644
--- a/cloud/agent/e2e/main_test.go
+++ b/cloud/agent/e2e/main_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package e2e
import (
diff --git a/cloud/agent/hwreport.go b/cloud/agent/hwreport.go
index c37a640..5be56ae 100644
--- a/cloud/agent/hwreport.go
+++ b/cloud/agent/hwreport.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/agent/hwreport_test.go b/cloud/agent/hwreport_test.go
index b2d8649..43f61fd 100644
--- a/cloud/agent/hwreport_test.go
+++ b/cloud/agent/hwreport_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/agent/install.go b/cloud/agent/install.go
index 30d6869..cdc8fa5 100644
--- a/cloud/agent/install.go
+++ b/cloud/agent/install.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/agent/takeover/e2e/main_test.go b/cloud/agent/takeover/e2e/main_test.go
index b141e63..9ab6769 100644
--- a/cloud/agent/takeover/e2e/main_test.go
+++ b/cloud/agent/takeover/e2e/main_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package e2e
import (
diff --git a/cloud/agent/takeover/takeover.go b/cloud/agent/takeover/takeover.go
index bf7760c..9af4872 100644
--- a/cloud/agent/takeover/takeover.go
+++ b/cloud/agent/takeover/takeover.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// takeover is a self-contained executable which when executed loads the BMaaS
// agent via kexec. It is intended to be called over SSH, given a binary
// TakeoverInit message over standard input and (if all preparation work
diff --git a/cloud/api/gomod-generated-placeholder.go b/cloud/api/gomod-generated-placeholder.go
index 778f64e..da08b30 100644
--- a/cloud/api/gomod-generated-placeholder.go
+++ b/cloud/api/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package api
diff --git a/cloud/apigw/main.go b/cloud/apigw/main.go
index 9c0ebff..4d2ca31 100644
--- a/cloud/apigw/main.go
+++ b/cloud/apigw/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/apigw/model/migrations.go b/cloud/apigw/model/migrations.go
index 2c07768..95b5dcf 100644
--- a/cloud/apigw/model/migrations.go
+++ b/cloud/apigw/model/migrations.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package model
import (
diff --git a/cloud/apigw/server/server.go b/cloud/apigw/server/server.go
index 902b4e0..d075e98 100644
--- a/cloud/apigw/server/server.go
+++ b/cloud/apigw/server/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package server
import (
diff --git a/cloud/apigw/server/server_test.go b/cloud/apigw/server/server_test.go
index 704de36..1455f63 100644
--- a/cloud/apigw/server/server_test.go
+++ b/cloud/apigw/server/server_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package server
import (
diff --git a/cloud/bmaas/bmdb/backoff_test.go b/cloud/bmaas/bmdb/backoff_test.go
index 9d22f2a..19d3f51 100644
--- a/cloud/bmaas/bmdb/backoff_test.go
+++ b/cloud/bmaas/bmdb/backoff_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package bmdb
import (
diff --git a/cloud/bmaas/bmdb/bmdb.go b/cloud/bmaas/bmdb/bmdb.go
index 242c3d9..400aa4a 100644
--- a/cloud/bmaas/bmdb/bmdb.go
+++ b/cloud/bmaas/bmdb/bmdb.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package bmdb implements a connector to the Bare Metal Database, which is the
// main data store backing information about bare metal machines.
//
diff --git a/cloud/bmaas/bmdb/connection.go b/cloud/bmaas/bmdb/connection.go
index a739f9b..8024eb8 100644
--- a/cloud/bmaas/bmdb/connection.go
+++ b/cloud/bmaas/bmdb/connection.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package bmdb
import (
diff --git a/cloud/bmaas/bmdb/metrics/metrics.go b/cloud/bmaas/bmdb/metrics/metrics.go
index 509827b..242ac2d 100644
--- a/cloud/bmaas/bmdb/metrics/metrics.go
+++ b/cloud/bmaas/bmdb/metrics/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package metrics implements a Prometheus metrics submission interface for BMDB
// client components. A Metrics object can be attached to a BMDB object, which
// will make all BMDB sessions/transactions/work statistics be submitted to that
diff --git a/cloud/bmaas/bmdb/migrations_test.go b/cloud/bmaas/bmdb/migrations_test.go
index 1a70655..fe5b75c 100644
--- a/cloud/bmaas/bmdb/migrations_test.go
+++ b/cloud/bmaas/bmdb/migrations_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package bmdb
import (
diff --git a/cloud/bmaas/bmdb/model/interfaces.go b/cloud/bmaas/bmdb/model/interfaces.go
index 9c8f601..1d559d6 100644
--- a/cloud/bmaas/bmdb/model/interfaces.go
+++ b/cloud/bmaas/bmdb/model/interfaces.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package model
import "context"
diff --git a/cloud/bmaas/bmdb/model/migrations.go b/cloud/bmaas/bmdb/model/migrations.go
index 2c07768..95b5dcf 100644
--- a/cloud/bmaas/bmdb/model/migrations.go
+++ b/cloud/bmaas/bmdb/model/migrations.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package model
import (
diff --git a/cloud/bmaas/bmdb/queries_test.go b/cloud/bmaas/bmdb/queries_test.go
index 7ceae89..917033f 100644
--- a/cloud/bmaas/bmdb/queries_test.go
+++ b/cloud/bmaas/bmdb/queries_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package bmdb
import (
diff --git a/cloud/bmaas/bmdb/reflection/reflection.go b/cloud/bmaas/bmdb/reflection/reflection.go
index b9f6d11..0976905 100644
--- a/cloud/bmaas/bmdb/reflection/reflection.go
+++ b/cloud/bmaas/bmdb/reflection/reflection.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package reflection implements facilities to retrieve information about the
// implemented Tags and their types from a plain CockroachDB SQL connection,
// bypassing the queries/types defined in models. Then, the retrieved Schema can
diff --git a/cloud/bmaas/bmdb/reflection/schema.go b/cloud/bmaas/bmdb/reflection/schema.go
index 6c364a9..bceb931 100644
--- a/cloud/bmaas/bmdb/reflection/schema.go
+++ b/cloud/bmaas/bmdb/reflection/schema.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package reflection
import (
diff --git a/cloud/bmaas/bmdb/reflection_test.go b/cloud/bmaas/bmdb/reflection_test.go
index 8f365d8..17abc9d 100644
--- a/cloud/bmaas/bmdb/reflection_test.go
+++ b/cloud/bmaas/bmdb/reflection_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package bmdb
import (
diff --git a/cloud/bmaas/bmdb/sessions.go b/cloud/bmaas/bmdb/sessions.go
index 95b8be5..22ea3fd 100644
--- a/cloud/bmaas/bmdb/sessions.go
+++ b/cloud/bmaas/bmdb/sessions.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package bmdb
import (
diff --git a/cloud/bmaas/bmdb/sessions_test.go b/cloud/bmaas/bmdb/sessions_test.go
index 36fb4a4..8839c17 100644
--- a/cloud/bmaas/bmdb/sessions_test.go
+++ b/cloud/bmaas/bmdb/sessions_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package bmdb
import (
diff --git a/cloud/bmaas/bmdb/webug/functions.go b/cloud/bmaas/bmdb/webug/functions.go
index 4c5c625..3c8f43b 100644
--- a/cloud/bmaas/bmdb/webug/functions.go
+++ b/cloud/bmaas/bmdb/webug/functions.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package webug
import (
diff --git a/cloud/bmaas/bmdb/webug/views.go b/cloud/bmaas/bmdb/webug/views.go
index 7c43054..a0bab7b 100644
--- a/cloud/bmaas/bmdb/webug/views.go
+++ b/cloud/bmaas/bmdb/webug/views.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package webug
import (
diff --git a/cloud/bmaas/bmdb/webug/webug.go b/cloud/bmaas/bmdb/webug/webug.go
index f4d3e4a..137a0fd 100644
--- a/cloud/bmaas/bmdb/webug/webug.go
+++ b/cloud/bmaas/bmdb/webug/webug.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package webug implements a web-based debug/troubleshooting/introspection
// system for the BMDB. It's optimized for use by developers and trained
// operators, prioritizing information density, fast navigation and heavy
diff --git a/cloud/bmaas/scruffy/bmdb_stats.go b/cloud/bmaas/scruffy/bmdb_stats.go
index 338c91a..90b2df2 100644
--- a/cloud/bmaas/scruffy/bmdb_stats.go
+++ b/cloud/bmaas/scruffy/bmdb_stats.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package scruffy
import (
diff --git a/cloud/bmaas/scruffy/bmdb_stats_test.go b/cloud/bmaas/scruffy/bmdb_stats_test.go
index 0d0f199..0e28755 100644
--- a/cloud/bmaas/scruffy/bmdb_stats_test.go
+++ b/cloud/bmaas/scruffy/bmdb_stats_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package scruffy
import (
diff --git a/cloud/bmaas/scruffy/cmd/main.go b/cloud/bmaas/scruffy/cmd/main.go
index b675fda..457c05a 100644
--- a/cloud/bmaas/scruffy/cmd/main.go
+++ b/cloud/bmaas/scruffy/cmd/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/bmaas/scruffy/hw_stats.go b/cloud/bmaas/scruffy/hw_stats.go
index 0aff67b..0006ef2 100644
--- a/cloud/bmaas/scruffy/hw_stats.go
+++ b/cloud/bmaas/scruffy/hw_stats.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package scruffy
import (
diff --git a/cloud/bmaas/scruffy/hw_stats_test.go b/cloud/bmaas/scruffy/hw_stats_test.go
index dbcab2d..7dc8139 100644
--- a/cloud/bmaas/scruffy/hw_stats_test.go
+++ b/cloud/bmaas/scruffy/hw_stats_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package scruffy
import (
diff --git a/cloud/bmaas/scruffy/labels.go b/cloud/bmaas/scruffy/labels.go
index b88f799..c90e43a 100644
--- a/cloud/bmaas/scruffy/labels.go
+++ b/cloud/bmaas/scruffy/labels.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package scruffy
import (
diff --git a/cloud/bmaas/scruffy/server.go b/cloud/bmaas/scruffy/server.go
index 01d22bf..d020a77 100644
--- a/cloud/bmaas/scruffy/server.go
+++ b/cloud/bmaas/scruffy/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package scruffy implements Scruffy, The Janitor.
//
// Scruffy is a BMaaS component which runs a bunch of important, housekeeping-ish
diff --git a/cloud/bmaas/server/agent_callback_service.go b/cloud/bmaas/server/agent_callback_service.go
index 97636f7..cbd912a 100644
--- a/cloud/bmaas/server/agent_callback_service.go
+++ b/cloud/bmaas/server/agent_callback_service.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package server
import (
diff --git a/cloud/bmaas/server/agent_callback_service_test.go b/cloud/bmaas/server/agent_callback_service_test.go
index 4a3a9f4..f5d1383 100644
--- a/cloud/bmaas/server/agent_callback_service_test.go
+++ b/cloud/bmaas/server/agent_callback_service_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package server
import (
diff --git a/cloud/bmaas/server/api/gomod-generated-placeholder.go b/cloud/bmaas/server/api/gomod-generated-placeholder.go
index 778f64e..da08b30 100644
--- a/cloud/bmaas/server/api/gomod-generated-placeholder.go
+++ b/cloud/bmaas/server/api/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package api
diff --git a/cloud/bmaas/server/cmd/main.go b/cloud/bmaas/server/cmd/main.go
index 8dbb7f8..6c14ab3 100644
--- a/cloud/bmaas/server/cmd/main.go
+++ b/cloud/bmaas/server/cmd/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/bmaas/server/server.go b/cloud/bmaas/server/server.go
index 0d188c2..8cedf2b 100644
--- a/cloud/bmaas/server/server.go
+++ b/cloud/bmaas/server/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package server
import (
diff --git a/cloud/equinix/cli/cmd_delete.go b/cloud/equinix/cli/cmd_delete.go
index 97eb26f..5e1d132 100644
--- a/cloud/equinix/cli/cmd_delete.go
+++ b/cloud/equinix/cli/cmd_delete.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/equinix/cli/cmd_list.go b/cloud/equinix/cli/cmd_list.go
index ab6b9cf..917494a 100644
--- a/cloud/equinix/cli/cmd_list.go
+++ b/cloud/equinix/cli/cmd_list.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/equinix/cli/cmd_move.go b/cloud/equinix/cli/cmd_move.go
index ec32071..e835a7e 100644
--- a/cloud/equinix/cli/cmd_move.go
+++ b/cloud/equinix/cli/cmd_move.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/equinix/cli/cmd_reboot.go b/cloud/equinix/cli/cmd_reboot.go
index e788f01..0f7f317 100644
--- a/cloud/equinix/cli/cmd_reboot.go
+++ b/cloud/equinix/cli/cmd_reboot.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/equinix/cli/cmd_yoink.go b/cloud/equinix/cli/cmd_yoink.go
index c351d47..1de5803 100644
--- a/cloud/equinix/cli/cmd_yoink.go
+++ b/cloud/equinix/cli/cmd_yoink.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/equinix/cli/main.go b/cloud/equinix/cli/main.go
index a85c0d0..85de18b 100644
--- a/cloud/equinix/cli/main.go
+++ b/cloud/equinix/cli/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/equinix/wrapngo/duct_tape.go b/cloud/equinix/wrapngo/duct_tape.go
index d5dab7c..21581ce 100644
--- a/cloud/equinix/wrapngo/duct_tape.go
+++ b/cloud/equinix/wrapngo/duct_tape.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package wrapngo
import (
diff --git a/cloud/equinix/wrapngo/metrics.go b/cloud/equinix/wrapngo/metrics.go
index fef506b..f6cabcb 100644
--- a/cloud/equinix/wrapngo/metrics.go
+++ b/cloud/equinix/wrapngo/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package wrapngo
import (
diff --git a/cloud/equinix/wrapngo/wrapn.go b/cloud/equinix/wrapngo/wrapn.go
index 8ee654c..eee0b57 100644
--- a/cloud/equinix/wrapngo/wrapn.go
+++ b/cloud/equinix/wrapngo/wrapn.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package wrapngo wraps packngo methods providing the following usability
// enhancements:
// - API call rate limiting
diff --git a/cloud/equinix/wrapngo/wrapngo_live_test.go b/cloud/equinix/wrapngo/wrapngo_live_test.go
index 166da4b..0ccce37 100644
--- a/cloud/equinix/wrapngo/wrapngo_live_test.go
+++ b/cloud/equinix/wrapngo/wrapngo_live_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package wrapngo
import (
diff --git a/cloud/lib/component/component.go b/cloud/lib/component/component.go
index 1acd961..46fa58a 100644
--- a/cloud/lib/component/component.go
+++ b/cloud/lib/component/component.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package component implements reusable bits for cloud service components. Each
// component is currently defined as being a standalone Go binary with its own
// internal gRPC listener. Subsequent listeners (eg. public gRPC or HTTP) can be
diff --git a/cloud/lib/component/crdb.go b/cloud/lib/component/crdb.go
index 0bdbb4d..07306d1 100644
--- a/cloud/lib/component/crdb.go
+++ b/cloud/lib/component/crdb.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package component
import (
diff --git a/cloud/lib/component/devcerts.go b/cloud/lib/component/devcerts.go
index 2a5f60a..837ad98 100644
--- a/cloud/lib/component/devcerts.go
+++ b/cloud/lib/component/devcerts.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package component
import (
diff --git a/cloud/lib/sinbin/sinbin.go b/cloud/lib/sinbin/sinbin.go
index 7c6bf3c..b1c905b 100644
--- a/cloud/lib/sinbin/sinbin.go
+++ b/cloud/lib/sinbin/sinbin.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package sinbin implements a sinbin for naughty processed elements that we wish
// to time out for a while. This is kept in memory, and effectively implements a
// simplified version of the Circuit Breaker pattern.
diff --git a/cloud/lib/sinbin/sinbin_test.go b/cloud/lib/sinbin/sinbin_test.go
index 7403bb1..715ac94 100644
--- a/cloud/lib/sinbin/sinbin_test.go
+++ b/cloud/lib/sinbin/sinbin_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package sinbin
import (
diff --git a/cloud/shepherd/manager/control_loop.go b/cloud/shepherd/manager/control_loop.go
index 3e5c832..138b6cb 100644
--- a/cloud/shepherd/manager/control_loop.go
+++ b/cloud/shepherd/manager/control_loop.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/fake_ssh_client.go b/cloud/shepherd/manager/fake_ssh_client.go
index cc8c42a..d932210 100644
--- a/cloud/shepherd/manager/fake_ssh_client.go
+++ b/cloud/shepherd/manager/fake_ssh_client.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/initializer.go b/cloud/shepherd/manager/initializer.go
index 1961fe2..f4495e8 100644
--- a/cloud/shepherd/manager/initializer.go
+++ b/cloud/shepherd/manager/initializer.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/initializer_test.go b/cloud/shepherd/manager/initializer_test.go
index 9545b5f..3c95527 100644
--- a/cloud/shepherd/manager/initializer_test.go
+++ b/cloud/shepherd/manager/initializer_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/manager.go b/cloud/shepherd/manager/manager.go
index 3ae7854..ae8115e 100644
--- a/cloud/shepherd/manager/manager.go
+++ b/cloud/shepherd/manager/manager.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// Package manager, itself a part of BMaaS project, provides implementation
// governing Equinix bare metal server lifecycle according to conditions set by
// Bare Metal Database (BMDB).
diff --git a/cloud/shepherd/manager/provider_test.go b/cloud/shepherd/manager/provider_test.go
index 3f6b139..003fd5e 100644
--- a/cloud/shepherd/manager/provider_test.go
+++ b/cloud/shepherd/manager/provider_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/provisioner.go b/cloud/shepherd/manager/provisioner.go
index e777e23..e13c63e 100644
--- a/cloud/shepherd/manager/provisioner.go
+++ b/cloud/shepherd/manager/provisioner.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/provisioner_test.go b/cloud/shepherd/manager/provisioner_test.go
index aea7717..eba178c 100644
--- a/cloud/shepherd/manager/provisioner_test.go
+++ b/cloud/shepherd/manager/provisioner_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/recoverer.go b/cloud/shepherd/manager/recoverer.go
index a94700a..8925f17 100644
--- a/cloud/shepherd/manager/recoverer.go
+++ b/cloud/shepherd/manager/recoverer.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/ssh_key_signer.go b/cloud/shepherd/manager/ssh_key_signer.go
index 7a8d08a..b28b0b5 100644
--- a/cloud/shepherd/manager/ssh_key_signer.go
+++ b/cloud/shepherd/manager/ssh_key_signer.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package manager
import (
diff --git a/cloud/shepherd/manager/test_agent/main.go b/cloud/shepherd/manager/test_agent/main.go
index 8f29c30..98daf1b 100644
--- a/cloud/shepherd/manager/test_agent/main.go
+++ b/cloud/shepherd/manager/test_agent/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
// test_agent is used by the Equinix Metal Manager test code. Its only role
// is to ensure successful delivery of the BMaaS agent executable to the test
// hosts, together with its subsequent execution.
diff --git a/cloud/shepherd/mini/main.go b/cloud/shepherd/mini/main.go
index a5fb799..75a5005 100644
--- a/cloud/shepherd/mini/main.go
+++ b/cloud/shepherd/mini/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/mini/provider.go b/cloud/shepherd/mini/provider.go
index eb6fc08..1ee55c4 100644
--- a/cloud/shepherd/mini/provider.go
+++ b/cloud/shepherd/mini/provider.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/mini/ssh.go b/cloud/shepherd/mini/ssh.go
index bf2e996..dceafc4 100644
--- a/cloud/shepherd/mini/ssh.go
+++ b/cloud/shepherd/mini/ssh.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/fakequinix_test.go b/cloud/shepherd/provider/equinix/fakequinix_test.go
index 62892cc..aa0b234 100644
--- a/cloud/shepherd/provider/equinix/fakequinix_test.go
+++ b/cloud/shepherd/provider/equinix/fakequinix_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/initializer_test.go b/cloud/shepherd/provider/equinix/initializer_test.go
index 767ee29..587b70a 100644
--- a/cloud/shepherd/provider/equinix/initializer_test.go
+++ b/cloud/shepherd/provider/equinix/initializer_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/main.go b/cloud/shepherd/provider/equinix/main.go
index b47c454..1322039 100644
--- a/cloud/shepherd/provider/equinix/main.go
+++ b/cloud/shepherd/provider/equinix/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/provider.go b/cloud/shepherd/provider/equinix/provider.go
index 1752349..16dedf0 100644
--- a/cloud/shepherd/provider/equinix/provider.go
+++ b/cloud/shepherd/provider/equinix/provider.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/provider_config.go b/cloud/shepherd/provider/equinix/provider_config.go
index b54488f..146b010 100644
--- a/cloud/shepherd/provider/equinix/provider_config.go
+++ b/cloud/shepherd/provider/equinix/provider_config.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/provisioner_test.go b/cloud/shepherd/provider/equinix/provisioner_test.go
index b57546a..6a5b0c6 100644
--- a/cloud/shepherd/provider/equinix/provisioner_test.go
+++ b/cloud/shepherd/provider/equinix/provisioner_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/recoverer_test.go b/cloud/shepherd/provider/equinix/recoverer_test.go
index 109c375..6d1447f 100644
--- a/cloud/shepherd/provider/equinix/recoverer_test.go
+++ b/cloud/shepherd/provider/equinix/recoverer_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/updater.go b/cloud/shepherd/provider/equinix/updater.go
index 15b218b..5b6e089 100644
--- a/cloud/shepherd/provider/equinix/updater.go
+++ b/cloud/shepherd/provider/equinix/updater.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/provider/equinix/updater_test.go b/cloud/shepherd/provider/equinix/updater_test.go
index e400690..ed3da7a 100644
--- a/cloud/shepherd/provider/equinix/updater_test.go
+++ b/cloud/shepherd/provider/equinix/updater_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/cloud/shepherd/shepherd.go b/cloud/shepherd/shepherd.go
index 2c2a655..aeaab46 100644
--- a/cloud/shepherd/shepherd.go
+++ b/cloud/shepherd/shepherd.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
package shepherd
import (