When obtaining image metadata for a HCP Packer build, Packer core will
use mapstructure to decode the image metadata and validate that is has
all of the required data set. Before this change Packer core would fail
if there is extra metadata fields in the image metadata that Packer is
not aware.
This change removes the restriction of erroring on unused metadata
fields. Packer should only care about the fields it knows and ignore the
rest. In the future, we will add new fields to the SDK but plugins may
begin sending that data sooner.
* 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 <[email protected]>
This change sets a region on the test datasource config to fix intermittent InvalidAMIID.NotFound errors.
Closes https://github.com/hashicorp/packer-internal-issues/issues/14
Failing results before change
```
> AWS_DEFAULT_REGION=us-west-1 make testacc
=== RUN TestAccInitAndBuildBasicAmazonAmiDatasource
2021/12/07 20:40:05 [INFO] AWS Auth provider used: "SharedCredentialsProvider"
2021/12/07 20:40:05 Found region us-west-1
2021/12/07 20:40:05 [INFO] AWS Auth provider used: "SharedCredentialsProvider"
pluginacc.go:143: Error running plugin acceptance tests: Bad exit code. Logfile: packer_log_amazon-ami_basic_datasource_test.txt
Logs can be found at /Users/wilkenrivera/Development/packer/acctest/plugin/packer_log_amazon-ami_basic_datasource_test.txt
and the acceptance test template can be found at /Users/wilkenrivera/Development/packer/acctest/plugin/amazon-ami_basic_datasource_test.pkr.hcl
--- FAIL: TestAccInitAndBuildBasicAmazonAmiDatasource (9.87s)
FAIL
FAIL github.com/hashicorp/packer/acctest/plugin 10.326s
```
Passing results after change
```
> AWS_DEFAULT_REGION=us-west-1 make testacc
=== RUN TestAccInitAndBuildBasicAmazonAmiDatasource
2021/12/07 20:47:28 [INFO] AWS Auth provider used: "SharedCredentialsProvider"
2021/12/07 20:47:28 Found region us-west-1
2021/12/07 20:47:28 [INFO] AWS Auth provider used: "SharedCredentialsProvider"
--- PASS: TestAccInitAndBuildBasicAmazonAmiDatasource (223.32s)
PASS
```
The auto installation of external plugins via packer init only work for
HCL templates. Since we have not officially removed all plugins (slated
for 1.8.0) I am reverting this test change. Once 1.7.9 is released we
can begin removing plugins and optimizing the redirect experience for
JSON-only users.
* Add variable interpolation support to hcp_packer_registry block
* Add tests for variable interpolation in hcp_packer_registry block
* Add variable interpolation support to the build block (#11425)
* Add simple test to build command
This change uses a different as part of the TestArchive output path to fix
an intermittently failing test case on Windows caused by using the same
output name across test cases.
Originally tired to use t.TempDir() to gt a temp path but ran into
errors with parsing the config on Windows.
```
Unable to parse test config: invalid character 'U' in string escape code
```
* Add basic support for build_labels argument
* Update support for build_labels configuration argument
* Update complete test-fixture with a build_labels configuration
* Add test for deprecated labels argument
* Add deprecation for hcp_packer_registry.labels
When using the now deprecated labels argument of the new bucket_labels a
Warning will be presented to the user.
```
~> HCP_PACKER_BUILD_FINGERPRINT=356786543567865456789656789 packer
build source.pkr.hcl
Warning: the argument hcp_packer_registry.labels has been deprecated and will be removed in a future release; please use hcp_packer_registry.bucket_labels
```
When trying to use both bucket_labels and labels together an error is
presented to the user.
```
~> HCP_PACKER_BUILD_FINGERPRINT=ss6786543567865456789656789 packer
build source.pkr.hcl
Error: hcp_packer_registry.labels and hcp_packer_registry.bucket_labels are mutely exclusive; please use the recommended argument hcp_packer_registry.bucket_labels
on source.pkr.hcl line 17:
(source code not available)
```
* Update documentation for build_labels
* Apply suggestions from code review
Co-authored-by: Adrien Delorme <[email protected]>
* Update hcl2template/types.build.hcp_packer_registry.go
Co-authored-by: Adrien Delorme <[email protected]>
* add test for crash
* fix
* show more precise error message when parse of a provisioner fails
* Revert "fix"
This reverts commit fc88e89fbb.
* add better severity