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


    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