mirror of https://github.com/kubernetes/kops.git
38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# Vendoring Go dependencies
|
|
|
|
kOps uses [go mod](https://github.com/golang/go/wiki/Modules) to manage
|
|
vendored dependencies.
|
|
|
|
## Prerequisites
|
|
|
|
The following software must be installed prior to running the
|
|
update commands:
|
|
|
|
* [bazel](https://github.com/bazelbuild/bazel)
|
|
* [go mod](https://github.com/golang/go/wiki/Modules)
|
|
* [hg](https://www.mercurial-scm.org/wiki/Download)
|
|
|
|
## Adding a dependency to the vendor directory
|
|
|
|
Go modules will manage required dependencies based on the imports
|
|
found in the source code. Follow these steps to run the update process:
|
|
|
|
1. Add the desired import to a `.go` file.
|
|
2. Run `make gomod` to start the update process. If this step is
|
|
successful, the imported dependency will be added to the `vendor`
|
|
subdirectory.
|
|
3. Commit any changes, including changes to the `vendor` directory,
|
|
`go.mod`, and `go.sum`.
|
|
4. Open a pull request with these changes separately from other work
|
|
so that it is easier to review.
|
|
|
|
## Updating a dependency in the vendor directory (e.g. aws-sdk-go)
|
|
|
|
1. Update the locked version as specified in `go.mod`
|
|
2. Run `make gomod`.
|
|
3. Review the changes to ensure that they are as intended / trustworthy.
|
|
4. Commit any changes, including changes to the `vendor` directory,
|
|
`go.mod` and `go.sum`.
|
|
5. Open a pull request with these changes separately from other work so that it
|
|
is easier to review. Please include any significant changes you observed.
|