-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document the process for registering a plugin as an integration #108
Conversation
The Packer integration framework requires that all plugin integrations follow a consistent documentation structure. The structure outlined below requires a single top-level README.md for the integration, and one README.md file per component offered by the integration. Any shared documentation such as authentication, guides, common plugin practices should be captured with the top-level integration README. Component specific READMEs should only contain information related to the component. ``` docs βββ README.md #top-level integration README - main entry point at https://developer.hashicorp/packer/integrations βββ components βββ builder # builder component types βΒ Β βββ name # named component (e.g docker) βΒ Β βββ README.md βββ datasource βΒ Β βββ name # named data source (e.g http) βΒ Β βββ README.md βββ post-processor βΒ Β βββ name βΒ Β βββ README.md βββ provisioner βββ name βββ README.md ```
This change adds the controlling metadata.hcl file needed for registering a plugin as a Packer integration. The example metadata.hcl file has been updated to reflect the components within the scaffolding template. In additional to the controlling metadata file the two integration release workflows have been added to show case how a plugin integration can be used manually and automatically via a release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a good first step to updating this!
I think we should also update the Makefile to build the docs properly, unless this is planned for a future PR?
Left a couple questions/remarks, feel free to address those and I'll do another pass later!
README.md
Outdated
Once the first `docs.zip` file has been included into a release you will need to open a one time pull-request against [hashicorp/packer](https://github.com/hashicorp/packer) to register the plugin docs. | ||
Registering a plugin as an integration requires [metadata configuration](./metadata.hcl) within the plugin | ||
repository and approval by the Packer team. To initiate the process of registering your | ||
plugin as a Packer integration refer to the [Developing Plugins](https://developer.hashicorp.com/docs/packer/plugins/creation) page. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I presume this will be created soon as well? The link is dead for now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a typo in the link. I will fix that.
Coming back on this, we should probably add some partials to the example docs, so users that adopt it will see how they're used. |
I've created a new issue to track this. I think that would be a good follow up PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
The Packer integration framework requires that all plugin integrations follow a consistent documentation structure. The structure outlined below requires a single top-level README.md for the integration, and one README.md file per component offered by the integration.
Any shared documentation such as authentication, guides, common plugin practices should be captured with the top-level integration README. Component specific READMEs should only contain information related to the component.