Our project welcomes external contributions. If you have an itch, please feel free to scratch it.
To contribute minor code or documentation, please submit a pull request.
A good way to familiarize yourself with the codebase and contribution process is to look for and tackle low-hanging fruit in the issue tracker. Before embarking on a more ambitious contribution, please quickly get in touch with us.
Note: We appreciate your effort, and want to avoid a situation where a contribution requires extensive rework (by you or by us), sits in backlog for a long time, or cannot be accepted at all!
This project is based on Rust - The easiest way to get setup is to us the rustup install system.
To perform an end to end integration test you may want to use a free cluster on IBM Cloud.
Instructions on how to install are available in the main README.md
PR's that modify the codebase will be expected to run against a cluster using the integration/run.sh
before being accepted.
Code contributions should be PR'd with cargo fmt
ran
This project used the Developer Certificate of Origin. It requires all commit messages to contain the Signed-off-by line with an email address that matches the commit author.
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
In order to comply with the DCO please sign every commit as follows:
$ git commit -s -m 'This is my commit message'
or
This is my commit message
Signed-off-by: Random J Developer <random@developer.example.org>
Declaring formal releases remains the prerogative of the project maintainer(s).
If you would like to implement a new feature, please raise an issue before sending a pull request so the feature can be discussed. This is to avoid you wasting your valuable time working on a feature that the project developers are not interested in accepting into the code base.
- No
--force
pushes or modifying the Git history in any way. - Non-main branches ought to be used for ongoing work.
- External API changes and significant modifications ought to be subject to an internal pull-request to solicit feedback from other contributors.
- Internal pull-requests to solicit feedback are encouraged for any other non-trivial contribution but left to the discretion of the contributor.
If you would like to fix a bug, please feel free to open a PR directly for a small change. If you think the fix will be high impact then consider opening an issue before sending a pull request so it can be tracked.
For first time PRs the project maintainers use LGTM (Looks Good To Me) in comments on the code review to indicate acceptance.
For a list of the maintainers, see the CONTRIBUTORS.md page.
- Any contributions (code, information etc) submitted will be subject to the same license as the rest of the code. No new restrictions/conditions are permitted.
- As a contributor, you MUST have the legal right to grant permission for your contribution to be used under these conditions.
Please use the [issue list] to keep communication transparent (https://github.com/knawd/deployer/issues)