Thanks for your interest in contributing to Rumpelpod. Contributions are welcome from both NVIDIA-internal and external developers, subject to the rules below.
Participation in the project is governed by the Code of Conduct. By contributing, you agree to abide by it.
All bug reports, feature requests, and behavior-change proposals should
start with a GitHub issue. Templates live under .github/ISSUE_TEMPLATE/.
For larger changes, please open an issue and discuss the design before
submitting a pull request.
The workflow is the standard fork-and-PR flow:
- Fork the upstream repository.
- Clone your fork and create a topic branch.
- Make your changes and add or update tests for any new behavior.
- Commit with a sign-off (
git commit -s). See Signing Your Work. - Push the branch to your fork and open a pull request against
master. - Wait for review. At least one maintainer review is required before merge.
Keep pull requests focused. One feature or fix per pull request, with a clear description of what changes and why.
You can use rumpel itself to spin up a development pod for working on
Rumpelpod. The .devcontainer/ directory defines an image with the Rust
toolchain (and musl cross-compile targets), Docker, k3d, helm, and the
LLM agent CLIs preinstalled, ready for cargo pipeline.
The dev container needs the
sysbox runtime on the host.
Rumpelpod's tests run a Docker daemon and k3d clusters inside the
container, which sysbox supports without privileged mode. The default
runc runtime is not sufficient.
Run the full pipeline before submitting:
cargo pipelineFor a faster iteration loop on a subset of tests, pass a substring filter:
cargo pipeline enter_smoke_test-
We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
- Any contribution which contains commits that are not Signed-Off will not be accepted.
-
To sign off on a commit you simply use the
--signoff(or-s) option when committing your changes:$ git commit -s -m "Add cool feature."This will append the following to your commit message:
Signed-off-by: Your Name <your@email.com> -
Full text of the DCO (https://developercertificate.org/):
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.