summaryrefslogtreecommitdiff
path: root/tests/example-provider/Vagrantfile
blob: e909e79b898fb8a1b221a2d5afe2ffee7f414418 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  # shared config for all boxes

  # make the leap_platform directory available as /srv/leap_platform
  # inside the virtual machine.
  config.vm.synced_folder "../..", "/srv/leap_platform"

  # Please verify the sha512 sum of the downloaded box before importing it into vagrant !
  # see https://leap.se/en/docs/platform/details/development#Verify.vagrantbox.download
  # for details
  config.vm.box = "LEAP/jessie"

  config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    v.name   = "jessie"
    v.memory = 1536
  end

  config.vm.provider "libvirt" do |v|
    v.memory = 1536
  end

  # Fix annoying 'stdin: is not a tty' warning
  # see http://foo-o-rama.com/vagrant--stdin-is-not-a-tty--fix.html
  config.vm.provision "shell" do |s|
    s.privileged = false
    s.inline     = "sudo sed -i '/tty/!s/mesg n/tty -s \\&\\& mesg n/' /root/.profile"
  end

  config.vm.provision "puppet" do |puppet|
    puppet.manifests_path    = "./vagrant"
    puppet.module_path       = "../../puppet/modules"
    puppet.manifest_file     = "install-platform.pp"
    puppet.options           = "--verbose"
    puppet.hiera_config_path = "./hiera.yaml"
  end
  config.vm.provision "shell", path: "vagrant/configure-leap.sh"

  config.ssh.username = "vagrant"

  # Enable private networking so the box can be accessed directly,
  # not only via port forwaring
  config.vm.network "private_network", type: "dhcp"

  # forward leap_web ports
  config.vm.network "forwarded_port", guest: 443, host:4443
  # forward pixelated ports
  config.vm.network "forwarded_port", guest: 8080,  host:8080
  config.vm.network "forwarded_port", guest: 4430, host:4430

  config.vm.define :"leap_platform", primary: true do |leap_vagrant|
  end

  config.vm.define :"pixelated", autostart: false do |pixelated_vagrant|
    pixelated_vagrant.vm.provision "shell", path: "vagrant/add-pixelated.sh"
  end

end