Contributing to Paas source code¶
If you want to contribute to the source code of the Paas operator and innovate in the database in Kubernetes space, this is the right place. Welcome!
We have a truly open source soul. That's why we welcome new contributors. Our goal is to enable you to become the next committer of Paas, by having a good set of docs that guide you through the development process. Having said this, we know that everything can always be improved, so if you think our documentation is not up to scratch, please let us know or provide a pull request based on your experience.
Development workflow¶
The Paas operator project follows trunk-based development,
with the main
branch representing the trunk.
We adopt the "Github Flow" development workflow, with some customizations:
- the Continuous Delivery
branch is called
main
and is protected; - Github is configured for linear development (no merge commits);
- development happens in separate branches created from the
main
branch and called "dev/ISSUE_ID"; - once completed, developers must submit a pull request;
- reviews by two different maintainers are required before a pull request can be merged;
We also adopted the conventional commit format for commit messages.
The roadmap is defined as a Github Project.
Finally, we have an operational Kanban board we use to organize the flow of items.
Your development environment for Paas¶
In order to write even the simplest patch for Paas you must have setup your workstation to build and locally test the version of the operator you are developing.
Submit a pull request¶
First and foremost: as a potential contributor, your changes and ideas are welcome at any hour of the day or night, weekdays, weekends, and holidays. Please do not ever hesitate to ask a question or send a PR.
IMPORTANT: before you submit a pull request, please read this document from the Istio documentation which contains very good insights and best practices: "Writing Good Pull Requests".
If you have written code for an improvement to Paas or a bug fix, please follow this procedure to submit a pull request:
- Create a personal fork of the Paas Operator project;
- If there is a related issue, please leave a comment that you intend to work on it;
- Run the e2e tests in the forked repository, see our related documentation;
- Once development is finished, create a pull request from your forked project to the Paas project;
Please make sure the pull request title and message follow Conventional Commits For more details on submitting a PR, see "Submitting A PR".
One of the maintainers will then proceed with the first review and approve the
CI workflow to run in the Paas project. The second reviewer will run
end-to-end test against the changes in fork pull request. If testing passes,
the pull request will be labeled with ok-to-merge
and will be ready for
merge.
Sign your work¶
We use the Developer Certificate of Origin (DCO) as an additional safeguard for the Paas project. This is a well established and widely used mechanism to assure contributors have confirmed their right to license their contribution under the project's license.
Please read https://developercertificate.org.
If you can certify it, then just add a line to every git commit message:
or use the command git commit -s -m "commit message comes here"
to sign-off on your commits.
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your user.name
and user.email
git configs, you can sign your
commit automatically with git commit -s
.
You can also use git aliases
like git config --global alias.ci 'commit -s'
. Now you can commit with git ci
and the commit will be signed.