Update CONTRIBUTING with TSC and initial policies
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -29,4 +29,5 @@ Defaults.mk
|
|||||||
userdocs/_*
|
userdocs/_*
|
||||||
userdocs/reference/*
|
userdocs/reference/*
|
||||||
/warewulf-?.?.?/
|
/warewulf-?.?.?/
|
||||||
*.coverprofile
|
*.coverprofile
|
||||||
|
LICENSE_DEPENDENCIES.csv
|
||||||
|
|||||||
214
CONTRIBUTING.md
214
CONTRIBUTING.md
@@ -2,23 +2,205 @@
|
|||||||
|
|
||||||
## Contributor's Agreement
|
## Contributor's Agreement
|
||||||
|
|
||||||
You are under no obligation whatsoever to provide any bug fixes, patches, or
|
You are under no obligation whatsoever to provide any bug fixes,
|
||||||
upgrades to the features, functionality or performance of the source code
|
patches, or upgrades to the features, functionality or performance of
|
||||||
("Enhancements") to anyone; however, if you choose to make your Enhancements
|
the source code ("Enhancements") to anyone; however, if you choose to
|
||||||
available either publicly, or directly to the project, without imposing a
|
make your Enhancements available either publicly, or directly to the
|
||||||
separate written license agreement for such Enhancements, then you hereby grant
|
project, without imposing a separate written license agreement for
|
||||||
the following license: a non-exclusive, royalty-free perpetual license to
|
such Enhancements, then you hereby grant the following license: a
|
||||||
install, use, modify, prepare derivative works, incorporate into other computer
|
non-exclusive, royalty-free perpetual license to install, use, modify,
|
||||||
software, distribute, and sublicense such enhancements or derivative works
|
prepare derivative works, incorporate into other computer software,
|
||||||
|
distribute, and sublicense such enhancements or derivative works
|
||||||
thereof, in binary and source code form.
|
thereof, in binary and source code form.
|
||||||
|
|
||||||
## Getting Started
|
## Technical Steering Committee
|
||||||
|
|
||||||
When contributing to Warewulf, it is important to properly communicate the gist
|
(in alphabetical order by surname)
|
||||||
of the contribution. If it is a simple code or editorial fix, simply explaining
|
|
||||||
this within the GitHub Pull Request (PR) will suffice. But if this is a larger
|
|
||||||
fix or Enhancement, you are advised to first discuss the change with the
|
|
||||||
project leader or developers.
|
|
||||||
|
|
||||||
All commits must be "Signed-off" by using `git commit -s`, acknowledging that
|
- [Anderson, Jonathon](janderson@ciq.com) (CIQ)
|
||||||
you agree to the [Developer Certificate of Origin](DCO.txt).
|
- [Goll, Christian](cgoll@suse.de) (SUSE)
|
||||||
|
- [Hanks, John](griznog@gmail.com) (Chan Zuckerburg Biohub)
|
||||||
|
- [Kurtzer, Greg](gmk@ciq.com) (CIQ)
|
||||||
|
- [Siadal, Jeremy](jeremy.c.siadal@intel.com) (Intel)
|
||||||
|
|
||||||
|
## Pull requests
|
||||||
|
|
||||||
|
- All commits must be "Signed-off" (i.e., by using `git commit -s`),
|
||||||
|
acknowledging that you agree to the [Developer Certificate of
|
||||||
|
Origin](DCO.txt).
|
||||||
|
|
||||||
|
- All PRs should summarize the purpose of the PR in the attached
|
||||||
|
GitHub conversation.
|
||||||
|
|
||||||
|
- Larger fixes or enhancemens should be discussed with the TSC or
|
||||||
|
developers, e.g., on Slack or over Email.
|
||||||
|
|
||||||
|
- PRs should be sent to the `main` branch by default. A committer or
|
||||||
|
the TSC may request that certain bug fixes also be submitted to a
|
||||||
|
minor release branch.
|
||||||
|
|
||||||
|
- Follow existing code style precedent. For Go, you should mostly
|
||||||
|
conform to the style and form enforced by the "go fmt" and "golint"
|
||||||
|
tools for proper formatting.
|
||||||
|
|
||||||
|
- For any new functionality, please write appropriate go tests. These
|
||||||
|
run as part of the continuous integration system.
|
||||||
|
|
||||||
|
- Make sure that the project's default copyright and header have been
|
||||||
|
included in any new source files.
|
||||||
|
|
||||||
|
- Make sure your code passes linting, by running `make lint` before
|
||||||
|
submitting the PR.
|
||||||
|
|
||||||
|
- Make sure you have locally tested using `make test` and that all
|
||||||
|
tests succeed before submitting the PR.
|
||||||
|
|
||||||
|
- PRs which introduce a new Go dependency to the project should
|
||||||
|
explain why the dependency is required. Any new dependency should be
|
||||||
|
added to `LICENSE_DEPENDENCIES.md` by running
|
||||||
|
`scripts/update-license-dependencies.sh`.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- The [README](README.md) is a place to document critical information
|
||||||
|
for new users of Warewulf. It should typically not change, but in
|
||||||
|
the case where a change is necessary a PR may update it.
|
||||||
|
|
||||||
|
- The [CHANGELOG](CHANGELOG.md) documents **functional** differences
|
||||||
|
between versions of Warewulf, and should **not** read like a commit
|
||||||
|
log.
|
||||||
|
|
||||||
|
Once a release is tagged (*e.g. v4.0.0*), a new top level section
|
||||||
|
is made titled **Changes Since vX.Y.Z** (*e.g. Changes Since
|
||||||
|
v4.0.0*) where new changes are documented, leaving the previous
|
||||||
|
section immutable.
|
||||||
|
|
||||||
|
The CHANGELOG must be updated for any of the following changes:
|
||||||
|
- Renamed commands or subcommands
|
||||||
|
- Deprecated / removed commands or subcommands
|
||||||
|
- Changed defaults / behaviors
|
||||||
|
- Backwards-incompatible changes
|
||||||
|
- New features / functionalities
|
||||||
|
|
||||||
|
- The [user guide](https://warewulf.org/docs/) should document
|
||||||
|
anything pertinent to the use of Warewulf. Changes to Warewulf
|
||||||
|
functionality should simultaneously include pertinent updates to the
|
||||||
|
user guide, which is maintained alongside the code under
|
||||||
|
`userdocs/`.
|
||||||
|
|
||||||
|
## Branches
|
||||||
|
|
||||||
|
- Development occurs primarily on the `main` branch. This is the
|
||||||
|
branch that most PRs should be submitted against unless otherwise
|
||||||
|
directed.
|
||||||
|
|
||||||
|
- A minor release is accompanied by a minor branch named `v4.MINOR.x`
|
||||||
|
from which patch releases may be generated.
|
||||||
|
|
||||||
|
- No other branches are maintained in the primary Warewulf repository.
|
||||||
|
|
||||||
|
## Merging
|
||||||
|
|
||||||
|
- All new contributions to the project should first be merged through
|
||||||
|
a PR to the `main` branch.
|
||||||
|
|
||||||
|
- Patches to a minor branch should be copied ("cherry-picked") from a
|
||||||
|
previously-merged PR.
|
||||||
|
|
||||||
|
- Each PR must, prior to merge, be reviewed and approved by a
|
||||||
|
committer other than the author of the PR.
|
||||||
|
|
||||||
|
- Before approving of a PR, an approver must confirm that
|
||||||
|
- all lint checks and tests pass with the given PR;
|
||||||
|
- new tests to cover the change have been added as appropriate;
|
||||||
|
- all commits in the PR have an appropriate DCO “Signed-Off-By”;
|
||||||
|
- documentation, including (but not necessarily limited to) the
|
||||||
|
CHANGELOG and user guide, have been updated appropriately.
|
||||||
|
|
||||||
|
- Any committer may, at his discretion, merge a PR that has the
|
||||||
|
requisite approvals and for which all tests are passing. This
|
||||||
|
includes, but is not limited to, a reviewer of the PR or the author
|
||||||
|
of the PR.
|
||||||
|
|
||||||
|
- Committers should consider the current roadmap when choosing to
|
||||||
|
approve or merge a given PR. For example, proper and successful
|
||||||
|
bugfixes are likely always appropriate to merge. However, new
|
||||||
|
features may not be appropriate to merge if they are not included in
|
||||||
|
the next milestone. New features which incompatibly alter existing
|
||||||
|
interfaces or behavior should not be approved or merged unless
|
||||||
|
included in the current milestone.
|
||||||
|
|
||||||
|
- Committers which approve or merge PRs which are disruptive to the
|
||||||
|
current milestone may have their committer access revoked by the
|
||||||
|
TSC.
|
||||||
|
|
||||||
|
## Roadmapping
|
||||||
|
|
||||||
|
- The project roadmap is formally defined by GitHub milestones
|
||||||
|
associated with the primary Warewulf repository.
|
||||||
|
|
||||||
|
- The roadmap, and its milestones, are drafted and managed by the TSC
|
||||||
|
chair to reflect and codify the priorities of the TSC and the
|
||||||
|
community. Definition of the roadmap includes, but is not limited to
|
||||||
|
- the name, description, and due date for each milestone;
|
||||||
|
- the issues and PRs associated with a given milestone.
|
||||||
|
|
||||||
|
- Only the TSC chair may assign issues to or remove issues from
|
||||||
|
milestones. The TSC chair has proactive discretion to assign or move
|
||||||
|
issues to reflect and codify the priorities of the TSC and the
|
||||||
|
community, but may not act in opposition to the direction of the
|
||||||
|
TSC.
|
||||||
|
|
||||||
|
- Requests for changes to the roadmap that are made in the Warewulf
|
||||||
|
community meeting are recorded in the Warewulf community journal.
|
||||||
|
|
||||||
|
## Releases
|
||||||
|
|
||||||
|
- Warewulf releases follow a `MAJOR.MINOR.PATCH` format.
|
||||||
|
|
||||||
|
- Releases are generated by an automated process encoded as a GitHub
|
||||||
|
actions workflow.
|
||||||
|
|
||||||
|
- All releases must pass the full Warewulf test suite.
|
||||||
|
|
||||||
|
- Releases are published by a member of the TSC at the direction of
|
||||||
|
the TSC.
|
||||||
|
|
||||||
|
- Each release is accompanied by an updated changelog.
|
||||||
|
|
||||||
|
### Major releases
|
||||||
|
|
||||||
|
- All releases occur within major version “4.”
|
||||||
|
|
||||||
|
### Minor releases
|
||||||
|
|
||||||
|
- A minor release is denoted by a tag named `v4.MINOR.0`.
|
||||||
|
|
||||||
|
- A minor release candidate is denoted by a tag named
|
||||||
|
`v4.MINOR.0rcNUMBER`, where `NUMBER` begins at “1” and increments
|
||||||
|
for each candidate for the given minor release.
|
||||||
|
|
||||||
|
- Minor releases are defined by a previously-planned milestone named
|
||||||
|
for the projected release.
|
||||||
|
|
||||||
|
- A minor release candidate may be published by the TSC when all
|
||||||
|
functional issues and pull requests in the associated milestone are
|
||||||
|
closed. (e.g., documentation issues and pull requests may remain.)
|
||||||
|
This may also be accomplished by the TSC re-scoping the associated
|
||||||
|
milestone (e.g., by moving issues or pull requests to a different
|
||||||
|
milestone).
|
||||||
|
|
||||||
|
- A minor release may be published by the TSC two weeks after a
|
||||||
|
release candidate if no major defects have been found in the release
|
||||||
|
candidate and there are no open issues or pull requests.
|
||||||
|
|
||||||
|
### Patch releases
|
||||||
|
|
||||||
|
- A patch release is denoted by a tax named `v4.MINOR.PATCH` where
|
||||||
|
`PATCH` is greater than `0`, and tags a commit on a minor branch.
|
||||||
|
|
||||||
|
- The TSC may identify changes in the “main” branch to be ported to a
|
||||||
|
minor branch.
|
||||||
|
|
||||||
|
- A patch release may be published by the TSC whenever one or more
|
||||||
|
changes have been ported to a minor branch.
|
||||||
|
|||||||
577
LICENSE_DEPENDENCIES.md
Normal file
577
LICENSE_DEPENDENCIES.md
Normal file
@@ -0,0 +1,577 @@
|
|||||||
|
# Dependency Licenses
|
||||||
|
|
||||||
|
This project uses a number of dependencies, in accordance with their
|
||||||
|
own license terms. These dependencies are managed via the project
|
||||||
|
`go.mod` and `go.sum` files, and included in a `vendor/` directory in
|
||||||
|
our official source tarballs.
|
||||||
|
|
||||||
|
A full build or package of Warewulf uses all dependencies listed
|
||||||
|
below. If you `import "github.com/hpcng/warewulf"` into your own
|
||||||
|
project then you may use a subset of them.
|
||||||
|
|
||||||
|
The dependencies and their licenses are as follows:
|
||||||
|
|
||||||
|
## github.com/containerd/containerd/errdefs
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/containerd/containerd/blob/master/errdefs/LICENSE>
|
||||||
|
|
||||||
|
## github.com/containers/image/v5
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/containers/image/blob/master/v5/LICENSE>
|
||||||
|
|
||||||
|
## github.com/containers/libtrust
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/containers/libtrust/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/containers/ocicrypt
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/containers/ocicrypt/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/containers/storage
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/containers/storage/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/coreos/go-semver/semver
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/coreos/go-semver/blob/master/semver/LICENSE>
|
||||||
|
|
||||||
|
## github.com/coreos/go-systemd/daemon
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/coreos/go-systemd/blob/master/daemon/LICENSE>
|
||||||
|
|
||||||
|
## github.com/coreos/go-systemd/v22/unit
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/coreos/go-systemd/blob/master/v22/unit/LICENSE>
|
||||||
|
|
||||||
|
## github.com/coreos/ignition/v2/config
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/coreos/ignition/blob/master/v2/config/LICENSE>
|
||||||
|
|
||||||
|
## github.com/coreos/vcontext
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/coreos/vcontext/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/digitalocean/go-smbios/smbios
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/digitalocean/go-smbios/blob/master/smbios/LICENSE.md>
|
||||||
|
|
||||||
|
## github.com/docker/distribution
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/docker/distribution/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/docker/docker
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/docker/docker/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/docker/go-connections
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/docker/go-connections/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/docker/go-metrics
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/docker/go-metrics/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/docker/go-units
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/docker/go-units/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/golang/glog
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/golang/glog/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/matttproud/golang_protobuf_extensions/pbutil
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/matttproud/golang_protobuf_extensions/blob/master/pbutil/LICENSE>
|
||||||
|
|
||||||
|
## github.com/moby/sys/mountinfo
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/moby/sys/blob/master/mountinfo/LICENSE>
|
||||||
|
|
||||||
|
## github.com/opencontainers/go-digest
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/opencontainers/go-digest/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/opencontainers/image-spec/specs-go
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/opencontainers/image-spec/blob/master/specs-go/LICENSE>
|
||||||
|
|
||||||
|
## github.com/opencontainers/runc/libcontainer
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/opencontainers/runc/blob/master/libcontainer/LICENSE>
|
||||||
|
|
||||||
|
## github.com/opencontainers/runtime-spec/specs-go
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/opencontainers/runtime-spec/blob/master/specs-go/LICENSE>
|
||||||
|
|
||||||
|
## github.com/opencontainers/umoci
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/opencontainers/umoci/blob/master/COPYING>
|
||||||
|
|
||||||
|
## github.com/opencontainers/umoci/third_party/shared
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/opencontainers/umoci/blob/master/third_party/shared/COPYING>
|
||||||
|
|
||||||
|
## github.com/opencontainers/umoci/third_party/user
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/opencontainers/umoci/blob/master/third_party/user/LICENSE>
|
||||||
|
|
||||||
|
## github.com/pquerna/ffjson/fflib/v1
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/pquerna/ffjson/blob/master/fflib/v1/LICENSE>
|
||||||
|
|
||||||
|
## github.com/prometheus/client_golang/prometheus
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/prometheus/client_golang/blob/master/prometheus/LICENSE>
|
||||||
|
|
||||||
|
## github.com/prometheus/client_model/go
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/prometheus/client_model/blob/master/go/LICENSE>
|
||||||
|
|
||||||
|
## github.com/prometheus/common
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/prometheus/common/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/prometheus/procfs
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/prometheus/procfs/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/rootless-containers/proto/go-proto
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/rootless-containers/proto/blob/master/go-proto/COPYING>
|
||||||
|
|
||||||
|
## github.com/spf13/cobra
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/spf13/cobra/blob/master/LICENSE.txt>
|
||||||
|
|
||||||
|
## github.com/stefanberger/go-pkcs11uri
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/stefanberger/go-pkcs11uri/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/vbatts/go-mtree/pkg/govis
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/vbatts/go-mtree/blob/master/pkg/govis/COPYING>
|
||||||
|
|
||||||
|
## google.golang.org/genproto
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**Project URL:** <https://google.golang.org/genproto>
|
||||||
|
|
||||||
|
## google.golang.org/grpc
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**Project URL:** <https://google.golang.org/grpc>
|
||||||
|
|
||||||
|
## gopkg.in/square/go-jose.v2
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**Project URL:** <https://gopkg.in/square/go-jose.v2>
|
||||||
|
|
||||||
|
## gopkg.in/yaml.v2
|
||||||
|
|
||||||
|
**License:** Apache-2.0
|
||||||
|
|
||||||
|
**Project URL:** <https://gopkg.in/yaml.v2>
|
||||||
|
|
||||||
|
## github.com/pkg/errors
|
||||||
|
|
||||||
|
**License:** BSD-2-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/pkg/errors/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/russross/blackfriday/v2
|
||||||
|
|
||||||
|
**License:** BSD-2-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/russross/blackfriday/blob/master/v2/LICENSE.txt>
|
||||||
|
|
||||||
|
## github.com/syndtr/gocapability/capability
|
||||||
|
|
||||||
|
**License:** BSD-2-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/syndtr/gocapability/blob/master/capability/LICENSE>
|
||||||
|
|
||||||
|
## github.com/cyphar/filepath-securejoin
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/cyphar/filepath-securejoin/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/gogo/protobuf/proto
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/gogo/protobuf/blob/master/proto/LICENSE>
|
||||||
|
|
||||||
|
## github.com/golang/protobuf
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/golang/protobuf/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/golang/snappy
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/golang/snappy/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/google/uuid
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/google/uuid/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/gorilla/mux
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/gorilla/mux/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/grpc-ecosystem/grpc-gateway/v2
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/grpc-ecosystem/grpc-gateway/blob/master/v2/LICENSE.txt>
|
||||||
|
|
||||||
|
## github.com/klauspost/compress
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/klauspost/compress/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/manifoldco/promptui
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/manifoldco/promptui/blob/master/LICENSE.md>
|
||||||
|
|
||||||
|
## github.com/miekg/pkcs11
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/miekg/pkcs11/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/mtrmac/gpgme
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/mtrmac/gpgme/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/prometheus/common/blob/master/internal/bitbucket.org/ww/goautoneg/README.txt>
|
||||||
|
|
||||||
|
## github.com/spf13/pflag
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/spf13/pflag/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/ulikunitz/xz
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/ulikunitz/xz/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/vbatts/go-mtree
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/vbatts/go-mtree/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## golang.org/x/crypto
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**Project URL:** <https://golang.org/x/crypto>
|
||||||
|
|
||||||
|
## golang.org/x/net
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**Project URL:** <https://golang.org/x/net>
|
||||||
|
|
||||||
|
## golang.org/x/sync/semaphore
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**Project URL:** <https://golang.org/x/sync/semaphore>
|
||||||
|
|
||||||
|
## golang.org/x/sys/unix
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**Project URL:** <https://golang.org/x/sys/unix>
|
||||||
|
|
||||||
|
## golang.org/x/term
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**Project URL:** <https://golang.org/x/term>
|
||||||
|
|
||||||
|
## golang.org/x/text
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**Project URL:** <https://golang.org/x/text>
|
||||||
|
|
||||||
|
## google.golang.org/protobuf
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**Project URL:** <https://google.golang.org/protobuf>
|
||||||
|
|
||||||
|
## gopkg.in/square/go-jose.v2/json
|
||||||
|
|
||||||
|
**License:** BSD-3-Clause
|
||||||
|
|
||||||
|
**Project URL:** <https://gopkg.in/square/go-jose.v2/json>
|
||||||
|
|
||||||
|
## github.com/BurntSushi/toml
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/BurntSushi/toml/blob/master/COPYING>
|
||||||
|
|
||||||
|
## github.com/VividCortex/ewma
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/VividCortex/ewma/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/acarl005/stripansi
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/acarl005/stripansi/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/apex/log
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/apex/log/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/beorn7/perks/quantile
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/beorn7/perks/blob/master/quantile/LICENSE>
|
||||||
|
|
||||||
|
## github.com/cespare/xxhash/v2
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/cespare/xxhash/blob/master/v2/LICENSE.txt>
|
||||||
|
|
||||||
|
## github.com/chzyer/readline
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/chzyer/readline/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/cpuguy83/go-md2man/v2/md2man
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/cpuguy83/go-md2man/blob/master/v2/md2man/LICENSE.md>
|
||||||
|
|
||||||
|
## github.com/creasty/defaults
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/creasty/defaults/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/docker/docker-credential-helpers
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/docker/docker-credential-helpers/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/fatih/color
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/fatih/color/blob/master/LICENSE.md>
|
||||||
|
|
||||||
|
## github.com/ghodss/yaml
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/ghodss/yaml/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/klauspost/compress/zstd/internal/xxhash
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/klauspost/compress/blob/master/zstd/internal/xxhash/LICENSE.txt>
|
||||||
|
|
||||||
|
## github.com/klauspost/pgzip
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/klauspost/pgzip/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/mattn/go-colorable
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/mattn/go-colorable/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/mattn/go-isatty
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/mattn/go-isatty/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/mattn/go-runewidth
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/mattn/go-runewidth/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/olekukonko/tablewriter
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/olekukonko/tablewriter/blob/master/LICENSE.md>
|
||||||
|
|
||||||
|
## github.com/sirupsen/logrus
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/sirupsen/logrus/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/urfave/cli
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/urfave/cli/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## github.com/vincent-petithory/dataurl
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/vincent-petithory/dataurl/blob/master/LICENSE>
|
||||||
|
|
||||||
|
## go.etcd.io/bbolt
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**Project URL:** <https://go.etcd.io/bbolt>
|
||||||
|
|
||||||
|
## go.mozilla.org/pkcs7
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**Project URL:** <https://go.mozilla.org/pkcs7>
|
||||||
|
|
||||||
|
## gopkg.in/yaml.v3
|
||||||
|
|
||||||
|
**License:** MIT
|
||||||
|
|
||||||
|
**Project URL:** <https://gopkg.in/yaml.v3>
|
||||||
|
|
||||||
|
## github.com/talos-systems/go-smbios/smbios
|
||||||
|
|
||||||
|
**License:** MPL-2.0
|
||||||
|
|
||||||
|
**License URL:** <https://github.com/talos-systems/go-smbios/blob/master/smbios/LICENSE>
|
||||||
|
|
||||||
|
## github.com/vbauerster/mpb/v5
|
||||||
|
|
||||||
|
**License:** Unknown
|
||||||
|
|
||||||
|
**Project URL:** <https://github.com/vbauerster/mpb/v5>
|
||||||
|
|
||||||
|
## github.com/vbauerster/mpb/v5/cwriter
|
||||||
|
|
||||||
|
**License:** Unknown
|
||||||
|
|
||||||
|
**Project URL:** <https://github.com/vbauerster/mpb/v5/cwriter>
|
||||||
|
|
||||||
|
## github.com/vbauerster/mpb/v5/decor
|
||||||
|
|
||||||
|
**License:** Unknown
|
||||||
|
|
||||||
|
**Project URL:** <https://github.com/vbauerster/mpb/v5/decor>
|
||||||
|
|
||||||
|
## github.com/vbauerster/mpb/v5/internal
|
||||||
|
|
||||||
|
**License:** Unknown
|
||||||
|
|
||||||
|
**Project URL:** <https://github.com/vbauerster/mpb/v5/internal>
|
||||||
|
|
||||||
63
scripts/update-license-dependencies.sh
Normal file
63
scripts/update-license-dependencies.sh
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
go install github.com/google/go-licenses@v1.0.0
|
||||||
|
|
||||||
|
if [ -d "vendor" ]; then
|
||||||
|
echo "Please remove vendor directory before running this script"
|
||||||
|
exit 255
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "go.mod" ]; then
|
||||||
|
echo "This script must be called from the project root directory,"
|
||||||
|
echo "i.e. as scripts/update-license-dependencise.sh"
|
||||||
|
exit 255
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Exclude ourselves
|
||||||
|
exclude="github.com/hpcng/warewulf"
|
||||||
|
|
||||||
|
# Ensure a constant sort order
|
||||||
|
export LC_ALL=C
|
||||||
|
|
||||||
|
go-licenses csv ./... | grep -v -E "${exclude}" | sort -k3,3 -k1,1 -t, > LICENSE_DEPENDENCIES.csv
|
||||||
|
|
||||||
|
# Header for the markdown file
|
||||||
|
cat <<-'EOF' >LICENSE_DEPENDENCIES.md
|
||||||
|
# Dependency Licenses
|
||||||
|
|
||||||
|
This project uses a number of dependencies, in accordance with their
|
||||||
|
own license terms. These dependencies are managed via the project
|
||||||
|
`go.mod` and `go.sum` files, and included in a `vendor/` directory in
|
||||||
|
our official source tarballs.
|
||||||
|
|
||||||
|
A full build or package of Warewulf uses all dependencies listed
|
||||||
|
below. If you `import "github.com/hpcng/warewulf"` into your own
|
||||||
|
project then you may use a subset of them.
|
||||||
|
|
||||||
|
The dependencies and their licenses are as follows:
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
while IFS="," read -r dep url license; do
|
||||||
|
{
|
||||||
|
echo "## ${dep}"
|
||||||
|
echo ""
|
||||||
|
echo "**License:** ${license}"
|
||||||
|
echo ""
|
||||||
|
} >>LICENSE_DEPENDENCIES.md
|
||||||
|
|
||||||
|
# go-licenses can't work out the web url for non-github projects.
|
||||||
|
# Fall back to using the dependency URL as a project URL
|
||||||
|
if [ "${url}" = "Unknown" ]; then
|
||||||
|
echo "**Project URL:** <https://${dep}>" >>LICENSE_DEPENDENCIES.md
|
||||||
|
else
|
||||||
|
echo "**License URL:** <${url}>" >>LICENSE_DEPENDENCIES.md
|
||||||
|
fi
|
||||||
|
echo "" >>LICENSE_DEPENDENCIES.md
|
||||||
|
done <LICENSE_DEPENDENCIES.csv
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
rm LICENSE_DEPENDENCIES.csv
|
||||||
Reference in New Issue
Block a user