vbox 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. data/.gitignore +14 -0
  2. data/Gemfile +5 -0
  3. data/Gemfile.lock +68 -0
  4. data/README.md +5 -0
  5. data/Rakefile +91 -0
  6. data/bin/vbox +73 -0
  7. data/lib/java/README.txt +5 -0
  8. data/lib/java/dir2floppy.jar +0 -0
  9. data/lib/java/dir2floppy.java +134 -0
  10. data/lib/vagrant_init.rb +6 -0
  11. data/lib/vbox.rb +2 -0
  12. data/lib/vbox/command.rb +82 -0
  13. data/lib/vbox/config.rb +5 -0
  14. data/lib/vbox/export.rb +65 -0
  15. data/lib/vbox/scancode.rb +208 -0
  16. data/lib/vbox/session.rb +893 -0
  17. data/lib/vbox/shell.rb +54 -0
  18. data/lib/vbox/ssh.rb +193 -0
  19. data/lib/vbox/transaction.rb +122 -0
  20. data/lib/vbox/utils.rb +26 -0
  21. data/lib/vbox/version.rb +3 -0
  22. data/lib/vbox/web.rb +48 -0
  23. data/templates/CentOS-5.7-i386-netboot/definition.rb +16 -0
  24. data/templates/CentOS-5.7-i386-netboot/ks.cfg +45 -0
  25. data/templates/CentOS-5.7-i386-netboot/postinstall.sh +53 -0
  26. data/templates/CentOS-5.7-x86_64-netboot/definition.rb +16 -0
  27. data/templates/CentOS-5.7-x86_64-netboot/ks.cfg +45 -0
  28. data/templates/CentOS-5.7-x86_64-netboot/postinstall.sh +60 -0
  29. data/templates/CentOS-6.0-i386-netboot/definition.rb +16 -0
  30. data/templates/CentOS-6.0-i386-netboot/ks.cfg +52 -0
  31. data/templates/CentOS-6.0-i386-netboot/postinstall.sh +30 -0
  32. data/templates/CentOS-6.0-i386/definition.rb +17 -0
  33. data/templates/CentOS-6.0-i386/ks.cfg +47 -0
  34. data/templates/CentOS-6.0-i386/postinstall.sh +48 -0
  35. data/templates/CentOS-6.0-x86_64-netboot/definition.rb +16 -0
  36. data/templates/CentOS-6.0-x86_64-netboot/ks.cfg +52 -0
  37. data/templates/CentOS-6.0-x86_64-netboot/postinstall.sh +30 -0
  38. data/templates/CentOS-6.0-x86_64/definition.rb +17 -0
  39. data/templates/CentOS-6.0-x86_64/ks.cfg +47 -0
  40. data/templates/CentOS-6.0-x86_64/postinstall.sh +48 -0
  41. data/templates/Debian-6.0.3-amd64-netboot/definition.rb +42 -0
  42. data/templates/Debian-6.0.3-amd64-netboot/postinstall.sh +80 -0
  43. data/templates/Debian-6.0.3-amd64-netboot/preseed.cfg +42 -0
  44. data/templates/Debian-6.0.3-i386-netboot/definition.rb +44 -0
  45. data/templates/Debian-6.0.3-i386-netboot/postinstall.sh +80 -0
  46. data/templates/Debian-6.0.3-i386-netboot/preseed.cfg +42 -0
  47. data/templates/Fedora-15-i386-netboot/definition.rb +17 -0
  48. data/templates/Fedora-15-i386-netboot/ks.cfg +82 -0
  49. data/templates/Fedora-15-i386-netboot/postinstall.sh +18 -0
  50. data/templates/Fedora-15-i386/definition.rb +17 -0
  51. data/templates/Fedora-15-i386/ks.cfg +64 -0
  52. data/templates/Fedora-15-i386/postinstall.sh +33 -0
  53. data/templates/Fedora-15-x86_64-netboot/definition.rb +29 -0
  54. data/templates/Fedora-15-x86_64-netboot/ks.cfg +64 -0
  55. data/templates/Fedora-15-x86_64-netboot/postinstall.sh +33 -0
  56. data/templates/Fedora-15-x86_64/definition.rb +17 -0
  57. data/templates/Fedora-15-x86_64/ks.cfg +64 -0
  58. data/templates/Fedora-15-x86_64/postinstall.sh +33 -0
  59. data/templates/Sysrescuecd-2.0.0-experimental/autorun0 +3 -0
  60. data/templates/Sysrescuecd-2.0.0-experimental/definition.rb +20 -0
  61. data/templates/archlinux-i386-netboot/aif.cfg +34 -0
  62. data/templates/archlinux-i386-netboot/definition.rb +29 -0
  63. data/templates/archlinux-i386-netboot/postinstall.sh +87 -0
  64. data/templates/archlinux-i386-netboot/postinstall2.sh +28 -0
  65. data/templates/archlinux-i386/aif.cfg +33 -0
  66. data/templates/archlinux-i386/definition.rb +29 -0
  67. data/templates/archlinux-i386/postinstall.sh +106 -0
  68. data/templates/archlinux-x86_64-netboot/aif.cfg +34 -0
  69. data/templates/archlinux-x86_64-netboot/definition.rb +29 -0
  70. data/templates/archlinux-x86_64-netboot/postinstall.sh +90 -0
  71. data/templates/archlinux-x86_64-netboot/postinstall2.sh +28 -0
  72. data/templates/archlinux-x86_64/aif.cfg +33 -0
  73. data/templates/archlinux-x86_64/definition.rb +29 -0
  74. data/templates/archlinux-x86_64/postinstall.sh +90 -0
  75. data/templates/archlinux-x86_64/postinstall2.sh +38 -0
  76. data/templates/freebsd-8.2-experimental/definition.rb +19 -0
  77. data/templates/freebsd-8.2-experimental/postinstall.sh +191 -0
  78. data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +35 -0
  79. data/templates/freebsd-8.2-pcbsd-i386-netboot/pcinstall.fbg.cfg +58 -0
  80. data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +93 -0
  81. data/templates/freebsd-8.2-pcbsd-i386/definition.rb +31 -0
  82. data/templates/freebsd-8.2-pcbsd-i386/pcinstall.fbg.cfg +57 -0
  83. data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +93 -0
  84. data/templates/gentoo-latest-i386-experimental/definition.rb +29 -0
  85. data/templates/gentoo-latest-i386-experimental/postinstall.sh +184 -0
  86. data/templates/openSUSE-11.4-DVD-i586/autoinst_de.xml +1284 -0
  87. data/templates/openSUSE-11.4-DVD-i586/autoinst_en.xml +1284 -0
  88. data/templates/openSUSE-11.4-DVD-i586/definition.rb +28 -0
  89. data/templates/openSUSE-11.4-DVD-i586/postinstall.sh +43 -0
  90. data/templates/openSUSE-11.4-DVD-x86_64/autoinst_de.xml +1459 -0
  91. data/templates/openSUSE-11.4-DVD-x86_64/autoinst_en.xml +1459 -0
  92. data/templates/openSUSE-11.4-DVD-x86_64/definition.rb +28 -0
  93. data/templates/openSUSE-11.4-DVD-x86_64/postinstall.sh +43 -0
  94. data/templates/openSUSE-11.4-NET-i586/autoinst_de.xml +1278 -0
  95. data/templates/openSUSE-11.4-NET-i586/autoinst_en.xml +1278 -0
  96. data/templates/openSUSE-11.4-NET-i586/definition.rb +28 -0
  97. data/templates/openSUSE-11.4-NET-i586/postinstall.sh +43 -0
  98. data/templates/openSUSE-11.4-NET-x86_64/autoinst_de.xml +1453 -0
  99. data/templates/openSUSE-11.4-NET-x86_64/autoinst_en.xml +1453 -0
  100. data/templates/openSUSE-11.4-NET-x86_64/definition.rb +28 -0
  101. data/templates/openSUSE-11.4-NET-x86_64/postinstall.sh +43 -0
  102. data/templates/solaris-11-express-i386/auto_install/ai.dtd +58 -0
  103. data/templates/solaris-11-express-i386/auto_install/ai_manifest.xml +241 -0
  104. data/templates/solaris-11-express-i386/auto_install/configuration.dtd +44 -0
  105. data/templates/solaris-11-express-i386/auto_install/default.xml +124 -0
  106. data/templates/solaris-11-express-i386/auto_install/default.xml.orig +124 -0
  107. data/templates/solaris-11-express-i386/auto_install/sc_profiles/static_network.xml +105 -0
  108. data/templates/solaris-11-express-i386/auto_install/software.dtd +105 -0
  109. data/templates/solaris-11-express-i386/auto_install/target.dtd +196 -0
  110. data/templates/solaris-11-express-i386/default.xml +121 -0
  111. data/templates/solaris-11-express-i386/definition.rb +65 -0
  112. data/templates/solaris-11-express-i386/postinstall.sh +98 -0
  113. data/templates/ubuntu-10.04.3-server-amd64/definition.rb +54 -0
  114. data/templates/ubuntu-10.04.3-server-amd64/postinstall.sh +90 -0
  115. data/templates/ubuntu-10.04.3-server-amd64/preseed.cfg +87 -0
  116. data/templates/ubuntu-10.04.3-server-i386/definition.rb +24 -0
  117. data/templates/ubuntu-10.04.3-server-i386/postinstall.sh +91 -0
  118. data/templates/ubuntu-10.04.3-server-i386/preseed.cfg +87 -0
  119. data/templates/ubuntu-11.10-server-amd64/definition.rb +35 -0
  120. data/templates/ubuntu-11.10-server-amd64/postinstall.sh +90 -0
  121. data/templates/ubuntu-11.10-server-amd64/preseed.cfg +87 -0
  122. data/templates/ubuntu-11.10-server-i386/definition.rb +35 -0
  123. data/templates/ubuntu-11.10-server-i386/postinstall.sh +90 -0
  124. data/templates/ubuntu-11.10-server-i386/preseed.cfg +87 -0
  125. data/validation/features/steps/ssh_steps.rb +169 -0
  126. data/validation/support/env.rb +1 -0
  127. data/validation/vagrant-private.key +27 -0
  128. data/validation/vagrant.feature +52 -0
  129. data/validation/vagrant.pub +1 -0
  130. data/vbox.gemspec +32 -0
  131. metadata +338 -0
