This change updates the multi-component name to reflect the name generated by the goreleaser configuration in packer-plugin-scaffolding. It also adds a small call out about the SHA256SUM file that needs to be present for binaries installed via `packer init` in case maintainers want to test packer init locally without having to call out to GitHub.
59 lines
2.8 KiB
Plaintext
59 lines
2.8 KiB
Plaintext
Plugins will usually be located in the
|
|
[PACKER_HOME_DIR](/docs/configure#packer-s-home-directory).
|
|
|
|
* [`packer init`](/docs/commands/init) will install plugins in the **last** directory
|
|
in the following numbered list.
|
|
|
|
* During the initialization of Packer, any plugin required in the
|
|
**`required_plugins`** section will be looked up in all entries of the following
|
|
list. **First** plugin found takes precedence. Two binaries of the same plugin
|
|
with two different version will be considered as two different plugins. Highest
|
|
found version matching `required_plugins` will be taken into consideration.
|
|
|
|
1. The directory where `packer` is, or the executable directory.
|
|
1. The current working directory. (`"."`)
|
|
1. The `PACKER_HOME_DIR/plugins` directory. PACKER_HOME_DIR refers to *[Packer's home
|
|
directory](/docs/configure#packer-s-home-directory)*, if it could be found.
|
|
1. The director(y/ies) under the `PACKER_PLUGIN_PATH` env var, if `PACKER_PLUGIN_PATH`
|
|
is set.
|
|
|
|
~> **Note**: There can be more than one directory in the `PACKER_PLUGIN_PATH`
|
|
env var, it will be seperated by a semicolon (`;`) on Windows systems and a
|
|
colon (`:`) on other systems. The order priority will be kept.
|
|
|
|
Using the following example :
|
|
```hcl
|
|
required_plugins {
|
|
happycloud = {
|
|
version = ">= 2.7.0"
|
|
source = "github.com/azr/happycloud"
|
|
}
|
|
}
|
|
```
|
|
|
|
The plugin getter will then install the binaries in the following location for a
|
|
system with no `PACKER_PLUGIN_PATH` env var set.
|
|
|
|
* `PACKER_HOME_DIR/plugins/github.com/hashicorp/happycloud/`
|
|
|
|
During initialization, on a `darwin_amd64` system, Packer will look-up for the
|
|
following files:
|
|
|
|
* `PACKER_EXEC_DIR/github.com/azr/happycloud/packer-plugin-happycloud_*_x5.0_darwin_amd64`
|
|
* `./github.com/azr/happycloud/packer-plugin-happycloud_*_x5.0_darwin_amd64`
|
|
* `PACKER_HOME_DIR/plugins/github.com/azr/happycloud/packer-plugin-happycloud_*_x5.0_darwin_amd64`
|
|
* `PACKER_PLUGIN_PATH/github.com/azr/happycloud/packer-plugin-happycloud_*_x5.0_darwin_amd64`
|
|
* `./packer-plugin-happycloud`
|
|
|
|
The first plugin-name/version files found will take precedence.
|
|
|
|
For plugins located under the `github.com/azr/happycloud/` directory structure an accompanying SHA256SUM file
|
|
will be required in order for `packer init` to ensure the plugin being loaded has not been tampered with.
|
|
The SHA256SUM file will be automatically generated when a plugin is installed via `packer init` if the plugin
|
|
was installed manually into `PACKER_HOME_DIR/plugins/github.com/azr/happycloud/` then the file
|
|
`PACKER_HOME_DIR/plugins/github.com/azr/happycloud/packer-plugin-happycloud_*_x5.0_darwin_amd64_SHA256SUM` must be generated manually as well.
|
|
|
|
-> Note: `PACKER_HOME_DIR` is not an actual env var and refers to [Packer's home
|
|
directory](#packer-s-home-directory). `PACKER_EXEC_DIR` is not an actual env var
|
|
and refers to the directory where `packer` is, or the executable directory.
|