Chapter 18. Publishing Modules
This chapter will cover how to share your module with others, both inside and outside of your organization.
This chapter makes numerous references to the Puppet Forge, but nearly every case is also true of private forges hosted internally by organizations.
Updating the Module Metadata
First, review and update the Chapter 16. In particular, make sure that the following files have been created, and are up to date:
- README.md, as described in “Writing a Good README”
- CHANGELOG.md, as described in “Maintaining the Change Log”
- metadata.json, as described in “Updating Module Metadata”
- LICENSE, as described in “Identifying the License”
Every one of these files is used by the Puppet Forge to create details for users of your module.
One feature of the metadata we didn’t discuss previously was keyword tags. These are used by the Puppet Forge search engine to help users find your module.
Update the metadata.json file to include an array of keyword tags relevant to your project. Tags cannot contain spaces, and should not match any valid value from $facts['operatingsystem'].
"tags":["agent","server"],
Tip
As this file is standard (picky) JSON format, make sure to remove single quotes and trailing commas.Packaging a Module
After verifying the metadata is accurate, use puppet module build to package the module.
$puppetmodulebuildNotice:Buildingjorhett-puppetforreleaseModulebuilt:jorhett-puppet/pkg/jorhett-puppet-1.2.1.tar.gz
Note that the ...