So you have a fix or an update that you'd like to contribute back to a module? That's great to hear, whether it's source code, metadata, or documentation. Collaboration like this is the heart and soul of open source, and it's people like you who keep the Puppet Community growing and vibrant.
So let's get started. If you're already familiar with the general pull request workflow, just follow these quick general guidelines.
- Fork the module to your own namespace.
- Create a feature branch to make your improvements in.
- Write a descriptive commit message explaining the improvement and why it's useful.
- Group commits so they are each self-contained, but single purpose.
- Make your pull request against the upstream repository's default branch.
If you're not already familiar with this workflow or these directions don't make sense, then just keep reading! We'll show you a quick and lightweight way to contribute small fixes, and all you'll need is a GitHub account, which you can create for free if needed. (note that this tutorial assumes GitHub, but the instructions for making contributions to a module hosted in GitLab or other repositories should be similar.)
First step is to browse to the repository and find the source file you want to update. Generally you'd start this by visiting the module's detail page on the Puppet Forge. Underneath the name, you should find a link to the repository called
URL. If that link isn't present then you'll have to explore a bit to find it.
Once you find the file you want to contribute, click the pencil icon just above the file contents, and then follow the instructions on GitHub's documentation pages to make changes and contribute your proposed improvement.
Note that some users (like Puppet itself) will request you to sign a license agreement, such as a CLA or DCO in order to contribute code.
Whether you corrected a documentation typo, updated a module's supported Puppet versions, or improved the actual Puppet code, you are now a contributor to the Puppet ecosystem. Welcome!