Упаковщик использует переменные по умолчанию?
Я пытался выяснить возможность использования опции vars в пакере, мой скрипт выглядит следующим образом:
"provisioners": [{
"type": "shell",
"scripts": [
"scripts/centos/5.11/puppet-{{user `config`}}.sh",
]
}],
"variables": {
"config": "{{user `type`}} | slave",
}
Типичная команда была бы такой:
packer build \
-var 'config=master' \
template.json
Но также можно сделать следующее:
packer build template.json # were config would default to slave
1 ответ
Решение
Переменные командной строки переопределяют настройки в ваших шаблонах json. См. Документацию Packer: https://www.packer.io/docs/templates/user-variables.html
Так что просто установите значение по умолчанию в шаблоне и переопределите его примером командной строки, который вы уже использовали.
Ваш шаблон будет:
"provisioners": [{
"type": "shell",
"scripts": [
"scripts/centos/5.11/puppet-{{user `config`}}.sh"
]
}],
"variables": {
"config": "slave"
}