OpenEBS is an "umbrella project". Every project, repository and file in the OpenEBS organization adopts and follows the policies found in the Community repo umbrella project files.
This project follows the OpenEBS Contributor Guidelines
We're excited to have you interested in contributing to Mayastor!
If you experience minor hurdles in contribution, please report them.
If you have any questions, our ecosystem can be connected with over Slack (invite, for support).
Our interactions here are governed by the CNCF Code of Conduct.
You would be the best if you reported complete, well described, reproducible bugs to us. If you can't, that's ok. Do your best.
Our Bug Report template includes instructions to get the the information we need from you.
You are invited to open complete, well described issues proposing new features. While Mayastor has no formal RFC process at this time, the Rust RFC template is an excellent place to derive your issue description from.
You should indicate if you are able to complete and support features you propose.
Start work off the develop
branch. Not master
.
bors will merge your commits. We do not do squash merges.
Each commit message must adhere to Conventional Commits. You can use
convco
if you would prefer a tool to help.
It is absolutely fine to force push your branch if you need. Feel free to rewrite commit history of your pull requests.
The review process is governed by bors.
Pull requests require at least 1 approval from maintainer or SIG member.
Once review is given, Maintainers and SIG members may indicate merge readiness with the comment
bors merge
.
Please do not hit the 'Update Branch' button. The commit message is not conventional, bors will yell at you. Let bors handle it, or rebase it yourself.
This repo, much like most of the mayastor-specific repos makes use of nix.
For Linux, it can be as simple as running:
sh <(curl -L https://nixos.org/nix/install) --daemon
Remember the exit and re-enter your shell after the install is complete. For more detailed information, please visit: https://nixos.org/download.html
[nix-shell:~/git/mayastor/extensions]$ nix-shell
pre-commit installed at .git/hooks/pre-commit
pre-commit installed at .git/hooks/commit-msg
_______________________________________
/ You have requested an environment for \
\ rustup, you should provide it! /
---------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
[nix-shell:~/git/mayastor/extensions]$
Within this shell you'll have access to all tools/libraries which are required to develop within this repo and so the first time it might take some time whilst dependencies are build installed and/or pulled.
The helm chart README.md is autogenerated from an existing template and the values yaml file. A git pre-commit hook is added to the nix-shell to ensure the code you commit updates the README as well for a smooth PR experience.
If you're only modifying the helm chart we recomment you enter nix-shell from the chart directory only
[@dev:~/git/mayastor/extensions]$ cd chart
[@dev:~/git/mayastor/extensions]$ nix-shell
[nix-shell:~/git/mayastor/extensions/chart]$ nix-shell
This will avoid downloading dependencies which are required only for building the binary images.
Don't want to use nix?
That's totally fine, just make sure you have
helm-docs
installed and run the docs script[@dev:~/git/mayastor/extensions]$ ./scripts/helm/generate-readme.sh INFO[2023-08-22T08:55:06+01:00] Found Chart directories [chart] INFO[2023-08-22T08:55:06+01:00] Generating README Documentation for chart chart