diff --git a/website/content/docs/commands/init.mdx b/website/content/docs/commands/init.mdx index 89a9b0864..57a9813fa 100644 --- a/website/content/docs/commands/init.mdx +++ b/website/content/docs/commands/init.mdx @@ -8,20 +8,20 @@ sidebar_title: init # `init` Command -> **Note:** Packer init does not work with legacy JSON templates. You can -upgrade your JSON config files to HCL using the hcl2ugprade command. +upgrade your JSON config files to HCL using the [hcl2_upgrade](/docs/commands/hcl2_upgrade) command. -> **Note:** Packer init will only work with multiplugins -- that is plugins -that are named `packer-plugin-*` -- to install a single plugin binary -- that is +that are named `packer-plugin-*`. To install a single plugin binary -- that is `packer-provisioner-*`, `packer-builder-*`, etc. -- nothing changes, you will have to [install the plugin manually](/docs/plugins#installing-plugins). The `packer init` command is used to download Packer plugin binaries. This is the first command that should be executed when working with a new or existing template. This command is always safe to run multiple times. Though subsequent -runs may give errors, this command will never delete anything. +runs may give errors, this command will never delete anything. Packer does not currently have the notion of a state like Terraform has. In other words, -currently `packer init` is only in charge of installing packer plugins. +currently `packer init` is only in charge of installing packer plugins. Currently, `packer init` can only fetch binaries from public projects on **GitHub**. GitHub's public API, [limits the number of unauthenticated requests per hour one IP can @@ -53,6 +53,13 @@ packer { } ``` +HashiCorp does not officially verify third party Packer plugins, plugins not under the HashiCorp namespace `hashicorp/*`; as with all open source tools, please do your own due diligence when using a new tool. + +## Plugin Selection +Plugin selection depends on the source and version constraints defined within the `required_plugins` block. +For each of the required plugins Packer will query the source repository `azr/myawesomecloud` whose fully qualified address +is `https://github.com/azr/packer-plugin-myawesomecloud` for a plugin matching the version constraints for the host Os. + Packer init will install the latest found version matching the version selection in the `required_plugins` section. Make sure to set a correct [version constraint @@ -60,9 +67,11 @@ string](/docs/templates/hcl_templates/blocks/packer#version-constraints). The plugins will be installed in the [Plugin Directory](/docs/configure#packer-s-plugin-directory). - +See [Installing Plugins](/docs/plugins#installing-plugins) for more information on how plugin installation works. ## Options - `-upgrade` - On top of installing missing plugins, update installed plugins to the latest available version, if there is a new higher one. Note that this still takes into consideration the version constraint of the config. + +