Update Vagrantfile to set configuration based on current provider

When implemented like this, the users don't need to specify
configuration each time they run vagrant commands. The provider
should be specified only once, during 'vagrant up' and only if
it is not Virtualbox.

Most of users will need to just do 'vagrant up' henceforth.

Konstantin Nazarov vor 11 Jahren
Ursprung
Commit
0e39b89f1e
1 geänderte Dateien mit 21 neuen Zeilen und 34 gelöschten Zeilen
  1. 21 34
      deployment/Vagrantfile

+ 21 - 34
deployment/Vagrantfile

@@ -3,47 +3,34 @@
3 3
 
4 4
 Vagrant.configure("2") do |config|
5 5
   config.omnibus.chef_version = :latest
6
-  config.vm.define :vb do |vb|
7
-    vb.vm.box = "precise32"
8
-    vb.vm.box_url = "http://files.vagrantup.com/precise32.box"
9
-    vb.vm.network :forwarded_port, host: 3000, guest: 3000
10 6
 
11
-    vb.vm.provision :chef_solo do |chef|
12
-      chef.roles_path = "roles"
13
-      chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
14
-      chef.add_role("huginn_development")
15
-    end
7
+  config.vm.provision :chef_solo do |chef|
8
+    chef.roles_path = "roles"
9
+    chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
10
+    chef.add_role("huginn_development")
11
+    # chef.add_role("huginn_production")
16 12
   end
17 13
 
18
-  config.vm.define :prl do |prl|
19
-    prl.vm.box = "parallels/ubuntu-12.04"
14
+  config.vm.provider :virtualbox do |vb, override|
15
+    override.vm.box = "hashicorp/precise64"
16
+    override.vm.network :forwarded_port, host: 3000, guest: 3000
17
+  end
20 18
 
21
-    prl.vm.provision :chef_solo do |chef|
22
-      chef.roles_path = "roles"
23
-      chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
24
-      chef.add_role("huginn_development")
25
-    end
19
+  config.vm.provider :parallels do |prl, override|
20
+    override.vm.box = "parallels/ubuntu-12.04"
26 21
   end
27 22
 
28
-  config.vm.define :ec2 do |ec2|
29
-    ec2.vm.box = "dummy"
30
-    ec2.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
23
+  config.vm.provider :aws do |aws, override| 
24
+    override.vm.box = "dummy"
25
+    override.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
31 26
 
32
-    ec2.vm.provider :aws do |aws, override|
33
-      aws.access_key_id = ""
34
-      aws.secret_access_key = ""
35
-      aws.keypair_name = ""
36
-      aws.region = "us-east-1"
37
-      aws.ami = "ami-d0f89fb9"
27
+    aws.access_key_id = ""
28
+    aws.secret_access_key = ""
29
+    aws.keypair_name = ""
30
+    aws.region = "us-east-1"
31
+    aws.ami = "ami-d0f89fb9"
38 32
 
39
-      override.ssh.username = "ubuntu"
40
-      override.ssh.private_key_path = ""
41
-    end
42
-    ec2.vm.provision :chef_solo do |chef|
43
-      chef.roles_path = "roles"
44
-      chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
45
-      chef.add_role("huginn_production")
46
-    
47
-    end
33
+    override.ssh.username = "ubuntu"
34
+    override.ssh.private_key_path = ""
48 35
   end
49 36
 end