@@ -0,0 +1,16 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1', :memory_size=> '392',
3
+ :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off', :ioapic => 'on', :pae => 'on',
4
+ :os_type_id => 'RedHat_64',
5
+ :iso_file => "CentOS-6.0-x86_64-netinstall.iso",
6
+ :iso_src => "http://be.mirror.eurid.eu/centos/6.0/isos/x86_64/CentOS-6.0-x86_64-netinstall.iso",
7
+ :iso_md5 => "d13da95c29e585ee15cf403b89468243",
8
+ :iso_download_timeout => 1000,
9
+ :boot_wait => "15", :boot_cmd_sequence => [ '<Tab> text ks=http://%IP%:%PORT%/ks.cfg<Enter>' ],
10
+ :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
11
+ :ssh_login_timeout => "100", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
12
+ :ssh_host_port => "7222", :ssh_guest_port => "22",
13
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
14
+ :shutdown_cmd => "/sbin/halt -h -p",
15
+ :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => 10000
16
+ })
@@ -0,0 +1,52 @@
1
+ install
2
+ url --url=http://be.mirror.eurid.eu/centos/6.0/os/x86_64/
3
+ lang en_US.UTF-8
4
+ keyboard us
5
+ network --bootproto dhcp
6
+ rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
7
+ firewall --enabled --trust eth0 --ssh
8
+ authconfig --enableshadow --enablemd5
9
+ selinux --disabled
10
+ timezone Europe/Brussels
11
+ bootloader --location=mbr
12
+
13
+ text
14
+ skipx
15
+ zerombr
16
+
17
+ clearpart --all --initlabel
18
+ autopart
19
+
20
+ auth --useshadow --enablemd5
21
+ firstboot --disabled
22
+ reboot
23
+
24
+ repo --name=epel --baseurl=http://download.fedora.redhat.com/pub/epel/6/x86_64/ --includepkgs='ruby-augeas,ruby-shadow'
25
+ repo --name=puppetlabs --baseurl=http://yum.puppetlabs.com/el/6/products/x86_64 --includepkgs='puppet,facter'
26
+
27
+ %packages
28
+ @ core
29
+ ruby
30
+ ruby-devel
31
+ rubygems
32
+ kernel-devel
33
+ gcc
34
+ gcc-c++
35
+ bzip2
36
+ make
37
+ zlib-devel
38
+ openssl-devel
39
+ readline-devel
40
+ sqlite-devel
41
+ puppet
42
+ facter
43
+
44
+ -ipw2100-firmware
45
+ -ipw2200-firmware
46
+ -ivtv-firmware
47
+
48
+ %post
49
+ /usr/sbin/groupadd vagrant
50
+ /usr/sbin/useradd vagrant -g vagrant -G wheel
51
+ echo "vagrant"|passwd --stdin vagrant
52
+ echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
@@ -0,0 +1,30 @@
1
+ #http://chrisadams.me.uk/2010/05/10/setting-up-a-centos-base-box-for-development-and-testing-with-vagrant/
2
+
3
+ date > /etc/vagrant_box_build_time
4
+
5
+ yum -y erase wireless-tools gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
6
+ yum -y clean all
7
+
8
+ gem install --no-ri --no-rdoc chef
9
+
10
+ # Installing vagrant keys
11
+ mkdir /home/vagrant/.ssh
12
+ chmod 700 /home/vagrant/.ssh
13
+ cd /home/vagrant/.ssh
14
+ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
15
+ chown -R vagrant /home/vagrant/.ssh
16
+
17
+ # Installing the virtualbox guest additions
18
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
19
+ cd /tmp
20
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
21
+ mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
22
+ sh /mnt/VBoxLinuxAdditions.run
23
+ umount /mnt
24
+ rm VBoxGuestAdditions_$VBOX_VERSION.iso
25
+
26
+ sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
27
+
28
+ dd if=/dev/zero of=/tmp/clean || rm /tmp/clean
29
+
30
+ exit
@@ -0,0 +1,17 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1', :memory_size=> '384',
3
+ :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
4
+ :os_type_id => 'RedHat_64',
5
+ :iso_file => "CentOS-6.0-x86_64-bin-DVD1.iso", :iso_src => "http://be.mirror.eurid.eu/centos/6.0/isos/x86_64/CentOS-6.0-x86_64-bin-DVD1.iso", :iso_md5 => "7c148e0a1b330186adef66ee3e2d433d", :iso_download_timeout => 1000,
6
+ :iso_download_instructions => "We can not download the ISO , you need to download it yourself and put it in the iso directory\n"+
7
+ "- URL: http://isoredirect.centos.org/centos/6/isos/x86_64/ ",
8
+ :boot_wait => "10", :boot_cmd_sequence => [
9
+ '<Tab> text ks=http://%IP%:%PORT%/ks.cfg<Enter>'
10
+ ],
11
+ :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
12
+ :ssh_login_timeout => "100", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
13
+ :ssh_host_port => "7222", :ssh_guest_port => "22",
14
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
15
+ :shutdown_cmd => "/sbin/halt -h -p",
16
+ :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => 10000
17
+ })
@@ -0,0 +1,47 @@
1
+ install
2
+ cdrom
3
+ lang en_US.UTF-8
4
+ keyboard us
5
+ network --bootproto=dhcp
6
+ rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
7
+ firewall --enabled --service=ssh
8
+ authconfig --enableshadow --passalgo=sha512
9
+ selinux --disabled
10
+ timezone Europe/Brussels
11
+ bootloader --location=mbr
12
+
13
+ text
14
+ skipx
15
+ zerombr
16
+
17
+ clearpart --all --initlabel
18
+ autopart
19
+
20
+ auth --useshadow --enablemd5
21
+ firstboot --disabled
22
+ reboot
23
+
24
+ repo --name=updates --baseurl=http://mirror.centos.org/centos/6/updates/x86_64 --includepkgs='ruby' --excludepkgs='*'
25
+
26
+ %packages --ignoremissing
27
+ @core
28
+ ruby
29
+ kernel-devel-`uname -r`
30
+ gcc
31
+ bzip2
32
+ make
33
+ gcc-c++
34
+ zlib-devel
35
+ openssl-devel
36
+ readline-devel
37
+ sqlite-devel
38
+
39
+ -ipw2100-firmware
40
+ -ipw2200-firmware
41
+ -ivtv-firmware
42
+
43
+ %post
44
+ /usr/sbin/groupadd vagrant
45
+ /usr/sbin/useradd vagrant -g vagrant -G wheel
46
+ echo "vagrant"|passwd --stdin vagrant
47
+ echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
@@ -0,0 +1,48 @@
1
+ #http://chrisadams.me.uk/2010/05/10/setting-up-a-centos-base-box-for-development-and-testing-with-vagrant/
2
+
3
+ date > /etc/vagrant_box_build_time
4
+
5
+ cat > /etc/yum.repos.d/puppetlabs.repo << EOM
6
+ [puppetlabs]
7
+ name=puppetlabs
8
+ baseurl=http://yum.puppetlabs.com/el/6/products/\$basearch
9
+ enabled=1
10
+ gpgcheck=0
11
+ EOM
12
+
13
+ cat > /etc/yum.repos.d/epel.repo << EOM
14
+ [epel]
15
+ name=epel
16
+ baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
17
+ enabled=1
18
+ gpgcheck=0
19
+ EOM
20
+
21
+ yum -y install puppet facter ruby-devel rubygems
22
+ yum -y erase wireless-tools gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
23
+ yum -y clean all
24
+ rm /etc/yum.repos.d/{puppetlabs,epel}.repo
25
+
26
+ gem install --no-ri --no-rdoc chef
27
+
28
+ # Installing vagrant keys
29
+ mkdir /home/vagrant/.ssh
30
+ chmod 700 /home/vagrant/.ssh
31
+ cd /home/vagrant/.ssh
32
+ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
33
+ chown -R vagrant /home/vagrant/.ssh
34
+
35
+ # Installing the virtualbox guest additions
36
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
37
+ cd /tmp
38
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
39
+ mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
40
+ sh /mnt/VBoxLinuxAdditions.run
41
+ umount /mnt
42
+ rm VBoxGuestAdditions_$VBOX_VERSION.iso
43
+
44
+ sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
45
+
46
+ dd if=/dev/zero of=/tmp/clean || rm /tmp/clean
47
+
48
+ exit
@@ -0,0 +1,42 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1',
3
+ :memory_size=> '256',
4
+ :disk_size => '10140',
5
+ :disk_format => 'VDI',
6
+ :hostiocache => 'off',
7
+ :os_type_id => 'Debian_64',
8
+ :iso_file => "debian-6.0.3-amd64-netinst.iso",
9
+ :iso_src => "http://cdimage.debian.org/debian-cd/6.0.3/amd64/iso-cd/debian-6.0.3-amd64-netinst.iso",
10
+ :iso_md5 => "b663727d7f5b572c329cea8e2ff5e29c",
11
+ :iso_download_timeout => "1000",
12
+ :boot_wait => "10",
13
+ :boot_cmd_sequence => [
14
+ '<Esc>',
15
+ 'install ',
16
+ 'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
17
+ 'debian-installer=en_US ',
18
+ 'auto ',
19
+ 'locale=en_US ',
20
+ 'kbd-chooser/method=us ',
21
+ 'netcfg/get_hostname=%NAME% ',
22
+ 'netcfg/get_domain=vagrantup.com ',
23
+ 'fb=false ',
24
+ 'debconf/frontend=noninteractive ',
25
+ 'console-setup/ask_detect=false ',
26
+ 'console-keymaps-at/keymap=us ',
27
+ '<Enter>'
28
+ ],
29
+ :kickstart_port => "7122",
30
+ :kickstart_timeout => "10000",
31
+ :kickstart_file => "preseed.cfg",
32
+ :ssh_login_timeout => "10000",
33
+ :ssh_user => "vagrant",
34
+ :ssh_password => "vagrant",
35
+ :ssh_key => "",
36
+ :ssh_host_port => "7222",
37
+ :ssh_guest_port => "22",
38
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
39
+ :shutdown_cmd => "halt -p",
40
+ :postinstall_files => [ "postinstall.sh" ],
41
+ :postinstall_timeout => "10000"
42
+ })
@@ -0,0 +1,80 @@
1
+ date > /etc/vagrant_box_build_time
2
+
3
+ # Update the box
4
+ apt-get -y update
5
+ apt-get -y install linux-headers-$(uname -r) build-essential
6
+ apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
7
+ apt-get -y install curl unzip
8
+ apt-get clean
9
+
10
+ # Set up sudo
11
+ cp /etc/sudoers /etc/sudoers.orig
12
+ sed -i -e 's/%sudo ALL=(ALL) ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers
13
+
14
+ # Install Ruby from packages
15
+ apt-get -y install ruby ruby-dev libruby1.8 ri
16
+
17
+ # Install Rubygems from source
18
+ rg_ver=1.6.2
19
+ curl -o /tmp/rubygems-${rg_ver}.zip \
20
+ "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
21
+ (cd /tmp && unzip rubygems-${rg_ver}.zip && \
22
+ cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
23
+ rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
24
+
25
+ # Install Chef & Puppet
26
+ gem install chef --no-ri --no-rdoc
27
+ gem install puppet --no-ri --no-rdoc
28
+
29
+ # Install vagrant keys
30
+ mkdir -p /home/vagrant/.ssh
31
+ chmod 700 /home/vagrant/.ssh
32
+ cd /home/vagrant/.ssh
33
+ curl -Lo /home/vagrant/.ssh/authorized_keys \
34
+ 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
35
+ chmod 0600 /home/vagrant/.ssh/authorized_keys
36
+ chown -R vagrant:vagrant /home/vagrant/.ssh
37
+
38
+ # Tweak sshd to prevent DNS resolution (speed up logins)
39
+ echo 'UseDNS no' >> /etc/ssh/sshd_config
40
+
41
+ # Customize the message of the day
42
+ echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
43
+
44
+ # The netboot installs the VirtualBox support (old) so we have to remove it
45
+ /etc/init.d/virtualbox-ose-guest-utils stop
46
+ rmmod vboxguest
47
+ aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
48
+
49
+ # Install the VirtualBox guest additions
50
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
51
+ curl -Lo /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso \
52
+ "http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso"
53
+ mount -o loop /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
54
+ yes|sh /mnt/VBoxLinuxAdditions.run
55
+ umount /mnt
56
+
57
+ # Clean up
58
+ apt-get -y remove linux-headers-$(uname -r) build-essential
59
+ apt-get -y autoremove
60
+
61
+ rm /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso
62
+
63
+ # Zero out the free space to save space in the final image:
64
+ dd if=/dev/zero of=/EMPTY bs=1M
65
+ rm -f /EMPTY
66
+
67
+ # Removing leftover leases and persistent rules
68
+ echo "cleaning up dhcp leases"
69
+ rm /var/lib/dhcp3/*
70
+
71
+ # Make sure Udev doesn't block our network
72
+ echo "cleaning up udev rules"
73
+ rm /etc/udev/rules.d/70-persistent-net.rules
74
+ mkdir /etc/udev/rules.d/70-persistent-net.rules
75
+ rm -rf /dev/.udev/
76
+ rm /lib/udev/rules.d/75-persistent-net-generator.rules
77
+
78
+ echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
79
+ echo "pre-up sleep 2" >> /etc/network/interfaces
80
+ exit
@@ -0,0 +1,42 @@
1
+ d-i debian-installer/locale string en_US
2
+ d-i console-keymaps-at/keymap select us
3
+ d-i netcfg/choose_interface select auto
4
+ d-i netcfg/get_domain string vagrantup.com
5
+ d-i netcfg/wireless_wep string
6
+ d-i mirror/country string manual
7
+ d-i mirror/http/hostname string http.us.debian.org
8
+ d-i mirror/http/directory string /debian
9
+ d-i mirror/http/proxy string
10
+ d-i clock-setup/utc boolean true
11
+ d-i time/zone string UTC
12
+ d-i clock-setup/ntp boolean true
13
+ d-i partman-auto/disk string /dev/sda
14
+ d-i partman-auto/method string lvm
15
+ d-i partman-lvm/device_remove_lvm boolean true
16
+ d-i partman-md/device_remove_md boolean true
17
+ d-i partman-lvm/confirm boolean true
18
+ d-i partman-lvm/confirm_nooverwrite boolean true
19
+ d-i partman/choose_partition select finish
20
+ d-i partman-auto-lvm/guided_size string max
21
+ d-i partman-auto/choose_recipe select atomic
22
+ d-i partman/default_filesystem string ext3
23
+ d-i partman/confirm_write_new_label boolean true
24
+ d-i partman/confirm boolean true
25
+ d-i partman/confirm_nooverwrite boolean true
26
+ d-i passwd/root-login boolean false
27
+ d-i passwd/root-password password vagrant
28
+ d-i passwd/root-password-again password vagrant
29
+ d-i passwd/user-fullname string Vagrant User
30
+ d-i passwd/username string vagrant
31
+ d-i passwd/user-password password vagrant
32
+ d-i passwd/user-password-again password vagrant
33
+ d-i user-setup/encrypt-home boolean false
34
+ d-i user-setup/allow-password-weak boolean true
35
+ d-i passwd/user-default-groups string audio cdrom video admin
36
+ tasksel tasksel/first multiselect standard
37
+ d-i pkgsel/include string openssh-server ntp acpid sudo bzip2
38
+ d-i pkgsel/upgrade select none
39
+ popularity-contest popularity-contest/participate boolean false
40
+ d-i grub-installer/only_debian boolean true
41
+ d-i grub-installer/with_other_os boolean true
42
+ d-i finish-install/reboot_in_progress note
@@ -0,0 +1,44 @@
1
+ #Thanks to Fletcher Nichol - https://github.com/fnichol
2
+
3
+ Veewee::Session.declare({
4
+ :cpu_count => '1',
5
+ :memory_size=> '256',
6
+ :disk_size => '10140',
7
+ :disk_format => 'VDI',
8
+ :hostiocache => 'off',
9
+ :os_type_id => 'Debian',
10
+ :iso_file => "debian-6.0.3-i386-netinst.iso",
11
+ :iso_src => "http://cdimage.debian.org/debian-cd/6.0.3/i386/iso-cd/debian-6.0.3-i386-netinst.iso",
12
+ :iso_md5 => "bf10748a0b867912727b248d2e21e8ba",
13
+ :iso_download_timeout => "1000",
14
+ :boot_wait => "10",
15
+ :boot_cmd_sequence => [
16
+ '<Esc>',
17
+ 'install ',
18
+ 'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
19
+ 'debian-installer=en_US ',
20
+ 'auto ',
21
+ 'locale=en_US ',
22
+ 'kbd-chooser/method=us ',
23
+ 'netcfg/get_hostname=%NAME% ',
24
+ 'netcfg/get_domain=vagrantup.com ',
25
+ 'fb=false ',
26
+ 'debconf/frontend=noninteractive ',
27
+ 'console-setup/ask_detect=false ',
28
+ 'console-keymaps-at/keymap=us ',
29
+ '<Enter>'
30
+ ],
31
+ :kickstart_port => "7122",
32
+ :kickstart_timeout => "10000",
33
+ :kickstart_file => "preseed.cfg",
34
+ :ssh_login_timeout => "10000",
35
+ :ssh_user => "vagrant",
36
+ :ssh_password => "vagrant",
37
+ :ssh_key => "",
38
+ :ssh_host_port => "7222",
39
+ :ssh_guest_port => "22",
40
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
41
+ :shutdown_cmd => "halt -p",
42
+ :postinstall_files => [ "postinstall.sh" ],
43
+ :postinstall_timeout => "10000"
44
+ })
@@ -0,0 +1,80 @@
1
+ date > /etc/vagrant_box_build_time
2
+
3
+ # Update the box
4
+ apt-get -y update
5
+ apt-get -y install linux-headers-$(uname -r) build-essential
6
+ apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
7
+ apt-get -y install curl unzip
8
+ apt-get clean
9
+
10
+ # Set up sudo
11
+ cp /etc/sudoers /etc/sudoers.orig
12
+ sed -i -e 's/%sudo ALL=(ALL) ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers
13
+
14
+ # Install Ruby from packages
15
+ apt-get -y install ruby ruby-dev libruby1.8 ri
16
+
17
+ # Install Rubygems from source
18
+ rg_ver=1.6.2
19
+ curl -o /tmp/rubygems-${rg_ver}.zip \
20
+ "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
21
+ (cd /tmp && unzip rubygems-${rg_ver}.zip && \
22
+ cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
23
+ rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
24
+
25
+ # Install Chef & Puppet
26
+ gem install chef --no-ri --no-rdoc
27
+ gem install puppet --no-ri --no-rdoc
28
+
29
+ # Install vagrant keys
30
+ mkdir -p /home/vagrant/.ssh
31
+ chmod 700 /home/vagrant/.ssh
32
+ cd /home/vagrant/.ssh
33
+ curl -Lo /home/vagrant/.ssh/authorized_keys \
34
+ 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
35
+ chmod 0600 /home/vagrant/.ssh/authorized_keys
36
+ chown -R vagrant:vagrant /home/vagrant/.ssh
37
+
38
+ # Tweak sshd to prevent DNS resolution (speed up logins)
39
+ echo 'UseDNS no' >> /etc/ssh/sshd_config
40
+
41
+ # Customize the message of the day
42
+ echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
43
+
44
+ # The netboot installs the VirtualBox support (old) so we have to remove it
45
+ /etc/init.d/virtualbox-ose-guest-utils stop
46
+ rmmod vboxguest
47
+ aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
48
+
49
+ # Install the VirtualBox guest additions
50
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
51
+ curl -Lo /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso \
52
+ "http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso"
53
+ mount -o loop /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
54
+ yes|sh /mnt/VBoxLinuxAdditions.run
55
+ umount /mnt
56
+
57
+ # Clean up
58
+ apt-get -y remove linux-headers-$(uname -r) build-essential
59
+ apt-get -y autoremove
60
+
61
+ rm /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso
62
+
63
+ # Zero out the free space to save space in the final image:
64
+ dd if=/dev/zero of=/EMPTY bs=1M
65
+ rm -f /EMPTY
66
+
67
+ # Removing leftover leases and persistent rules
68
+ echo "cleaning up dhcp leases"
69
+ rm /var/lib/dhcp3/*
70
+
71
+ # Make sure Udev doesn't block our network
72
+ echo "cleaning up udev rules"
73
+ rm /etc/udev/rules.d/70-persistent-net.rules
74
+ mkdir /etc/udev/rules.d/70-persistent-net.rules
75
+ rm -rf /dev/.udev/
76
+ rm /lib/udev/rules.d/75-persistent-net-generator.rules
77
+
78
+ echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
79
+ echo "pre-up sleep 2" >> /etc/network/interfaces
80
+ exit