Поддержка файла конфигурации Packer HCL2 - PullRequest
0 голосов
/ 04 апреля 2020

В https://packer.io/guides/hcl/from-json-v1/ написано

Примечание. Начиная с версии 1.5.0 Packer может читать файлы HCL2.

И мой упаковщик - packer_1.5.5_linux_amd64.zip, который предполагает возможность чтения файлов HCL2. Однако, когда я попробовал это, я получил

$ packer build -only=docker hcl-example
Failed to parse template: Error parsing JSON: invalid character '#' looking for beginning of value
At line 1, column 1 (offset 1):
    1: #
      ^

==> Builds finished but no artifacts were created.

$ packer build -h 
Usage: packer build [options] TEMPLATE

  Will execute multiple builds in parallel as defined in the template.
  The various artifacts created by the template will be outputted.

Options:

  -color=false                  Disable color output. (Default: color)
  -debug                        Debug mode enabled for builds.
  -except=foo,bar,baz           Run all builds and post-procesors other than these.
  -only=foo,bar,baz             Build only the specified builds.
  -force                        Force a build to continue if artifacts exist, deletes existing artifacts.
  -machine-readable             Produce machine-readable output.
  -on-error=[cleanup|abort|ask] If the build fails do: clean up (default), abort, or ask.
  -parallel=false               Disable parallelization. (Default: true)
  -parallel-builds=1            Number of builds to run in parallel. 0 means no limit (Default: 0)
  -timestamp-ui                 Enable prefixing of each ui output with an RFC3339 timestamp.
  -var 'key=value'              Variable for templates, can be used multiple times.
  -var-file=path                JSON file containing user variables. [ Note that even in HCL mode this expects file to contain JSON, a fix is comming soon ]

, и я не вижу никаких переключателей сверху для переключения в режим HCL2.

Что мне здесь не хватает?

$ packer version
Packer v1.5.5

$ cat hcl-example
# the source block is what was defined in the builders section and represents a
# reusable way to start a machine. You build your images from that source.source

"amazon-ebs" "example" {
    ami_name = "packer-test"
    region = "us-east-1"
    instance_type = "t2.micro"
}

[ОБНОВЛЕНИЕ:]

Чтобы ответить на комментарий / озабоченность Мэтта, я изменил содержимое hcl-примера ко всему списку в https://packer.io/guides/hcl/from-json-v1/ и

mv hcl-example hcl-example.hcl

$ packer validate hcl-example.hcl
Failed to parse template: Error parsing JSON: invalid character '#' looking for beginning of value
At line 1, column 1 (offset 1):
    1: #
      ^

1 Ответ

0 голосов
/ 05 апреля 2020

Именовано с расширением .pkr.hcl, решило проблему.

...