我有一个自定义框,其中包含嵌入式Vagrantfile
(我们称之为VF1)。此文件包含许多特定于框的配置/功能,目标是我应该(并且)能够生成项目Vagrantfile
(VF2),只需:
Vagrant.configure(2) do |config|
config.vm.box = "my/box"
end
仍然可以获得所有功能(Puppet集成,VirtualBox调整,YAML配置支持等)。问题是我想从VF1读取相对于VF2的文件。我看到它的方式,VF2在VF1之前被加载,因此,Vagrant应该能够在加载VF1之前找出VF2的位置。那么,我该如何访问这些信息?
现在,对我来说更具体一点,我将首先将GH repo链接到您可以看到我正在尝试做的事情:https://github.com/dkarlovi/vagrant-playground
所以:
dkarlovi/centos-6.6
Vagrantfile
,https://github.com/dkarlovi/vagrant-playground/blob/master/box/_Vagrantfile /home/dkarlovi/.vagrant.d/boxes/dkarlovi-VAGRANTSLASH-centos-6.6/1.0.0/virtualbox/include/_Vagrantfile
/home/dkarlovi/Vagrant/project1
,vagrant init dkarlovi/centos-6.6 --minimal
/home/dkarlovi/Vagrant/project1/Vagrantfile
在/home/dkarlovi/.vagrant.d/boxes/dkarlovi-VAGRANTSLASH-centos-6.6/1.0.0/virtualbox/include/_Vagrantfile
之前得到评估,所以理论上我应该能够找出启动它的所有Vagrantfile
/home/dkarlovi/Vagrant/project1/src
我正在做所有这些以便能够检查是否存在某些文件(Puppet相关)并打开/关闭配置,这样我就可以拥有一个完整的Puppet堆栈(如果存在文件)或者没有(如果没有,)我的盒子变得更加通用和可用(对于我的用途)。