diff --git a/.travis.yml b/.travis.yml
index ae0bc41492..15d9baf8a5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,7 @@ install:
script:
- set -e
- make
+ - make verify-copyright
# https://github.com/shipwright-io/build/issues/123
- make test-unit-coverage
- make test-e2e TEST_IMAGE_REPO="$(./hack/install-registry.sh show):5000/shipwright-io/build-e2e"
diff --git a/Dockerfile b/Dockerfile
index 0f7cff92ea..d9559a77d2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,3 +1,7 @@
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
FROM openshift/origin-release:golang-1.13 AS builder
ENV LANG=en_US.utf8
diff --git a/HACK.md b/HACK.md
index 90adbd6b90..e453fc8599 100644
--- a/HACK.md
+++ b/HACK.md
@@ -1,3 +1,9 @@
+
+
# Running the Operator
diff --git a/Makefile b/Makefile
index 5c6ae0165e..9662688f25 100644
--- a/Makefile
+++ b/Makefile
@@ -96,6 +96,16 @@ push-image:
release:
hack/release.sh
+.PHONY: gen-copyright
+gen-copyright:
+ hack/generate-copyright.sh
+
+.PHONY: verify-copyright
+verify-copyright: gen-copyright
+ # TODO: Fix travis issue with ginkgo install updating go.mod and go.sum
+ # TODO: Verify vendor tree is accurate
+ git diff --quiet -- ':(exclude)go.mod' ':(exclude)go.sum' ':(exclude)vendor/*'
+
install-ginkgo:
go get -u github.com/onsi/ginkgo/ginkgo
go get -u github.com/onsi/gomega/...
diff --git a/README.md b/README.md
index 41091f5215..34f5e41b43 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,9 @@
+
+
diff --git a/build/Dockerfile b/build/Dockerfile
index 12bc63ba12..a405ef5987 100644
--- a/build/Dockerfile
+++ b/build/Dockerfile
@@ -1,3 +1,7 @@
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
FROM registry.access.redhat.com/ubi8/ubi-minimal:latest
ENV OPERATOR=/usr/local/bin/build-operator \
diff --git a/build/bin/entrypoint b/build/bin/entrypoint
index 9685fdd404..9e36bb5abe 100755
--- a/build/bin/entrypoint
+++ b/build/bin/entrypoint
@@ -1,5 +1,10 @@
#!/bin/sh -e
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
+
# This is documented here:
# https://docs.openshift.com/container-platform/3.11/creating_images/guidelines.html#openshift-specific-guidelines
diff --git a/build/bin/user_setup b/build/bin/user_setup
index 1e36064cbf..ac4220894f 100755
--- a/build/bin/user_setup
+++ b/build/bin/user_setup
@@ -1,4 +1,9 @@
#!/bin/sh
+
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
set -x
# ensure $HOME exists and is accessible by group 0 (we don't know what the runtime UID will be)
diff --git a/cmd/manager/main.go b/cmd/manager/main.go
index 607472d262..9a9c7c5714 100644
--- a/cmd/manager/main.go
+++ b/cmd/manager/main.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package main
import (
diff --git a/docs/README.md b/docs/README.md
index 76ed32cb18..e90b680fc5 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,3 +1,9 @@
+
+
# Build Controllers
Build or codenamed **build-v2** is an API open-source implementation that build container-images on Kubernetes from a _dockerfile-based_ or a _source-based_ approach.
diff --git a/docs/build.md b/docs/build.md
index ab0f4d849f..167c1d3d72 100644
--- a/docs/build.md
+++ b/docs/build.md
@@ -1,3 +1,9 @@
+
+
# Build
- [Overview](#overview)
diff --git a/docs/buildrun.md b/docs/buildrun.md
index 189c814a92..f37d0f569b 100644
--- a/docs/buildrun.md
+++ b/docs/buildrun.md
@@ -1,3 +1,9 @@
+
+
# BuildRun
- [Overview](#overview)
diff --git a/docs/buildstrategies.md b/docs/buildstrategies.md
index ae20f05792..78587da2da 100644
--- a/docs/buildstrategies.md
+++ b/docs/buildstrategies.md
@@ -1,3 +1,9 @@
+
+
# BuildStrategies
- [Overview](#overview)
diff --git a/docs/development/deploying.md b/docs/development/deploying.md
index 51cc12eb56..389ebb6312 100644
--- a/docs/development/deploying.md
+++ b/docs/development/deploying.md
@@ -1,3 +1,9 @@
+
+
# Deploying the operator pod
The following set of steps highlight how to deploy a Build operator pod into an existing Kubernetes cluster.
diff --git a/docs/metrics.md b/docs/metrics.md
index 5b5ccde9bd..d24a85d399 100644
--- a/docs/metrics.md
+++ b/docs/metrics.md
@@ -1,3 +1,9 @@
+
+
# Build Controller Metrics
The Build component exposes several metrics to help you monitor the health and behavior of your build resources.
diff --git a/docs/proposals/README.md b/docs/proposals/README.md
index 5ab2644d5d..8837a955e3 100644
--- a/docs/proposals/README.md
+++ b/docs/proposals/README.md
@@ -1,3 +1,9 @@
+
+
# Enhancement Proposals
An Enhancement Proposal is a way to propose, communicate, and coordinate on new efforts for the `build` project.
diff --git a/docs/proposals/build-execution-using-build-run.md b/docs/proposals/build-execution-using-build-run.md
index 790c25e1fa..bce1d9e6e7 100644
--- a/docs/proposals/build-execution-using-build-run.md
+++ b/docs/proposals/build-execution-using-build-run.md
@@ -1,3 +1,9 @@
+
+
---
title: build-execution-using-build-run
authors:
diff --git a/docs/proposals/buildstrategy-steps-resources.md b/docs/proposals/buildstrategy-steps-resources.md
index 583b063b4d..bd9b2c5ea2 100644
--- a/docs/proposals/buildstrategy-steps-resources.md
+++ b/docs/proposals/buildstrategy-steps-resources.md
@@ -1,3 +1,9 @@
+
+
---
title: Build Strategies steps resource limitations
authors:
diff --git a/docs/proposals/buildstrategy.md b/docs/proposals/buildstrategy.md
index 57af79f39e..55b85b045e 100644
--- a/docs/proposals/buildstrategy.md
+++ b/docs/proposals/buildstrategy.md
@@ -1,3 +1,9 @@
+
+
---
title: buildstrategy
authors:
diff --git a/docs/proposals/guidelines/proposal-template.md b/docs/proposals/guidelines/proposal-template.md
index f8e31ccc17..c40d25e9a3 100644
--- a/docs/proposals/guidelines/proposal-template.md
+++ b/docs/proposals/guidelines/proposal-template.md
@@ -1,3 +1,9 @@
+
+
---
title: neat-enhancement-idea
authors:
diff --git a/docs/proposals/local-registry-image-specs.md b/docs/proposals/local-registry-image-specs.md
index 951ad3c245..43195d3119 100644
--- a/docs/proposals/local-registry-image-specs.md
+++ b/docs/proposals/local-registry-image-specs.md
@@ -1,3 +1,9 @@
+
+
---
title: local-registries
authors:
diff --git a/docs/proposals/runtime-image.md b/docs/proposals/runtime-image.md
index feb0af96de..484d3c398e 100644
--- a/docs/proposals/runtime-image.md
+++ b/docs/proposals/runtime-image.md
@@ -1,3 +1,9 @@
+
+
---
title: runtime-image-support
authors:
diff --git a/hack/build-logs.sh b/hack/build-logs.sh
index 008652fe4a..bebc4846ab 100755
--- a/hack/build-logs.sh
+++ b/hack/build-logs.sh
@@ -1,5 +1,10 @@
#!/bin/bash
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
+
set -euo pipefail
# Read the build run name
diff --git a/hack/crd.sh b/hack/crd.sh
index 9dbc08cc13..5dda360856 100755
--- a/hack/crd.sh
+++ b/hack/crd.sh
@@ -1,4 +1,9 @@
#!/bin/bash
+
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
#
# Manages the deployment and removal of CRDs in a cluster. Usage:
#
diff --git a/hack/generate-copyright.sh b/hack/generate-copyright.sh
new file mode 100755
index 0000000000..fc8b4d3434
--- /dev/null
+++ b/hack/generate-copyright.sh
@@ -0,0 +1,111 @@
+#!/usr/bin/env bash
+
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
+set -e
+
+copyrightTxt="Copyright The Shipwright Contributors"
+spdxTxt="SPDX-License-Identifier: Apache-2.0"
+
+function listPkgDirs() {
+ go list -f '{{.Dir}}' ./cmd/... ./pkg/... ./test/... ./version/...
+ local goFiles=$?
+}
+
+function listGoFiles() {
+ # pipeline is much faster than for loop
+ listPkgDirs | xargs -I {} find {} -name '*.go'
+ local goFiles=$?
+ echo $PWD/tools.go
+ goFiles="$goFiles $?"
+}
+
+function listDockerfiles() {
+ find -name 'Dockerfile*' -not -path './vendor/*'
+}
+
+function listBashFiles() {
+ find -name '*.sh' -not -path './vendor/*'
+ local bashFiles=$?
+ find ./build/bin -type f
+ bashFiles="$bashFiles $?"
+}
+
+function listMarkdownFiles() {
+ find -name '*.md' -not -path './vendor/*'
+}
+
+function generateGoCopyright() {
+ allFiles=$(listGoFiles)
+
+ for file in $allFiles ; do
+ if ! head -n3 "${file}" | grep -Eq "(Copyright|SPDX-License-Identifier)" ; then
+ cp "${file}" "${file}.bak"
+ echo "// ${copyrightTxt}" > "${file}"
+ echo "// " >> "${file}"
+ echo "// ${spdxTxt}" >> "${file}"
+ echo "" >> "${file}"
+ cat "${file}.bak" >> "${file}"
+ rm "${file}.bak"
+ fi
+ done
+}
+
+function generateDockerfileCopyright() {
+ dockerfiles=$(listDockerfiles)
+ for file in $dockerfiles ; do
+ if ! head -n3 "${file}" | grep -Eq "(Copyright|SPDX-License-Identifier)" ; then
+ cp "${file}" "${file}.bak"
+ echo "# ${copyrightTxt}" > "${file}"
+ echo "# " >> "${file}"
+ echo "# ${spdxTxt}" >> "${file}"
+ echo "" >> "${file}"
+ cat "${file}.bak" >> "${file}"
+ rm "${file}.bak"
+ fi
+ done
+}
+
+function generateBashCopyright() {
+ bashFiles=$(listBashFiles)
+ for file in $bashFiles ; do
+ if ! head -n5 "${file}" | grep -Eq "(Copyright|SPDX-License-Identifier)" ; then
+ cp "${file}" "${file}.bak"
+ # Copy the shebang first - this is assumed to be the first line
+ head -n1 "${file}.bak" > "${file}"
+ echo "" >> "${file}"
+ echo "# ${copyrightTxt}" >> "${file}"
+ echo "# " >> "${file}"
+ echo "# ${spdxTxt}" >> "${file}"
+ echo "" >> "${file}"
+ tail -n +2 "${file}.bak" >> "${file}"
+ rm "${file}.bak"
+ fi
+ done
+}
+
+function generateMarkdownCopyright() {
+ mdFiles=$(listMarkdownFiles)
+ for file in $mdFiles ; do
+ if ! head -n4 "${file}" | grep -Eq "(Copyright|SPDX-License-Identifier)" ; then
+ cp "${file}" "${file}.bak"
+ echo "" >> "${file}"
+ echo "" >> "${file}"
+ cat "${file}.bak" >> "${file}"
+ rm "${file}.bak"
+ fi
+ done
+}
+
+generateGoCopyright
+generateDockerfileCopyright
+generateBashCopyright
+generateMarkdownCopyright
+
+set +e
diff --git a/hack/generate-fakes.sh b/hack/generate-fakes.sh
index 092b1d0a55..3d6548049d 100755
--- a/hack/generate-fakes.sh
+++ b/hack/generate-fakes.sh
@@ -1,5 +1,10 @@
#!/bin/bash
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
+
set -euo pipefail
[ ! -d "vendor" ] && echo "$0 requires vendor/ folder, run 'go mod vendor'"
diff --git a/hack/install-kind.sh b/hack/install-kind.sh
index 5b15bb9655..c17d28f711 100755
--- a/hack/install-kind.sh
+++ b/hack/install-kind.sh
@@ -1,4 +1,9 @@
#!/bin/bash
+
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
#
# Installs KinD (Kubernetes in Docker) via "go get" and configure it as current context.
#
diff --git a/hack/install-kubectl.sh b/hack/install-kubectl.sh
index 49c71ae6b0..a2ffbe4284 100755
--- a/hack/install-kubectl.sh
+++ b/hack/install-kubectl.sh
@@ -1,4 +1,9 @@
#!/bin/bash
+
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
#
# Installs "kubectl" on Travis-CI Ubuntu.
#
diff --git a/hack/install-operator-sdk.sh b/hack/install-operator-sdk.sh
index 3f71dbf43b..0d6b06d0fc 100755
--- a/hack/install-operator-sdk.sh
+++ b/hack/install-operator-sdk.sh
@@ -1,4 +1,9 @@
#!/bin/bash
+
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
#
# Installs Operator-SDK binary at "$HOME/bin" directory, meant to work in Travis-CI (Ubuntu).
#
diff --git a/hack/install-registry.sh b/hack/install-registry.sh
index 1ec44b2a50..45f685adad 100755
--- a/hack/install-registry.sh
+++ b/hack/install-registry.sh
@@ -1,4 +1,9 @@
#!/bin/bash
+
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
#
# Spin up a simple container registry in docker, and using "show" parameter return its internal IP
# address.
diff --git a/hack/install-tekton.sh b/hack/install-tekton.sh
index dcd519d603..6617f1f801 100755
--- a/hack/install-tekton.sh
+++ b/hack/install-tekton.sh
@@ -1,4 +1,9 @@
#!/bin/bash
+
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
#
# Installs Tekton Pipelines operator.
#
diff --git a/hack/release.sh b/hack/release.sh
index 0582a5d084..9c7cefa743 100755
--- a/hack/release.sh
+++ b/hack/release.sh
@@ -1,5 +1,10 @@
#!/bin/bash
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
+
set -e
echo "Logging into container registry $IMAGE_HOST"
echo "$REGISTRY_PASSWORD" | $CONTAINER_RUNTIME login -u "$REGISTRY_USERNAME" --password-stdin "$IMAGE_HOST"
diff --git a/openshift-ci/Dockerfile.tools b/openshift-ci/Dockerfile.tools
index ba979027f7..16f46b4f0d 100644
--- a/openshift-ci/Dockerfile.tools
+++ b/openshift-ci/Dockerfile.tools
@@ -1,3 +1,7 @@
+# Copyright The Shipwright Contributors
+#
+# SPDX-License-Identifier: Apache-2.0
+
FROM centos:7 as build-tools
ENV LANG=en_US.utf8
ENV GOPATH /tmp/go
diff --git a/pkg/apis/addtoscheme_build_v1alpha1.go b/pkg/apis/addtoscheme_build_v1alpha1.go
index cba7e10e8a..269335fb33 100644
--- a/pkg/apis/addtoscheme_build_v1alpha1.go
+++ b/pkg/apis/addtoscheme_build_v1alpha1.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package apis
import (
diff --git a/pkg/apis/apis.go b/pkg/apis/apis.go
index 07dc961644..61a12e1e4b 100644
--- a/pkg/apis/apis.go
+++ b/pkg/apis/apis.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package apis
import (
diff --git a/pkg/apis/build/group.go b/pkg/apis/build/group.go
index dfc79ac2e2..63e9d0d05f 100644
--- a/pkg/apis/build/group.go
+++ b/pkg/apis/build/group.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// Package build contains build API versions.
//
// This file ensures Go source parsers acknowledge the build package
diff --git a/pkg/apis/build/v1alpha1/build_types.go b/pkg/apis/build/v1alpha1/build_types.go
index 39ba0ccc97..35368ec80f 100644
--- a/pkg/apis/build/v1alpha1/build_types.go
+++ b/pkg/apis/build/v1alpha1/build_types.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package v1alpha1
import (
diff --git a/pkg/apis/build/v1alpha1/buildrun_types.go b/pkg/apis/build/v1alpha1/buildrun_types.go
index 6c7393ba9b..20f6b94c45 100644
--- a/pkg/apis/build/v1alpha1/buildrun_types.go
+++ b/pkg/apis/build/v1alpha1/buildrun_types.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package v1alpha1
import (
diff --git a/pkg/apis/build/v1alpha1/buildstrategy_types.go b/pkg/apis/build/v1alpha1/buildstrategy_types.go
index 9b9524c7f3..054d3b13a9 100644
--- a/pkg/apis/build/v1alpha1/buildstrategy_types.go
+++ b/pkg/apis/build/v1alpha1/buildstrategy_types.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package v1alpha1
import (
diff --git a/pkg/apis/build/v1alpha1/clusterbuildstrategy_types.go b/pkg/apis/build/v1alpha1/clusterbuildstrategy_types.go
index b86d066177..93b0af892b 100644
--- a/pkg/apis/build/v1alpha1/clusterbuildstrategy_types.go
+++ b/pkg/apis/build/v1alpha1/clusterbuildstrategy_types.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package v1alpha1
import (
diff --git a/pkg/apis/build/v1alpha1/doc.go b/pkg/apis/build/v1alpha1/doc.go
index 7513bd9a8c..3ca864ba18 100644
--- a/pkg/apis/build/v1alpha1/doc.go
+++ b/pkg/apis/build/v1alpha1/doc.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// Package v1alpha1 contains API Schema definitions for the build v1alpha1 API group
// +k8s:deepcopy-gen=package,register
// +groupName=build.dev
diff --git a/pkg/apis/build/v1alpha1/gitsource.go b/pkg/apis/build/v1alpha1/gitsource.go
index 080b2d19be..da7b25e25a 100644
--- a/pkg/apis/build/v1alpha1/gitsource.go
+++ b/pkg/apis/build/v1alpha1/gitsource.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package v1alpha1
import (
diff --git a/pkg/apis/build/v1alpha1/parameter.go b/pkg/apis/build/v1alpha1/parameter.go
index dc8a671753..f57e320623 100644
--- a/pkg/apis/build/v1alpha1/parameter.go
+++ b/pkg/apis/build/v1alpha1/parameter.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package v1alpha1
// Parameter defines the data structure that would be used for
diff --git a/pkg/apis/build/v1alpha1/register.go b/pkg/apis/build/v1alpha1/register.go
index e47212c49a..32db1d0b65 100644
--- a/pkg/apis/build/v1alpha1/register.go
+++ b/pkg/apis/build/v1alpha1/register.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// NOTE: Boilerplate only. Ignore this file.
// Package v1alpha1 contains API Schema definitions for the build v1alpha1 API group
diff --git a/pkg/apis/build/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/build/v1alpha1/zz_generated.deepcopy.go
index 658e5b6480..0e240b47d6 100644
--- a/pkg/apis/build/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/build/v1alpha1/zz_generated.deepcopy.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// +build !ignore_autogenerated
// Code generated by operator-sdk. DO NOT EDIT.
diff --git a/pkg/apis/build/v1alpha1/zz_generated.openapi.go b/pkg/apis/build/v1alpha1/zz_generated.openapi.go
index 9408ae9595..31e813eade 100644
--- a/pkg/apis/build/v1alpha1/zz_generated.openapi.go
+++ b/pkg/apis/build/v1alpha1/zz_generated.openapi.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// +build !ignore_autogenerated
/*
diff --git a/pkg/apis/core/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/core/v1alpha1/zz_generated.deepcopy.go
index 843f224e10..a876c848d1 100644
--- a/pkg/apis/core/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/core/v1alpha1/zz_generated.deepcopy.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// +build !ignore_autogenerated
// Code generated by operator-sdk. DO NOT EDIT.
diff --git a/pkg/apis/core/v1alpha1/zz_generated.openapi.go b/pkg/apis/core/v1alpha1/zz_generated.openapi.go
index 0da89cf2cc..edcc7b9a9e 100644
--- a/pkg/apis/core/v1alpha1/zz_generated.openapi.go
+++ b/pkg/apis/core/v1alpha1/zz_generated.openapi.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// +build !ignore_autogenerated
/*
diff --git a/pkg/config/config.go b/pkg/config/config.go
index 87642f872a..f2c2c1841e 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package config
import (
diff --git a/pkg/controller/add_build.go b/pkg/controller/add_build.go
index c1b50ef30e..3891ef9302 100644
--- a/pkg/controller/add_build.go
+++ b/pkg/controller/add_build.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package controller
import (
diff --git a/pkg/controller/add_buildrun.go b/pkg/controller/add_buildrun.go
index 1047961cb2..37787a1fae 100644
--- a/pkg/controller/add_buildrun.go
+++ b/pkg/controller/add_buildrun.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package controller
import (
diff --git a/pkg/controller/add_buildstrategy.go b/pkg/controller/add_buildstrategy.go
index 91376b424d..c27397793c 100644
--- a/pkg/controller/add_buildstrategy.go
+++ b/pkg/controller/add_buildstrategy.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package controller
import (
diff --git a/pkg/controller/add_clusterbuildstrategy.go b/pkg/controller/add_clusterbuildstrategy.go
index c7eba039bd..0d778b65bc 100644
--- a/pkg/controller/add_clusterbuildstrategy.go
+++ b/pkg/controller/add_clusterbuildstrategy.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package controller
import (
diff --git a/pkg/controller/build/build_controller.go b/pkg/controller/build/build_controller.go
index 4181dd771e..836701a698 100644
--- a/pkg/controller/build/build_controller.go
+++ b/pkg/controller/build/build_controller.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package build
import (
diff --git a/pkg/controller/build/build_controller_test.go b/pkg/controller/build/build_controller_test.go
index 9e6f1f7f65..3b2498ce80 100644
--- a/pkg/controller/build/build_controller_test.go
+++ b/pkg/controller/build/build_controller_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package build_test
import (
diff --git a/pkg/controller/build/build_suite_test.go b/pkg/controller/build/build_suite_test.go
index b51ab72d6c..6d51593291 100644
--- a/pkg/controller/build/build_suite_test.go
+++ b/pkg/controller/build/build_suite_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package build_test
import (
diff --git a/pkg/controller/buildrun/buildrun_controller.go b/pkg/controller/buildrun/buildrun_controller.go
index 8ccf63f8e9..340d1e79b8 100644
--- a/pkg/controller/buildrun/buildrun_controller.go
+++ b/pkg/controller/buildrun/buildrun_controller.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun
import (
diff --git a/pkg/controller/buildrun/buildrun_controller_test.go b/pkg/controller/buildrun/buildrun_controller_test.go
index b28477cf4e..3c0c6b96b5 100644
--- a/pkg/controller/buildrun/buildrun_controller_test.go
+++ b/pkg/controller/buildrun/buildrun_controller_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun_test
import (
diff --git a/pkg/controller/buildrun/buildrun_suite_test.go b/pkg/controller/buildrun/buildrun_suite_test.go
index 3082562359..8a7588ef0e 100644
--- a/pkg/controller/buildrun/buildrun_suite_test.go
+++ b/pkg/controller/buildrun/buildrun_suite_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun_test
import (
diff --git a/pkg/controller/buildrun/credentials.go b/pkg/controller/buildrun/credentials.go
index 854557859c..4899220b72 100644
--- a/pkg/controller/buildrun/credentials.go
+++ b/pkg/controller/buildrun/credentials.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun
import (
diff --git a/pkg/controller/buildrun/credentials_test.go b/pkg/controller/buildrun/credentials_test.go
index 1a76222e69..e272478c2c 100644
--- a/pkg/controller/buildrun/credentials_test.go
+++ b/pkg/controller/buildrun/credentials_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun_test
import (
diff --git a/pkg/controller/buildrun/generate_taskrun.go b/pkg/controller/buildrun/generate_taskrun.go
index 8117c57d70..f3caf57190 100644
--- a/pkg/controller/buildrun/generate_taskrun.go
+++ b/pkg/controller/buildrun/generate_taskrun.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun
import (
diff --git a/pkg/controller/buildrun/generate_taskrun_test.go b/pkg/controller/buildrun/generate_taskrun_test.go
index ef84843191..518c98d07c 100644
--- a/pkg/controller/buildrun/generate_taskrun_test.go
+++ b/pkg/controller/buildrun/generate_taskrun_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun_test
import (
diff --git a/pkg/controller/buildrun/runtime_image.go b/pkg/controller/buildrun/runtime_image.go
index 3c7631e5dd..a170ded8cb 100644
--- a/pkg/controller/buildrun/runtime_image.go
+++ b/pkg/controller/buildrun/runtime_image.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun
import (
diff --git a/pkg/controller/buildrun/runtime_image_test.go b/pkg/controller/buildrun/runtime_image_test.go
index 075f364229..d293ff1ffc 100644
--- a/pkg/controller/buildrun/runtime_image_test.go
+++ b/pkg/controller/buildrun/runtime_image_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildrun
import (
diff --git a/pkg/controller/buildstrategy/buildstrategy_controller.go b/pkg/controller/buildstrategy/buildstrategy_controller.go
index 615eaf7247..6bfb7ab0cf 100644
--- a/pkg/controller/buildstrategy/buildstrategy_controller.go
+++ b/pkg/controller/buildstrategy/buildstrategy_controller.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildstrategy
import (
diff --git a/pkg/controller/buildstrategy/buildstrategy_controller_test.go b/pkg/controller/buildstrategy/buildstrategy_controller_test.go
index 63bf6f249a..c518c9dde8 100644
--- a/pkg/controller/buildstrategy/buildstrategy_controller_test.go
+++ b/pkg/controller/buildstrategy/buildstrategy_controller_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildstrategy_test
import (
diff --git a/pkg/controller/buildstrategy/buildstrategy_suite_test.go b/pkg/controller/buildstrategy/buildstrategy_suite_test.go
index 1f2db48d11..664032d8b8 100644
--- a/pkg/controller/buildstrategy/buildstrategy_suite_test.go
+++ b/pkg/controller/buildstrategy/buildstrategy_suite_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package buildstrategy_test
import (
diff --git a/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_controller.go b/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_controller.go
index 43f75d14d2..dfeaed52b0 100644
--- a/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_controller.go
+++ b/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_controller.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package clusterbuildstrategy
import (
diff --git a/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_controller_test.go b/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_controller_test.go
index 7ed5e15b54..9237a28fe5 100644
--- a/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_controller_test.go
+++ b/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_controller_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package clusterbuildstrategy_test
import (
diff --git a/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_suite_test.go b/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_suite_test.go
index 7abe10dffa..eba5000e0f 100644
--- a/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_suite_test.go
+++ b/pkg/controller/clusterbuildstrategy/clusterbuildstrategy_suite_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package clusterbuildstrategy_test
import (
diff --git a/pkg/controller/controller.go b/pkg/controller/controller.go
index 850e305f4e..461ebba665 100644
--- a/pkg/controller/controller.go
+++ b/pkg/controller/controller.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package controller
import (
diff --git a/pkg/controller/fakes/client.go b/pkg/controller/fakes/client.go
index e4297a1dc6..f8630b38c9 100644
--- a/pkg/controller/fakes/client.go
+++ b/pkg/controller/fakes/client.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// Code generated by counterfeiter. DO NOT EDIT.
package fakes
diff --git a/pkg/controller/fakes/manager.go b/pkg/controller/fakes/manager.go
index dc35743981..5e1f27f572 100644
--- a/pkg/controller/fakes/manager.go
+++ b/pkg/controller/fakes/manager.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// Code generated by counterfeiter. DO NOT EDIT.
package fakes
diff --git a/pkg/controller/fakes/status_writer.go b/pkg/controller/fakes/status_writer.go
index 20a8d2ebcb..fd3b808e00 100644
--- a/pkg/controller/fakes/status_writer.go
+++ b/pkg/controller/fakes/status_writer.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// Code generated by counterfeiter. DO NOT EDIT.
package fakes
diff --git a/pkg/controller/suite_test.go b/pkg/controller/suite_test.go
index 6d1ff5d04e..6f68f970c8 100644
--- a/pkg/controller/suite_test.go
+++ b/pkg/controller/suite_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package controller_test
import (
diff --git a/pkg/controller/utils/utils.go b/pkg/controller/utils/utils.go
index d6eaff53fe..0ccd6c91cd 100644
--- a/pkg/controller/utils/utils.go
+++ b/pkg/controller/utils/utils.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package utils
import (
diff --git a/pkg/ctxlog/context.go b/pkg/ctxlog/context.go
index dd744f6985..a516ad9b38 100644
--- a/pkg/ctxlog/context.go
+++ b/pkg/ctxlog/context.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package ctxlog
import (
diff --git a/pkg/ctxlog/log.go b/pkg/ctxlog/log.go
index 2e5c3b607b..275f737263 100644
--- a/pkg/ctxlog/log.go
+++ b/pkg/ctxlog/log.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package ctxlog
import (
diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go
index 93471500f7..339b954e2e 100644
--- a/pkg/metrics/metrics.go
+++ b/pkg/metrics/metrics.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package metrics
import (
diff --git a/pkg/metrics/metrics_suite_test.go b/pkg/metrics/metrics_suite_test.go
index cb831bac3e..c0cdcbca74 100644
--- a/pkg/metrics/metrics_suite_test.go
+++ b/pkg/metrics/metrics_suite_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package metrics
import (
diff --git a/pkg/metrics/metrics_test.go b/pkg/metrics/metrics_test.go
index 8a34d68a62..96f2dff990 100644
--- a/pkg/metrics/metrics_test.go
+++ b/pkg/metrics/metrics_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package metrics
import (
diff --git a/test/build_samples.go b/test/build_samples.go
index ea1a377cbf..cab137bbd1 100644
--- a/test/build_samples.go
+++ b/test/build_samples.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package test
// MinimalBuildahBuild defines a simple
diff --git a/test/buildrun_samples.go b/test/buildrun_samples.go
index 8f7fa4883e..9b72af6e23 100644
--- a/test/buildrun_samples.go
+++ b/test/buildrun_samples.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package test
// MinimalBuildahBuildRun defines a simple
diff --git a/test/buildstrategy_samples.go b/test/buildstrategy_samples.go
index 5215d81846..610df4ac62 100644
--- a/test/buildstrategy_samples.go
+++ b/test/buildstrategy_samples.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package test
// MinimalBuildahBuildStrategy defines a
diff --git a/test/catalog.go b/test/catalog.go
index f6d1cbcdb0..74e3f20546 100644
--- a/test/catalog.go
+++ b/test/catalog.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package test
import (
diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go
index 07beb668fa..89c9f91972 100644
--- a/test/e2e/e2e_suite_test.go
+++ b/test/e2e/e2e_suite_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package e2e
import (
diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go
index 6ced826979..ec88e8fdb8 100644
--- a/test/e2e/e2e_test.go
+++ b/test/e2e/e2e_test.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package e2e
import (
diff --git a/test/e2e/ginkgo_operator-sdk.go b/test/e2e/ginkgo_operator-sdk.go
index e2e546a6e0..a5700f5017 100644
--- a/test/e2e/ginkgo_operator-sdk.go
+++ b/test/e2e/ginkgo_operator-sdk.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package e2e
import (
diff --git a/test/e2e/samples.go b/test/e2e/samples.go
index b2c042b91a..b21af37781 100644
--- a/test/e2e/samples.go
+++ b/test/e2e/samples.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package e2e
import (
diff --git a/test/e2e/validators.go b/test/e2e/validators.go
index 10fb6aab19..0c2ac35876 100644
--- a/test/e2e/validators.go
+++ b/test/e2e/validators.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package e2e
import (
diff --git a/tools.go b/tools.go
index 3d5e5c0bc2..aa93cae055 100644
--- a/tools.go
+++ b/tools.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
// +build tools
// Place any runtime dependencies as imports in this file.
diff --git a/version/version.go b/version/version.go
index e3e130bf90..8e1d5d07e7 100644
--- a/version/version.go
+++ b/version/version.go
@@ -1,3 +1,7 @@
+// Copyright The Shipwright Contributors
+//
+// SPDX-License-Identifier: Apache-2.0
+
package version
var (