Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: hashicorp/packer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.10.3
Choose a base ref
...
head repository: hashicorp/packer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.11.0-beta
Choose a head ref

Commits on Nov 10, 2023

  1. Copy the full SHA
    ebc1317 View commit details
  2. Copy the full SHA
    a118b54 View commit details
  3. Copy the full SHA
    c59edfa View commit details
  4. Copy the full SHA
    cc22e28 View commit details
  5. Revert "Bumped product version to 1.12.0."

    This reverts commit cc22e28.
    The action successfully works now for the future release branch.
    nywilken committed Nov 10, 2023
    Copy the full SHA
    c138ce5 View commit details

Commits on Nov 15, 2023

  1. deps: Bump github.com/hashicorp/hcp-sdk-go to v0.73.0

    * Updates cloud-resource-management API to use sable
    * Removes duplicate imports of the same SDK packages
    nywilken committed Nov 15, 2023
    Copy the full SHA
    c245b1f View commit details

Commits on Nov 22, 2023

  1. Copy the full SHA
    7951607 View commit details
  2. build(deps): bump github.com/hashicorp/hcp-sdk-go from 0.73.0 to 0.74.0

    Bumps [github.com/hashicorp/hcp-sdk-go](https://github.com/hashicorp/hcp-sdk-go) from 0.73.0 to 0.74.0.
    - [Release notes](https://github.com/hashicorp/hcp-sdk-go/releases)
    - [Changelog](https://github.com/hashicorp/hcp-sdk-go/blob/main/CHANGELOG.md)
    - [Commits](hashicorp/hcp-sdk-go@v0.73.0...v0.74.0)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/hashicorp/hcp-sdk-go
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and nywilken committed Nov 22, 2023
    Copy the full SHA
    9b2d9f4 View commit details
  3. packer: link to docs if a component is missing

    When a user invokes packer for a build or validation, the template being
    processed needs components to be present for Packer to process it
    without error.
    
    If the component cannot be found from the plugins loaded (or from the
    components bundled with Packer), Packer errors, and the command fails.
    
    This is expected, but the error message does not suggest anything to fix
    the error, potantially leaving users confused at the problem.
    
    This commit suggests either a replacement (in case of a typo), or points
    to the web documentation for Packer, specifically the integrations, so
    they can look for the plugin they're missing, and install it, so
    subsequent invocations of Packer work.
    lbajolet-hashicorp committed Nov 22, 2023
    Copy the full SHA
    efe182b View commit details

Commits on Nov 23, 2023

  1. Update Acceptance Test to include BuilderSet

    This change initializes a MapOfBuilders with the test builder to fix a
    panic with checking if the initialized BuilderSet has an entry for the
    test builder.
    nywilken committed Nov 23, 2023
    Copy the full SHA
    311ba90 View commit details
  2. Copy the full SHA
    17ff508 View commit details

Commits on Nov 28, 2023

  1. Copy the full SHA
    c90ea91 View commit details
  2. Copy the full SHA
    708653c View commit details
  3. hcl2: don't show an empty source on var errors

    If a variable is defined and overriden in the packer command-line, but
    there's a problem during the evaluation of this override (type error
    typically), we show an error message which details the problem.
    
    This message points to a temporary in-memory HCL2 "file" that we use for
    parsing and evaluating the expression for the variable, but since it's
    virtual, there's no point in using this as the source for the error, as
    it will always yield "line 0" and no contents.
    
    So, in order to limit confusion here, we remove the source for this
    error message.
    lbajolet-hashicorp committed Nov 28, 2023
    Copy the full SHA
    8c7b973 View commit details
  4. Copy the full SHA
    ebaf831 View commit details

Commits on Nov 29, 2023

  1. Copy the full SHA
    2aad170 View commit details
  2. hcl2template/functions: Add Non-null refinements for various functions

    cty's new "refinements" concept allows us to reduce the range of unknown
    values from our functions. This initial changeset focuses only on
    declaring which functions are guaranteed to return a non-null result,
    which is a helpful baseline refinement because it allows "== null" and
    "!= null" tests to produce known results even when the given value is
    otherwise unknown.
    
    This commit also includes some updates to test results that are now
    refined based on cty's own built-in refinement behaviors, just as a
    result of us having updated cty in the previous commit.
    nywilken committed Nov 29, 2023
    Copy the full SHA
    263821a View commit details
  3. Copy the full SHA
    083243c View commit details

Commits on Nov 30, 2023

  1. docs: reorg plugins installation tabs

    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.
    lbajolet-hashicorp committed Nov 30, 2023
    Copy the full SHA
    aad03ba View commit details
  2. docs: rm implicit github urls from install guide

    This section is redundant with the explanations given above, and can
    therefore be removed from the docs.
    lbajolet-hashicorp committed Nov 30, 2023
    Copy the full SHA
    35d20c2 View commit details
  3. docs: reorganise plugin installation docs

    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.
    lbajolet-hashicorp committed Nov 30, 2023
    Copy the full SHA
    24430e2 View commit details

Commits on Dec 4, 2023

  1. Copy the full SHA
    327d8a4 View commit details
  2. command: add packer plugins install path flag

    This new flag allows the `packer plugins install' command to install a
    plugin from a local binary rather than from Github.
    
    This command will only call `describe' on the plugin, and won't do any
    further checks for functionality. The SHA256SUM will be directly
    computed from the binary, so as with anything manual and potentially
    sourced by the community, extra care should be applied when invoking
    this.
    lbajolet-hashicorp committed Dec 4, 2023
    Copy the full SHA
    6f43a82 View commit details
  3. command: add --force option to init/install

    The --force option for packer init and packer plugins install enforces
    installation of a plugin, even if it is already locally installed.
    
    This will become useful if for some reason a pre-existing plugin
    binary/version is already installed, and we want to overwrite it.
    lbajolet-hashicorp committed Dec 4, 2023
    Copy the full SHA
    a2d9c9d View commit details
  4. command: reject version with --path for install

    To avoid plugins being installed with a specific version when a path is
    used for installing a plugin from a locally sourced plugin binary, we
    explicitly reject the combination of both a path and a version for
    plugins install.
    lbajolet-hashicorp committed Dec 4, 2023
    Copy the full SHA
    ae5b918 View commit details
  5. command: plugins install reject non-releases

    When installing a plugin with packer plugins install --path, we only
    accept release versions of a plugin, as otherwise the loading can be
    inconsistent if for example a user specifies a required_plugins block in
    their template, in which case the plugins will be ignored.
    
    Until we have a simpler loading scheme then, we will reject non-release
    versions of plugins to avoid confusion.
    lbajolet-hashicorp committed Dec 4, 2023
    Copy the full SHA
    e293f2d View commit details
  6. command: simplify local binary installation

    Read original binary into memory to fix case when installation
    destination and source were the same, resulting in an empty binary.
    lbajolet-hashicorp committed Dec 4, 2023
    Copy the full SHA
    8e2a22e View commit details
  7. Copy the full SHA
    97e2e9e View commit details

Commits on Dec 5, 2023

  1. Remove migrated plugins from old plugin docs framework

    This change removes the following plugins from the old docs framework, as
    they have been fully migrated to the integrations framework.
    
    * ethanmdavidson/packer-plugin-git
    * linode/packer-plugin-linode
    * parallels/packer-plugin-parallels
    * ivoronin/packer-plugin-sshkey
    * cirruslabs/packer-plugin-tart
    nywilken authored and lbajolet-hashicorp committed Dec 5, 2023
    Copy the full SHA
    91a16aa View commit details
  2. plugin-getter: don't rely only on version for list

    The plugins installed command list installed plugins, and prints out all
    their paths and versions.
    
    The results are listed in a list of unique versions, in ascending
    order.
    
    When listing plugins outside of a specific identifier however, because
    of the insertion in the list works, we only consider the version number,
    and ignore all subsequent insertions with the same version.
    
    This causes a problem when we have multiple plugins installed with the
    same version, as only the first one that is discovered (typically the
    one with lexicographical precedence) gets inserted, and the others are
    ignored.
    
    To support such a use case, we change the insertion routine to not only
    support versions, but also paths when finding a spot to insert the
    installation into.
    lbajolet-hashicorp committed Dec 5, 2023
    Copy the full SHA
    da97f46 View commit details
  3. Copy the full SHA
    4d5f1a3 View commit details
  4. Copy the full SHA
    c0de07c View commit details
  5. Replace relative links

    nywilken authored and lbajolet-hashicorp committed Dec 5, 2023
    Copy the full SHA
    6d7d266 View commit details
  6. Address review feedback

    nywilken authored and lbajolet-hashicorp committed Dec 5, 2023
    Copy the full SHA
    149a809 View commit details
  7. Copy the full SHA
    e2a2a08 View commit details
  8. Copy the full SHA
    9565eca View commit details
  9. Apply suggestions from code review

    Co-authored-by: Lucas Bajolet <105649352+lbajolet-hashicorp@users.noreply.github.com>
    Co-authored-by: Sylvia Moss <moss@hashicorp.com>
    3 people committed Dec 5, 2023
    Copy the full SHA
    9d46c90 View commit details

Commits on Dec 6, 2023

  1. Update spacing for flags within Help text

    Before Change
    ```
    
    Options:
      - path <path>: install the plugin from a locally-sourced plugin binary. This
                     installs the plugin where a normal invocation would, but will
                     not try to download it from a remote location, and instead
                     install the binary in the Packer plugins path.
                     This option cannot be specified with a version constraint.
      - force:       forces reinstallation of plugins, even if already installed.
    
    ```
    
    After Change
    ```
    Options:
      -path <path>                  Install the plugin from a locally-sourced plugin binary.
                                    This installs the plugin where a normal invocation would, but will
                                    not try to download it from a remote location, and instead
                                    install the binary in the Packer plugins path. This option cannot
                                    be specified with a version constraint.
      -force                        Forces reinstallation of plugins, even if already installed.
    ```
    nywilken committed Dec 6, 2023
    Copy the full SHA
    2241b1f View commit details
  2. Copy the full SHA
    fd7fc49 View commit details

Commits on Dec 13, 2023

  1. Update plugin_integration.md

    Fix todo list markdown formatting
    Wilken Rivera authored Dec 13, 2023
    Copy the full SHA
    699c0f8 View commit details

Commits on Jan 2, 2024

  1. Merge pull request #12752 from hashicorp/RELPLAT-955-EOY-license-updates

    [DO NOT MERGE UNTIL EOY] EOY license updates
    Copy the full SHA
    4825c65 View commit details

Commits on Jan 3, 2024

  1. Copy the full SHA
    9afafd9 View commit details
  2. Merge pull request #12767 from hashicorp/bmm/upcloud-version-pin

    Pin UpCloud plugin version
    BrianMMcClain authored Jan 3, 2024
    Copy the full SHA
    76de1d3 View commit details

Commits on Jan 8, 2024

  1. website: remove UpCloud from manifest

    Since the UpCloud plugin has moved to the integrations model, we don't
    want to continue looking for a docs.zip in their repo, as it doesn't
    exist anymore with this migration.
    lbajolet-hashicorp committed Jan 8, 2024
    Copy the full SHA
    311a3b1 View commit details
  2. Copy the full SHA
    0b06cb5 View commit details
  3. Bump Go version to 1.20.12

    Bumped to pull in security fixes to the go command, the net/http package,
    and path/filepath package.
    nywilken authored and lbajolet-hashicorp committed Jan 8, 2024
    Copy the full SHA
    0a64a5f View commit details
  4. Copy the full SHA
    2515aa2 View commit details
  5. Copy the full SHA
    bfc3f8b View commit details

Commits on Jan 9, 2024

  1. build(deps): bump github.com/hashicorp/hcp-sdk-go from 0.74.0 to 0.79.0

    Bumps [github.com/hashicorp/hcp-sdk-go](https://github.com/hashicorp/hcp-sdk-go) from 0.74.0 to 0.79.0.
    - [Release notes](https://github.com/hashicorp/hcp-sdk-go/releases)
    - [Changelog](https://github.com/hashicorp/hcp-sdk-go/blob/main/CHANGELOG.md)
    - [Commits](hashicorp/hcp-sdk-go@v0.74.0...v0.79.0)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/hashicorp/hcp-sdk-go
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and nywilken committed Jan 9, 2024
    Copy the full SHA
    a9000f3 View commit details

Commits on Jan 10, 2024

  1. Copy the full SHA
    beb5fcf View commit details
Showing with 6,937 additions and 5,819 deletions.
  1. +1 −1 .copywrite.hcl
  2. +1 −1 .github/CONTRIBUTING.md
  3. +21 −0 .github/ISSUE_TEMPLATE/plugin_integration.md
  4. +5 −5 .github/workflows/acceptance-test.yml
  5. +1 −1 .github/workflows/auto-close-stale-issues.yml
  6. +31 −21 .github/workflows/build.yml
  7. +0 −105 .github/workflows/check-plugin-docs.js
  8. +0 −34 .github/workflows/check-plugin-docs.yml
  9. +1 −1 .github/workflows/create-release-branch.yml
  10. +7 −7 .github/workflows/go-test.yml
  11. +9 −9 .github/workflows/go-validate.yml
  12. +1 −1 .github/workflows/issue-comment-created.yml
  13. +4 −4 .github/workflows/issues-opened.yml
  14. +4 −4 .github/workflows/jira.yml
  15. +1 −1 .github/workflows/lock.yml
  16. +7 −7 .github/workflows/nightly-release.yml
  17. +1 −1 .go-version
  18. +2 −15 .release/ci.hcl
  19. +4 −0 .release/docker/README.md
  20. +314 −27 CHANGELOG.md
  21. +0 −2 CODEOWNERS
  22. +4 −1 Dockerfile
  23. +10 −9 LICENSE
  24. +1 −3 acctest/plugin/component_acc_test.go
  25. +15 −38 acctest/plugin/plugin_acc_test.go
  26. +3 −0 acctest/testing.go
  27. +37 −12 command/build.go
  28. +8 −0 command/cli.go
  29. +11 −7 command/{plugin.go → execute.go}
  30. +15 −0 command/fmt_test.go
  31. +1 −0 command/hcl2_upgrade.go
  32. +28 −6 command/init.go
  33. +74 −167 command/init_test.go
  34. +246 −16 command/plugins_install.go
  35. +37 −38 command/plugins_install_test.go
  36. +1 −1 command/plugins_installed.go
  37. +88 −16 command/plugins_remove.go
  38. +0 −215 command/plugins_remove_test.go
  39. +6 −1 command/plugins_required.go
  40. +14 −0 command/test-fixtures/fmt_errs/malformed.pkr.hcl
  41. +6 −0 command/validate.go
  42. +37 −6 commands.go
  43. +4 −4 config.go
  44. +251 −0 datasource/hcp-packer-artifact/data.go
  45. +98 −0 datasource/hcp-packer-artifact/data.hcl2spec.go
  46. +10 −8 datasource/hcp-packer-image/data.go
  47. +3 −1 datasource/hcp-packer-iteration/data.go
  48. +29 −13 datasource/hcp-packer-iteration/data_acc_test.go
  49. +16 −0 datasource/hcp-packer-iteration/test-fixtures/hcp-setup-build.pkr.hcl
  50. +7 −7 datasource/hcp-packer-iteration/test-fixtures/template.pkr.hcl
  51. +149 −0 datasource/hcp-packer-version/data.go
  52. +88 −0 datasource/hcp-packer-version/data.hcl2spec.go
  53. +69 −0 datasource/hcp-packer-version/data_acc_test.go
  54. +16 −0 datasource/hcp-packer-version/test-fixtures/hcp-setup-build.pkr.hcl
  55. +33 −0 datasource/hcp-packer-version/test-fixtures/template.pkr.hcl
  56. +76 −70 go.mod
  57. +228 −394 go.sum
  58. +85 −83 hcl2template/addrs/plugin.go
  59. +94 −12 hcl2template/addrs/plugin_test.go
  60. +2 −1 hcl2template/formatter.go
  61. +20 −15 hcl2template/function/datetime.go
  62. +2 −1 hcl2template/function/env.go
  63. +2 −1 hcl2template/function/index.go
  64. +1 −0 hcl2template/function/length.go
  65. +11 −7 hcl2template/function/length_test.go
  66. +9 −0 hcl2template/function/refinements.go
  67. +1 −1 hcl2template/parser.go
  68. +68 −5 hcl2template/plugin.go
  69. +12 −0 hcl2template/testdata/hcp_par/invalid_bucket.pkr.hcl
  70. +6 −0 hcl2template/testdata/hcp_par/long-description.pkr.hcl
  71. +12 −0 hcl2template/testdata/hcp_par/long_bucket.pkr.hcl
  72. +12 −0 hcl2template/testdata/hcp_par/ok_bucket.pkr.hcl
  73. +12 −0 hcl2template/testdata/hcp_par/short_bucket.pkr.hcl
  74. +11 −0 hcl2template/types.build.hcp_packer_registry.go
  75. +114 −0 hcl2template/types.build.hcp_packer_registry_test.go
  76. +21 −13 hcl2template/types.build_test.go
  77. +2 −0 hcl2template/types.datasource_test.go
  78. +15 −9 hcl2template/types.packer_config.go
  79. +13 −22 hcl2template/types.packer_config_test.go
  80. +8 −8 hcl2template/types.required_plugins.go
  81. +3 −3 hcl2template/types.required_plugins_test.go
  82. +1 −0 hcl2template/types.source_test.go
  83. +0 −1 hcl2template/types.variables.go
  84. +10 −3 hcl2template/types.variables_test.go
  85. +12 −14 internal/hcp/api/client.go
  86. +1 −1 internal/hcp/api/client_test.go
  87. +55 −0 internal/hcp/api/deprecated_client.go
  88. +79 −0 internal/hcp/api/deprecated_service.go
  89. +120 −92 internal/hcp/api/mock_service.go
  90. +0 −253 internal/hcp/api/service.go
  91. +66 −0 internal/hcp/api/service_bucket.go
  92. +95 −0 internal/hcp/api/service_build.go
  93. +35 −0 internal/hcp/api/service_channel.go
  94. +61 −0 internal/hcp/api/service_version.go
  95. +4 −4 internal/hcp/registry/artifact.go
  96. +131 −0 internal/hcp/registry/deprecated_ds_config.go
  97. +129 −0 internal/hcp/registry/ds_config.go
  98. +2 −1 internal/hcp/registry/errors.go
  99. +44 −147 internal/hcp/registry/hcl.go
  100. +8 −17 internal/hcp/registry/hcp.go
  101. +25 −18 internal/hcp/registry/json.go
  102. +2 −2 internal/hcp/registry/null_registry.go
  103. +5 −5 internal/hcp/registry/registry.go
  104. +273 −210 internal/hcp/registry/types.bucket.go
  105. +101 −103 internal/hcp/registry/types.bucket_service_test.go
  106. +176 −51 internal/hcp/registry/types.bucket_test.go
  107. +41 −42 internal/hcp/registry/types.builds.go
  108. +0 −177 internal/hcp/registry/types.iterations.go
  109. +204 −0 internal/hcp/registry/types.version.go
  110. +4 −4 internal/hcp/registry/{types.iterations_test.go → types.version_test.go}
  111. +13 −7 main.go
  112. +40 −0 packer/build.go
  113. +64 −2 packer/core.go
  114. +38 −7 packer/plugin-getter/github/getter.go
  115. +482 −198 packer/plugin-getter/plugins.go
  116. +290 −307 packer/plugin-getter/plugins_test.go
  117. +1 −0 ...etter/testdata/plugins_3/github.com/hashicorp/alazon/packer-plugin-alazon_v1.2.5_x5.0_linux_amd64
  118. +1 −0 ...data/plugins_3/github.com/hashicorp/alazon/packer-plugin-alazon_v1.2.5_x5.0_linux_amd64_SHA256SUM
  119. +1 −0 ...etter/testdata/plugins_3/github.com/hashicorp/amazon/packer-plugin-amazon_v1.2.5_x5.0_linux_amd64
  120. +1 −0 ...data/plugins_3/github.com/hashicorp/amazon/packer-plugin-amazon_v1.2.5_x5.0_linux_amd64_SHA256SUM
  121. +143 −225 packer/plugin.go
  122. +100 −221 packer/plugin_discover_test.go
  123. +14 −16 packer/plugin_folders.go
  124. +48 −0 packer/ui.go
  125. +8 −8 scripts/generate-plugins.go
  126. +0 −68 scripts/upgrade_plugins.sh
  127. +0 −74 test/README.md
  128. +0 −36 test/builder_googlecompute.bats
  129. +0 −48 test/builder_hyperone.bats
  130. +0 −106 test/builder_lxc.bats
  131. +0 −36 test/cli.bats
  132. +0 −30 test/communicator_ssh.bats
  133. +0 −15 test/fixtures/amazon-ebs/ami_region_copy.json
  134. +0 −13 test/fixtures/amazon-ebs/minimal.json
  135. +0 −16 test/fixtures/builder-googlecompute/minimal.json
  136. +0 −30 test/fixtures/builder-hyperone/chroot.json
  137. +0 −18 test/fixtures/builder-hyperone/minimal.json
  138. +0 −29 test/fixtures/builder-hyperone/new-syntax.pkr.hcl
  139. +0 −28 test/fixtures/builder-linode/minimal.json
  140. +0 −31 test/fixtures/builder-lxc/minimal.json
  141. +0 −21 test/fixtures/communicator-ssh/local-tunnel.json
  142. +0 −22 test/fixtures/communicator-ssh/remote-tunnel.json
  143. +0 −1 test/fixtures/provisioner-file/dir/file.txt
  144. +0 −22 test/fixtures/provisioner-file/dir_no_trailing.json
  145. +0 −23 test/fixtures/provisioner-file/dir_no_trailing_sftp.json
  146. +0 −22 test/fixtures/provisioner-file/dir_with_trailing.json
  147. +0 −23 test/fixtures/provisioner-file/dir_with_trailing_sftp.json
  148. +0 −22 test/fixtures/provisioner-file/file.json
  149. +0 −1 test/fixtures/provisioner-file/file.txt
  150. +0 −23 test/fixtures/provisioner-file/file_sftp.json
  151. +0 −21 test/fixtures/provisioner-shell/inline.json
  152. +0 −18 test/fixtures/provisioner-shell/script.json
  153. +0 −3 test/fixtures/provisioner-shell/script.sh
  154. +0 −20 test/fixtures/provisioner-shell/scripts.json
  155. +0 −53 test/provisioner_file.bats
  156. +0 −36 test/provisioner_shell.bats
  157. +0 −52 test/test_helper.bash
  158. +1 −1 version/VERSION
  159. +25 −9 version/version.go
  160. +3 −0 website/.husky/pre-commit
  161. +1 −1 website/.nvmrc
  162. +1 −1 website/Dockerfile
  163. +1 −1 website/README.md
  164. +4 −1 website/content/docs/commands/fmt.mdx
  165. +20 −15 website/content/docs/commands/init.mdx
  166. +17 −3 website/content/docs/commands/plugins/install.mdx
  167. +28 −7 website/content/docs/commands/plugins/remove.mdx
  168. +6 −11 website/content/docs/configure.mdx
  169. +105 −0 website/content/docs/datasources/hcp/hcp-packer-artifact.mdx
  170. +3 −1 website/content/docs/datasources/hcp/hcp-packer-image.mdx
  171. +3 −1 website/content/docs/datasources/hcp/hcp-packer-iteration.mdx
  172. +96 −0 website/content/docs/datasources/hcp/hcp-packer-version.mdx
  173. +17 −11 website/content/docs/datasources/hcp/index.mdx
  174. +77 −29 website/content/docs/hcp/index.mdx
  175. +3 −1 website/content/docs/index.mdx
  176. +57 −127 website/content/docs/plugins/creation/index.mdx
  177. +165 −195 website/content/docs/plugins/install-plugins.mdx
  178. +1 −1 website/content/docs/post-processors/manifest.mdx
  179. +68 −2 website/content/docs/templates/hcl_templates/blocks/packer.mdx
  180. +78 −8 website/content/docs/templates/hcl_templates/contextual-variables.mdx
  181. +1 −1 website/content/docs/templates/hcl_templates/functions/contextual/env.mdx
  182. +3 −3 website/content/docs/terminology.mdx
  183. +1 −1 website/content/guides/1.7-template-upgrade.mdx
  184. +6 −0 website/content/partials/datasource/hcp-packer-artifact/Config-not-required.mdx
  185. +22 −0 website/content/partials/datasource/hcp-packer-artifact/Config-required.mdx
  186. +31 −0 website/content/partials/datasource/hcp-packer-artifact/DatasourceOutput.mdx
  187. +2 −2 website/content/partials/datasource/hcp-packer-image/Config-required.mdx
  188. +7 −0 website/content/partials/datasource/hcp-packer-version/Config-required.mdx
  189. +25 −0 website/content/partials/datasource/hcp-packer-version/DatasourceOutput.mdx
  190. +1 −1 website/content/partials/packer-plugin-sdk/communicator/SSH-not-required.mdx
  191. +8 −22 website/content/partials/plugins/plugin-location.mdx
  192. +8 −4 website/data/docs-nav-data.json
  193. +0 −156 website/data/plugins-manifest.json
  194. +435 −632 website/package-lock.json
  195. +9 −13 website/package.json
2 changes: 1 addition & 1 deletion .copywrite.hcl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
project {
license = "BUSL-1.1"
copyright_year = 2023
copyright_year = 2024
header_ignore = [
"*.hcl2spec.go", # generated code specs, since they'll be wiped out until we support adding the headers at generation-time
"hcl2template/testdata/**",
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -274,7 +274,7 @@ does not attempt to track the latest version for each dependency.
Packer relies on `go generate` to generate a [peg parser for boot
commands](https://github.com/hashicorp/packer/blob/master/packer-plugin-sdk/bootcommand/boot_command.go),
[docs](https://github.com/hashicorp/packer/blob/master/website/pages/partials/builder/amazon/chroot/_Config-not-required.mdx)
and HCL2's bridging code. Packer's testing suite will run `make check-generate`
and HCL2's bridging code. Packer's testing suite will run `make generate-check`
to check that all the generated files Packer needs are what they should be.
`make generate` re-generates all these file and can take a while depending on
your machine's performances. To make it faster it is recommended to run
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/plugin_integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Plugin Integration Request
about: Open request to add your plugin as a Packer integration (https://developer.hashicorp.com/packer/integrations)
labels: integration-request
---

#### Description

A written description of your plugin along with a link to the plugin repository.

#### Integration Tier
<!--- By default all integrations are registered as community integrations.
HashiCorp Technology partners https://www.hashicorp.com/partners/find-a-partner will be registered as a partner once verified. --->

#### Checklist
- [ ] Has valid [`metadata.hcl`](https://github.com/hashicorp/integration-template) file in plugin repository.
- [ ] Has added integration scripts [packer-plugin-scaffolding](https://github.com/hashicorp/packer-plugin-scoffolding) to plugin repository.
- [ ] Has added top-level integration README.md file to plugin `docs` directory.
- [ ] All plugins components have one README.md describing their usage.
- [ ] Has a fully synced `.web-docs` directory ready for publishing to the integrations portal.

10 changes: 5 additions & 5 deletions .github/workflows/acceptance-test.yml
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ jobs:
outputs:
go-version: ${{ steps.get-go-version.outputs.go-version }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: 'Determine Go version'
id: get-go-version
# We use .go-version as our source of truth for current Go
@@ -40,12 +40,12 @@ jobs:
# Packer GH Token for API Rate Limiting
PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ needs.get-go-version.outputs.go-version }}
- name: IAM Assume Role
uses: aws-actions/configure-aws-credentials@5fd3084fc36e372ff1fff382a39b10d03659f355 # v2.2.0
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
with:
role-to-assume: ${{ env.AWS_ROLE_ARN }}
aws-region: ${{ env.AWS_REGION }}
@@ -70,7 +70,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Send slack notification on failure
uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 # v1.24.0
uses: slackapi/slack-github-action@70cd7be8e40a46e8b0eced40b0de447bdb42f68e # v1.26.0
with:
payload: |
{
2 changes: 1 addition & 1 deletion .github/workflows/auto-close-stale-issues.yml
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ jobs:
pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest
steps:
- uses: actions/stale@1160a2240286f5da8ec72b1c0816ce2481aabf84 # v8.0.0
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-issue-stale: 23
52 changes: 31 additions & 21 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ jobs:
outputs:
go-version: ${{ steps.get-go-version.outputs.go-version }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: 'Determine Go version'
id: get-go-version
# We use .go-version as our source of truth for current Go
@@ -40,11 +40,11 @@ jobs:
outputs:
product-version: ${{ steps.set-product-version.outputs.product-version }}
base-product-version: ${{ steps.set-product-version.outputs.base-product-version }}
product-date: ${{ steps.get-product-version.outputs.product-date }}
product-date: ${{ steps.set-product-version.outputs.product-date }}
product-prerelease-version: ${{ steps.set-product-version.outputs.prerelease-product-version }}
set-ld-flags: ${{ steps.set-ld-flags.outputs.set-ld-flags }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: set product version
id: set-product-version
uses: hashicorp/actions-set-product-version@v1
@@ -67,15 +67,15 @@ jobs:
filepath: ${{ steps.generate-metadata-file.outputs.filepath }}
steps:
- name: 'Checkout directory'
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Generate metadata file
id: generate-metadata-file
uses: hashicorp/actions-generate-metadata@main
with:
version: ${{ needs.set-product-version.outputs.product-version }}
product: ${{ env.REPO_NAME }}

- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: metadata.json
path: ${{ steps.generate-metadata-file.outputs.filepath }}
@@ -105,14 +105,14 @@ jobs:
GOPRIVATE: "github.com/hashicorp"
GO111MODULE: on
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Go Build
env:
PRODUCT_VERSION: ${{ needs.set-product-version.outputs.product-version }}
PRERELEASE_VERSION: ${{ needs.set-product-version.outputs.product-prerelease-version }}
LD_FLAGS: "${{ needs.set-product-version.outputs.set-ld-flags}}"
CGO_ENABLED: "0"
uses: hashicorp/actions-go-build@v0.1.9
uses: hashicorp/actions-go-build@v1
with:
product_name: ${{ env.REPO_NAME }}
product_version: ${{ needs.set-product-version.outputs.product-version }}
@@ -121,6 +121,7 @@ jobs:
arch: ${{ matrix.goarch }}
reproducible: report
instructions: |-
cp LICENSE "$TARGET_DIR/LICENSE.txt"
go build -o "$BIN_PATH" -ldflags="$LD_FLAGS" -trimpath -buildvcs=false
build-linux:
@@ -142,14 +143,14 @@ jobs:
GO111MODULE: on

steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Go Build
env:
PRODUCT_VERSION: ${{ needs.set-product-version.outputs.product-version }}
PRERELEASE_VERSION: ${{ needs.set-product-version.outputs.product-prerelease-version }}
LD_FLAGS: "${{ needs.set-product-version.outputs.set-ld-flags}}"
CGO_ENABLED: "0"
uses: hashicorp/actions-go-build@v0.1.9
uses: hashicorp/actions-go-build@v1
with:
product_name: ${{ env.REPO_NAME }}
product_version: ${{ needs.set-product-version.outputs.product-version }}
@@ -158,8 +159,15 @@ jobs:
arch: ${{ matrix.goarch }}
reproducible: report
instructions: |-
cp LICENSE "$TARGET_DIR/LICENSE.txt"
go build -o "$BIN_PATH" -ldflags="$LD_FLAGS" -trimpath -buildvcs=false
- name: Copy license file to config_dir
if: ${{ matrix.goos == 'linux' }}
env:
LICENSE_DIR: ".release/linux/package/usr/share/doc/${{ env.REPO_NAME }}"
run: |
mkdir -p "$LICENSE_DIR" && cp LICENSE "$LICENSE_DIR/LICENSE.txt"
- name: Linux Packaging
uses: hashicorp/actions-packaging-linux@v1
with:
@@ -173,15 +181,16 @@ jobs:
binary: "dist/${{ env.REPO_NAME }}"
deb_depends: "openssl"
rpm_depends: "openssl"
config_dir: ".release/linux/package/"
- name: Add Linux Package names to env
run: |
echo "RPM_PACKAGE=$(basename out/*.rpm)" >> $GITHUB_ENV
echo "DEB_PACKAGE=$(basename out/*.deb)" >> $GITHUB_ENV
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: ${{ env.RPM_PACKAGE }}
path: out/${{ env.RPM_PACKAGE }}
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: ${{ env.DEB_PACKAGE }}
path: out/${{ env.DEB_PACKAGE }}
@@ -204,14 +213,14 @@ jobs:
GO111MODULE: on

steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Go Build
env:
PRODUCT_VERSION: ${{ needs.set-product-version.outputs.product-version }}
PRERELEASE_VERSION: ${{ needs.set-product-version.outputs.product-prerelease-version }}
LD_FLAGS: "${{ needs.set-product-version.outputs.set-ld-flags}}"
CGO_ENABLED: "0"
uses: hashicorp/actions-go-build@v0.1.9
uses: hashicorp/actions-go-build@v1
with:
product_name: ${{ env.REPO_NAME }}
product_version: ${{ needs.set-product-version.outputs.product-version }}
@@ -220,6 +229,7 @@ jobs:
arch: ${{ matrix.goarch }}
reproducible: report
instructions: |-
cp LICENSE "$TARGET_DIR/LICENSE.txt"
go build -o "$BIN_PATH" -ldflags="$LD_FLAGS" -tags netcgo -trimpath -buildvcs=false
build-docker-light:
@@ -234,18 +244,18 @@ jobs:
env:
version: ${{ needs.set-product-version.outputs.product-version }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Docker Build (Action)
uses: hashicorp/actions-docker-build@v1
uses: hashicorp/actions-docker-build@v2
with:
version: ${{ env.version }}
target: release-light
arch: ${{ matrix.arch }}
tags: |
docker.io/hashicorp/${{ env.REPO_NAME }}:light
${{ steps.set-product-version.output.prerelease-product-version == '' && format('docker.io/hashicorp/{0}:light', env.REPO_NAME) }}
docker.io/hashicorp/${{ env.REPO_NAME }}:light-${{ env.version }}
docker.io/hashicorp/${{ env.REPO_NAME }}:${{ env.version }}
public.ecr.aws/hashicorp/${{ env.REPO_NAME }}:light
${{ steps.set-product-version.output.prerelease-product-version == '' && format('public.ecr.aws/hashicorp/{0}:light', env.REPO_NAME) }}
public.ecr.aws/hashicorp/${{ env.REPO_NAME }}:light-${{ env.version }}
public.ecr.aws/hashicorp/${{ env.REPO_NAME }}:${{ env.version }}
dev_tags: |
@@ -264,17 +274,17 @@ jobs:
env:
version: ${{ needs.set-product-version.outputs.product-version }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Docker Build (Action)
uses: hashicorp/actions-docker-build@v1
uses: hashicorp/actions-docker-build@v2
with:
version: ${{ env.version }}
target: release-full
arch: ${{ matrix.arch }}
tags: |
docker.io/hashicorp/${{ env.REPO_NAME }}:full
${{ steps.set-product-version.output.prerelease-product-version == '' && format('docker.io/hashicorp/{0}:full', env.REPO_NAME) }}
docker.io/hashicorp/${{ env.REPO_NAME }}:full-${{ env.version }}
public.ecr.aws/hashicorp/${{ env.REPO_NAME }}:full
${{ steps.set-product-version.output.prerelease-product-version == '' && format('public.ecr.aws/hashicorp/{0}:full', env.REPO_NAME) }}
public.ecr.aws/hashicorp/${{ env.REPO_NAME }}:full-${{ env.version }}
dev_tags: |
docker.io/hashicorppreview/${{ env.REPO_NAME }}:full-${{ env.version }}
105 changes: 0 additions & 105 deletions .github/workflows/check-plugin-docs.js

This file was deleted.

Loading