The current documentation about installing plugins does not explain
(outside of the `packer init' section) how Packer discovers plugins,
what the expected file system hierarchy should be, and the quirk of how
this takes precedence over the rest when `required_plugins' is
specified.
This commit addresses that by reorganising the page to highlight general
usage questions on sources and plugins, and simplifies the tabs below to
only highlight installation methods.
In order to better document packer plugins installation methods, and
since `packer plugins install' is not really manual, we split in two
sections the "manual installation".
As this is legacy, we stop documenting how to install single-component
plugins, and reword the documentation for manually installing a plugin.
Packer checks a number of directories for plugins upon initialization,
with the introduction of multi-component plugins and underlying changes
to the Packer SDK the ordering changed slightly. These changes update
the related documentation to reflect the new ordering, and adds a plugin
loading ordering section to the docs to help users discover how plugin
loading works.
Include in this change are updates to the PACKER_CONFIG_DIR environment
variables to reflect the XDG base directory specification used as the
default Packer configuration directory layout.
* Update website/content/docs/configure.mdx
* website: fix broken links on /docs/templates
* fix: redirected install-plugins link
* fix: debugging link
* fix: secrets manager link in docs
* fix: secrets manager link in source
* fix: amazon ami plugin link in docs
* fix: amazon ami plugin link in source
* fix: extending plugins link
* fix: plugins/builders/amazon links
* fix: various builders links
* fix: various amazon builder links
* fix: redirected terminology link
* fix: custom-provisioners link
* fix: docker-push redirected plugin link
* fix: googlecompute plugin links
* fix: hyperv iso plugin links
* website: update link to hcl upgrade guide
Co-authored-by: Wilken Rivera <wilken@hashicorp.com>
Co-authored-by: Wilken Rivera <wilken@hashicorp.com>
* Separate install instructions; add to external plugins
* Remove duplicate external plugin link; modify overiew page
* Remove unnecessary partials; clean up plugin overview page
* cleaning up plugin explanations
* final language updates
* modify external plugin overview page
* Update website/content/docs/plugins/index.mdx
Co-authored-by: Wilken Rivera <wilken@hashicorp.com>
* Update website/content/docs/plugins/install-plugins.mdx
Co-authored-by: Wilken Rivera <wilken@hashicorp.com>
* Move HCP Support to under developing plugins
* Link HCP Packer support to other dev pages; fix overviews
* clean up more language and links
* Add External Plugins link to docs sidebar under plugin section
* Update website/data/docs-nav-data.json
Co-authored-by: Wilken Rivera <wilken@hashicorp.com>
* refactor(website): use prop and CSS for plugin label spacing
* fix: add official tier label to built-in plugin docs
* feat(website): add BadgesHeader component
* refactor(website): use BadgesHeader in all content
* feat(website): add HCP ready demo, tweak badge look
* refactor: integrate work from add-plugin-version branch
* fix(website): correct bad import
* fix: use updated MDX custom component
* chore: remove plugin version label work from this branch
* chore: remove unused var
* fix: use new BadgesHeader interface for dual tags
* chore: remove unused var, refine comment
* fix: remove unused broken import
* fix: shorten property for HCP packer readiness
* Apply suggestions from code review
Remove a few demo labels before merging
Co-authored-by: Wilken Rivera <dev@wilkenrivera.com>
* fixes typos in base docs
* fixes typos in example code
* fixes typos in website docs
* fixes link to Terraform provider
* fixes typo in function name
* Initial draft of Packer Integration Program docs page
- [ ] Add text from program document.
- [ ] Fix image alignment
- [ ] Fix Checklist alignment (remove bullets if possible)
- [ ] Validate with program team
* Fix broken markdown
* fix styling on centered image and checklist
* revert package-lock update
* Update packer-integration-program.mdx
Fix a few formatting issues
Co-authored-by: Jeff Escalante <jescalan@users.noreply.github.com>
* website: fix issue with edits links, use branch name, not version
* website: patch layout shift issue related to global style
* website: update plugin config docs with sourceBranch
* website: tweak spacing above plugin tier label
* website: add note on default value for sourceBranch
* document builder id of artifact for each builder's output on website
* document postprocessor artifact ids on website
* Fix links to new communicator page
Co-authored-by: Wilken Rivera <dev@wilkenrivera.com>
* Packer has no state like Terraform has
* init command docs: tell where a plugin will be installed
* docs: add a note that packer init does not work with legacy JSON templates
* docs: add a not that packer init does not install single-plugin binaries
* the plugin getter => packer init
* Update init.mdx
* grammar
* link to how to install plugins manually
* Update website/content/docs/commands/init.mdx
Co-authored-by: Sylvia Moss <moss@hashicorp.com>
* Update website/content/docs/commands/init.mdx
Co-authored-by: Sylvia Moss <moss@hashicorp.com>
Co-authored-by: Sylvia Moss <moss@hashicorp.com>
This adds the new `required_plugins` block to be nested under the packer block.
Example:
```hcl
packer {
required_plugins {
aws = {
version = ">= 2.7.0"
source = "azr/aws"
}
azure = ">= 2.7.0"
}
}
```
For example on darwin_amd64 Packer will install those under :
* "${PACKER_HOME_DIR}/plugin/github.com/azr/amazon/packer-plugin-amazon_2.7.0_x5.0_darwin_amd64"
* "${PACKER_HOME_DIR}/plugin/github.com/hashicorp/azure/packer-plugin-azure_2.7.0_x5.0_darwin_amd64_x5"
+ docs
+ tests