Estou criando uma AMI personalizada no AWS usando o provisionamento packer e bash + salt. No entanto, estou precisando ser capaz de passar algumas variáveis do meu ambiente local para o sistema de compilação e realmente não sei como fazer isso quando estiver usando o "ebp" ("eb platform" do awsebcli).
Meu packer json contém coisas como esta:
"variables": {
"platform_name": "{{env 'AWS_EB_PLATFORM_NAME'}}",
"platform_version": "{{env 'AWS_EB_PLATFORM_VERSION'}}",
"platform_arn": "{{env 'AWS_EB_PLATFORM_ARN'}}",
"build_app": "{{env 'MY_BUILD_APP_NAME'}}",
"build_env": "{{env 'MY_BUILD_ENV_NAME'}}"
},
e mais tarde:
"provisioners": [
{
"type": "file",
"source": "builder",
"destination": "/tmp/"
},
{
"type": "shell",
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} sudo {{ .Path }}",
"scripts": [
"builder/builder.sh"
],
"environment_vars": [
"AMI_BUILD_APP={{user 'build_app'}}",
"AMI_BUILD_ENV={{user 'build_env'}}"
Eu sei que se eu fosse executar o packer localmente, isso seria suficiente. No entanto, só executo "ebp create" e o empacotador é executado no ambiente de compilação remota no EC2.
Onde preciso definir MY_BUILD_APP_NAME e MY_BUILD_ENV_NAME para que o ambiente buacer de empacotador os torne disponíveis para o provisionador de bash?
Obrigado!
Tags amazon-ec2 aws-cli packer