Переопределить параметры конфигурации Vagrant локально (per-dev)

Мне нравится вопрос, на который нужно ответить в целом, но чтобы проиллюстрировать это, здесь 'случай использования: я

Я использую Vagrant для простого проекта LMAP. Я использую автономную Puppet для обеспечения. Теперь, возможно, есть некоторые разработчики, которые сидят за прокси-сервером, и им потребуется дополнительная настройка для виртуальной машины. У меня есть вещи, работающие на стороне Puppet: я могу передать IP прокси (если есть) как факт в Puppet вVagrantfile и кукольный реагирует соответственно, если этоустановлено.

Единственная проблема, с которой я столкнулся: как разработчики могут указать / переопределить этот параметр для своей среды разработки, не меняяVagrantfile (который находится под контролем версии и должен оставаться нейтральным к среде разработки)?

Было бы здорово, если бы люди могли переопределить некоторые настройки Vagrant в файле с именем, например.Vagrantfile.local, который я бы исключил через..gitignore

Поскольку Vagrantfile - это просто Ruby, я попробовал следующее:

# Also load per-dev custom vagrant config
custom_vagrantfile = 'Vagrantfile.local'
load custom_vagrantfile if File.exist?(custom_vagrantfile)

Включение файла в основном работает, но похоже, что во включенном файле яя больше не в том же бродячем контексте ...

Vagrant::Config.run do |config|
  config.vm.provision :puppet do |puppet|
    puppet.facter = { "proxy" => "proxy.host:80" }
  end
end

... также "перезагружается» все остальные значения конфигурации марионеток, которые я сделал в основномVagrantfileчто заставляет меня думать, что ям в неправильном направлении. Я должен отметить, что ям нуб на руби;)

Может ли кто-нибудь дать мне подсказку или даже рабочее решение о том, как индивидуальная настройка может быть выполнена здесь в целом?

Ответы на вопрос(7)

Ваш ответ на вопрос