Contribution Guidelines

Code of Conduct

Please refer to the Kinvolk Code of Conduct .

Setup developer environment

git clone [email protected]:kinvolk/lokomotive.git
cd lokomotive

Build the code

make

To use the assets from disk instead of the ones embedded in the binary, use the LOKOCTL_USE_FS_ASSETS environment variable.

Empty value means that lokoctl will search for assets in assets directory where the binary is. Non empty value should point to the assets directory. The assets directory should contain subdirectories like components and terraform-modules. Examples:

LOKOCTL_USE_FS_ASSETS='' ./lokoctl help
LOKOCTL_USE_FS_ASSETS='./assets' ./lokoctl help

Build with docker

Alternatively, you can use a Docker environment to build the binary.

make build-in-docker

Update assets

When changing code under assets/ you need to regenerate assets before contributing:

make update-assets

Commit and submit a PR.

Authoring PRs

For the general guidelines on making PRs/commits easier to review, please check out Kinvolk’s contribution guidelines on git .

Updating dependencies

In order to update dependencies managed with Go modules, run make update, which will ensure that all steps needed for an update are taken (tidy and vendoring).

Testing and linting requirements