Welcome to our first annual May the Source Be With You virtual hackathon focused on improvements to our developer tooling ecosystem.
Do you have a pet peeve about the PDK, rspec-puppet, puppet-lint, the Puppet VSCode extension, or any other tool you use when building Puppet code? Join forces with us to help defeat these pain points during our live event.
- May 4th, 2023
- PDT: 10 am - 6 pm
- CEST: 10 am - 6 pm
The following timelines are subject to the CEST and PDT time zones:
- 10 AM - Welcome and introduction to the hackathon – Zoom session
- Sharing links and this repository
- Explaining the dynamics
- 12 PM - Office hours on Slack (
#hackathons
channel) – 45 min- This is a good opportunity to connect with some of our Puppet engineers, whether you have questions regarding one of the challenges or if you are stuck in setting up a project, let us know how we can help you here :)
- 6 PM - Closing - Zoom session
- Participants recognition and final words
- Sign up for the hackathon In case you haven't done that before
- 🦤 A little birdie says that you might even get a bit of exclusive swag for participating, too!
- Make sure you are logged in the Puppet Community Slack
- Join the
#hackathons
channel- Most of the communication will be asynchronous, make sure you are in that channel so you don't miss anything!
- Have some coffee ☕ and cookies 🍪 handy
- Zoom. The hackathon kick-off and closing will happen via Zoom, make sure to check the
#hackathons
channel for more up to date information. - Slack
- Developer tooling ecosystem
- Puppet PDK
- Open issues: https://github.com/puppetlabs/pdk/issues
- Puppet Rspec
- RSpec tests for your Puppet manifests & modules
- Open issues: https://github.com/puppetlabs/rspec-puppet/issues
- Puppet Litmus
- Litmus is a command line tool that allows you to run acceptance tests against Puppet modules
- Open issues https://github.com/puppetlabs/puppet_litmus/issues
- Puppet VS Code extension
- Provision
- When provisioning to GCP fails, make
provision::provision_service provisioner
retry on 500 error responses, there should be a MAX RETRY set though (3). So, the CI doesn’t fail due to provisioning failures. - Previous attempts: puppetlabs/provision#194
- When provisioning to GCP fails, make
- Puppet Code Validator
- Puppet Spec Helper
- PE Status Check
- lookup indicator_exclusions from hiera pe_status check
- Related issue on Github: puppetlabs/puppetlabs-pe_status_check#127
- Rubocop offenses
- Help us to fix Rubocop offenses from our tooling and modules.
- This is a good way to get to know a new project, by making small changes to reduce the number of Rubocop offenses in a project.
- This is just one example about a rubocop TO DO file from the PDK project
- The best approach to fix these would be to:
- find repos with a
.rubocop_todo.yml
- Look at the rules that have been excluded
- Comment one out
- Run bundle exec rubocop
- Commit your changes :)
- find repos with a
- Here is the general search on all our public Github repos that use a
.rubocop_todo.yml
file that has active filters: https://github.com/search?q=org%3Apuppetlabs+path%3A.rubocop_todo.yml+%2F%5E.*%5C%2F.*%3A%24%2F&type=code
- Forge Ruby Gem
- Issue: This library (gem) currently does no response caching of its own, instead opting to re-issue every request each time.
- Puppet PDK
- General help needed
- Greenfield solutions
- Build a module’s legacy facts scanner, it should receive an optional parameter (replace=true) to replace automatically the legacy facts for current facts
- Bring your own challenge
- Maybe you have a bug that has been bothering you for some time now, or you want to improve a feature that your work depends on. Work on something that motivates you 😊
- You are not familiar with Puppet's Dev tooling ecosystem but you still want to contribute in a module? Please feel free to do that 🙌
After creating a Pull Request (PR) on the Github repositories, make sure to add the label MayTheSourceBeWithYou
to it.