Skip to content

Instantly share code, notes, and snippets.

@abrader
Created March 7, 2018 14:01
Show Gist options
  • Save abrader/87db4aeaf2bca5b3a3391876dfd8f536 to your computer and use it in GitHub Desktop.
Save abrader/87db4aeaf2bca5b3a3391876dfd8f536 to your computer and use it in GitHub Desktop.
Puppet Partner Expectations for Integrations

Puppet Partner Expectations for Integrations

  1. Overview
  2. Initial review
  3. Module development
  4. Test suite development
  5. Final review
  6. Module team review
  7. Forge publish
  8. Forge badging

Overview


The purpose of this document is to provide instructions at each step of the development process of a Puppet partner integration.

Initial review


In the case that you or someone from your company developed an integration with Puppet prior to becoming a Puppet partner, you will likely want to have the state of that integration reviewed. This will provide invaluable information detailing if the prior integration is a good starting point moving forward or if an entirely new integration should be developed. It will also provide early insight on any design patterns that should be used and any patterns used previously that should be refactored.

Module development


Depending on the type of integration, the rest of the sections of this document may be more or less useful. In the case the integration you are developing is a module, then this will apply to you. When developing either Puppet DSL or Ruby code for Puppet modules, the following documents will be very useful for aiding you through the process:

Example modules
Pure Puppet DSL module
Mix of Puppet types/providers and Puppet DSL
Puppet type/provider module with REST API
Puppet type/provider module with REST API and Puppet Device
Puppet DSL
Ruby

Test suite development


Final review


The final review is performed by a member of the Partner Engineering team at Puppet. This review will require the following requirements are met:

Module team review


Forge publish


Forge badging


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment