constellation/hack/check-licenses.sh
Otto Bittner f757b5bf56 hack: add AGPL license to api submodule
Also adapt check-licenses script to allow AGPL for api module.
2023-02-15 16:44:47 +01:00

69 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Compare licenses of Go dependencies against a whitelist.
set -euo pipefail
shopt -s inherit_errexit
not_allowed() {
echo "license not allowed for package: ${line}"
err=1
}
err=0
go mod download
go-licenses csv ./... | {
while read -r line; do
pkg=${line%%,*}
lic=${line##*,}
case ${lic} in
Apache-2.0 | BSD-2-Clause | BSD-3-Clause | ISC | MIT) ;;
MPL-2.0)
case ${pkg} in
github.com/siderolabs/talos/pkg/machinery/config/encoder) ;;
github.com/letsencrypt/boulder) ;;
github.com/hashicorp/*) ;;
*)
not_allowed
;;
esac
;;
AGPL-3.0)
case ${pkg} in
github.com/edgelesssys/constellation/v2) ;;
github.com/edgelesssys/constellation/v2/operators/constellation-node-operator/v2/api/v1alpha1) ;;
*)
not_allowed
;;
esac
;;
Unknown)
case ${pkg} in
*)
not_allowed
;;
esac
;;
*)
echo "unknown license: ${line}"
err=1
;;
esac
done
exit "${err}"
}