Я хотел бы сделать переменные среды доступными для Vagrant во время подготовки, чтобы я мог запускать некоторые команды, которые полагаются на них для учетных данных. В частности, aws cli
и pg_restore
.
Например, pg_restore
нужен доступ к переменной $PGPASS, которую я устанавливаю в файле .bash_profile
. Я попытался запустить source /home/vagrant/.bash_profile
, который экспортирует необходимые переменные среды AWS, но позже в моем блоке подготовки команда aws
не работает, потому что переменные среды не установлены.
.bash_profile
export AWS_ACCESS_KEY_ID='keyid'
export AWS_SECRET_ACCESS_KEY='secret'
Блок подготовки Vagrantfile
config.vm.provision :shell, run: "always", inline: <<-SH.gsub(/^\s*/,"")
source /home/vagrant/.bash_profile
aws s3 cp s3://bucket/sql/file /tmp/file # fail, missing credentials
echo $(printenv | grep AWS_) # outputs blank line
SH