kameleon-builder 2.2.5 → 2.3.0

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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.rst +21 -0
  4. data/{templates → contrib}/steps/bootstrap/debian/debootstrap_arm.yaml +1 -1
  5. data/{templates → contrib}/steps/export/clean_appliance.yaml +0 -0
  6. data/{templates → contrib}/steps/export/compact_qcow_img.yaml +0 -0
  7. data/{templates → contrib}/steps/setup/archlinux/configure_ruby.yaml +0 -0
  8. data/{templates → contrib}/steps/setup/archlinux/install_dev_tools.yaml +0 -0
  9. data/{templates → contrib}/steps/setup/archlinux/install_gnome.yaml +0 -0
  10. data/{templates → contrib}/steps/setup/archlinux/install_yaourt.yaml +0 -0
  11. data/{templates → contrib}/steps/setup/centos/6.5/configure_repo.yaml +0 -0
  12. data/{templates → contrib}/steps/setup/debian/install_gnome.yaml +0 -0
  13. data/{templates → contrib}/steps/setup/debian/install_kde.yaml +0 -0
  14. data/{templates → erb}/extend.erb +2 -2
  15. data/erb/userconf.erb +5 -0
  16. data/kameleon-builder.gemspec +6 -1
  17. data/lib/kameleon.rb +53 -3
  18. data/lib/kameleon/cli.rb +146 -99
  19. data/lib/kameleon/engine.rb +20 -8
  20. data/lib/kameleon/environment.rb +11 -10
  21. data/lib/kameleon/persistent_cache.rb +1 -9
  22. data/lib/kameleon/recipe.rb +52 -24
  23. data/lib/kameleon/repository.rb +46 -0
  24. data/lib/kameleon/utils.rb +49 -0
  25. data/{templates → tests/recipes}/steps/aliases/defaults.yaml +0 -0
  26. data/tests/recipes/steps/bootstrap/linux/bootstrap.yaml +2 -0
  27. data/tests/recipes/steps/checkpoints/test.yaml +14 -0
  28. data/tests/recipes/steps/enable_something.yaml +2 -0
  29. data/tests/recipes/steps/export/save_appliance.yaml +10 -0
  30. data/tests/recipes/steps/setup/linux/software_install.yaml +7 -0
  31. data/tests/recipes/test_recipe.yaml +41 -0
  32. data/version.txt +1 -1
  33. metadata +34 -139
  34. data/templates/COPYRIGHT +0 -21
  35. data/templates/chroot/debian7-amd64.yaml +0 -119
  36. data/templates/docker/debian7.yaml +0 -107
  37. data/templates/grid5000/debian7.yaml +0 -97
  38. data/templates/qemu/archlinux-desktop-i686.yaml +0 -25
  39. data/templates/qemu/archlinux-desktop-x86_64.yaml +0 -25
  40. data/templates/qemu/archlinux-i686.yaml +0 -25
  41. data/templates/qemu/archlinux-x86_64.yaml +0 -109
  42. data/templates/qemu/centos6.5-x86_64.yaml +0 -122
  43. data/templates/qemu/centos7-x86_64.yaml +0 -122
  44. data/templates/qemu/debian7-amd64.yaml +0 -134
  45. data/templates/qemu/debian7-desktop-amd64.yaml +0 -24
  46. data/templates/qemu/debian7-kameleon-amd64.yaml +0 -40
  47. data/templates/qemu/debian7-oar-amd64.yaml +0 -51
  48. data/templates/qemu/debian8-amd64.yaml +0 -25
  49. data/templates/qemu/fedora20-desktop-x86_64.yaml +0 -21
  50. data/templates/qemu/fedora20-x86_64.yaml +0 -119
  51. data/templates/qemu/ubuntu-12.04-amd64.yaml +0 -132
  52. data/templates/qemu/ubuntu-12.04-desktop-amd64.yaml +0 -25
  53. data/templates/qemu/ubuntu-14.04-amd64.yaml +0 -25
  54. data/templates/qemu/ubuntu-14.04-desktop-amd64.yaml +0 -27
  55. data/templates/steps/bootstrap/archlinux/arch_bootstrap.yaml +0 -211
  56. data/templates/steps/bootstrap/centos/6.5/yum_bootstrap.yaml +0 -67
  57. data/templates/steps/bootstrap/debian/debootstrap.yaml +0 -20
  58. data/templates/steps/bootstrap/fedora/init_pxeboot.yaml +0 -13
  59. data/templates/steps/bootstrap/fedora/yum_bootstrap.yaml +0 -45
  60. data/templates/steps/bootstrap/g5k_reserv.yaml +0 -70
  61. data/templates/steps/bootstrap/initialize_disk.yaml +0 -16
  62. data/templates/steps/bootstrap/initialize_disk_chroot.yaml +0 -80
  63. data/templates/steps/bootstrap/install_requirements.yaml +0 -3
  64. data/templates/steps/bootstrap/prepare_chroot.yaml +0 -126
  65. data/templates/steps/bootstrap/prepare_docker.yaml +0 -51
  66. data/templates/steps/bootstrap/prepare_qemu.yaml +0 -41
  67. data/templates/steps/bootstrap/prepare_virtualbox.yaml +0 -67
  68. data/templates/steps/bootstrap/start_chroot.yaml +0 -51
  69. data/templates/steps/bootstrap/start_docker.yaml +0 -16
  70. data/templates/steps/bootstrap/start_qemu.yaml +0 -74
  71. data/templates/steps/bootstrap/start_virtualbox.yaml +0 -38
  72. data/templates/steps/bootstrap/switch_context_qemu.yaml +0 -84
  73. data/templates/steps/bootstrap/switch_context_virtualbox.yaml +0 -86
  74. data/templates/steps/breakpoint.yaml +0 -3
  75. data/templates/steps/checkpoints/docker.yaml +0 -17
  76. data/templates/steps/checkpoints/qcow2.yaml +0 -40
  77. data/templates/steps/checkpoints/qemu.yaml +0 -33
  78. data/templates/steps/checkpoints/virtualbox.yaml +0 -21
  79. data/templates/steps/disable_checkpoint.yaml +0 -3
  80. data/templates/steps/enable_checkpoint.yaml +0 -5
  81. data/templates/steps/export/qemu_save_appliance.yaml +0 -52
  82. data/templates/steps/export/save_appliance_from_g5k.yaml +0 -47
  83. data/templates/steps/export/vagrant_save_appliance.yaml +0 -14
  84. data/templates/steps/export/virtualbox_save_appliance.yaml +0 -61
  85. data/templates/steps/setup/archlinux/configure_keyboard.yaml +0 -9
  86. data/templates/steps/setup/archlinux/configure_network.yaml +0 -9
  87. data/templates/steps/setup/archlinux/configure_system.yaml +0 -20
  88. data/templates/steps/setup/archlinux/install_bootloader.yaml +0 -23
  89. data/templates/steps/setup/archlinux/install_software.yaml +0 -9
  90. data/templates/steps/setup/autologin.yaml +0 -16
  91. data/templates/steps/setup/centos/6.5/configure_network.yaml +0 -33
  92. data/templates/steps/setup/centos/6.5/configure_system.yaml +0 -46
  93. data/templates/steps/setup/centos/6.5/minimal_install.yaml +0 -3
  94. data/templates/steps/setup/centos/6.5/setup_vagrant_box.yaml +0 -77
  95. data/templates/steps/setup/create_group.yaml +0 -12
  96. data/templates/steps/setup/create_user.yaml +0 -11
  97. data/templates/steps/setup/debian/configure_apt.yaml +0 -73
  98. data/templates/steps/setup/debian/configure_kernel.yaml +0 -13
  99. data/templates/steps/setup/debian/configure_keyboard.yaml +0 -10
  100. data/templates/steps/setup/debian/configure_network.yaml +0 -30
  101. data/templates/steps/setup/debian/configure_system.yaml +0 -12
  102. data/templates/steps/setup/debian/install_bootloader.yaml +0 -36
  103. data/templates/steps/setup/debian/install_software.yaml +0 -2
  104. data/templates/steps/setup/debian/oar/oar_debian_config_frontend.yaml +0 -8
  105. data/templates/steps/setup/debian/oar/oar_debian_config_node.yaml +0 -5
  106. data/templates/steps/setup/debian/oar/oar_debian_config_server.yaml +0 -5
  107. data/templates/steps/setup/debian/oar/oar_prereq_install.yaml +0 -16
  108. data/templates/steps/setup/debian/setup_vagrant_box.yaml +0 -80
  109. data/templates/steps/setup/debian/upgrade_system.yaml +0 -10
  110. data/templates/steps/setup/fedora/configure_kernel.yaml +0 -9
  111. data/templates/steps/setup/fedora/configure_keyboard.yaml +0 -12
  112. data/templates/steps/setup/fedora/configure_network.yaml +0 -38
  113. data/templates/steps/setup/fedora/configure_system.yaml +0 -52
  114. data/templates/steps/setup/fedora/install_bootloader.yaml +0 -53
  115. data/templates/steps/setup/fedora/install_software.yaml +0 -3
  116. data/templates/steps/setup/fedora/minimal_install.yaml +0 -3
  117. data/templates/steps/setup/fedora/update_system.yaml +0 -16
  118. data/templates/steps/setup/oar/oar_config_devel.yaml +0 -21
  119. data/templates/steps/setup/oar/oar_config_frontend.yaml +0 -38
  120. data/templates/steps/setup/oar/oar_config_node.yaml +0 -4
  121. data/templates/steps/setup/oar/oar_config_server.yaml +0 -25
  122. data/templates/steps/setup/oar/oar_config_system.yaml +0 -34
  123. data/templates/steps/setup/oar/oar_devel_prereq_install.yaml +0 -5
  124. data/templates/steps/setup/oar/oar_git_install.yaml +0 -21
  125. data/templates/steps/setup/ubuntu/configure_apt.yaml +0 -62
  126. data/templates/virtualbox/archlinux-desktop-i686.yaml +0 -25
  127. data/templates/virtualbox/archlinux-desktop-x86_64.yaml +0 -28
  128. data/templates/virtualbox/archlinux-i686.yaml +0 -28
  129. data/templates/virtualbox/archlinux-x86_64.yaml +0 -108
  130. data/templates/virtualbox/centos6.5-i386.yaml +0 -39
  131. data/templates/virtualbox/centos6.5-vagrant-x86_64.yaml +0 -33
  132. data/templates/virtualbox/centos6.5-x86_64.yaml +0 -121
  133. data/templates/virtualbox/centos7-x86_64.yaml +0 -118
  134. data/templates/virtualbox/debian7-amd64.yaml +0 -128
  135. data/templates/virtualbox/debian7-desktop-amd64.yaml +0 -25
  136. data/templates/virtualbox/debian7-i386.yaml +0 -31
  137. data/templates/virtualbox/debian7-kameleon-amd64.yaml +0 -38
  138. data/templates/virtualbox/debian7-oar-amd64.yaml +0 -51
  139. data/templates/virtualbox/debian7-vagrant-amd64.yaml +0 -32
  140. data/templates/virtualbox/debian8-amd64.yaml +0 -25
  141. data/templates/virtualbox/debian8-i386.yaml +0 -31
  142. data/templates/virtualbox/fedora20-x86_64.yaml +0 -118
  143. data/templates/virtualbox/ubuntu-12.04-amd64.yaml +0 -128
  144. data/templates/virtualbox/ubuntu-12.04-desktop-amd64.yaml +0 -25
  145. data/templates/virtualbox/ubuntu-14.04-amd64.yaml +0 -25
  146. data/templates/virtualbox/ubuntu-14.04-desktop-amd64.yaml +0 -27
  147. data/tests/recipes/dummy_recipe.yaml +0 -48
  148. data/tests/recipes/steps/bootstrap/dummy_distro/dummy_bootstrap_static.yaml +0 -4
  149. data/tests/recipes/steps/export/dummy_save_appliance.yaml +0 -9
  150. data/tests/recipes/steps/setup/default/dummy_root_passwd.yaml +0 -8
  151. data/tests/recipes/steps/setup/dummy_distro/dummy_software_install.yaml +0 -7
@@ -1,128 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Debian 7 (Wheezy) base system (amd64)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- # Loads some helpful aliases
11
- aliases: defaults.yaml
12
- # Enables virtualbox checkpoint
13
- checkpoint: virtualbox.yaml
14
- #== Global variables use by Kameleon engine and the steps
15
- global:
16
- ## User varibales : used by the recipe
17
- user_name: kameleon
18
- user_password: $$user_name
19
-
20
- # Distribution
21
- distrib: debian
22
- release: wheezy
23
- arch: amd64
24
- kernel_arch: $$arch
25
- hostname: kameleon-$$distrib
26
-
27
- ## VirtualBox options
28
- virtualbox_memory_size: 768
29
- virtualbox_ssh_port: 55423
30
- virtualbox_os_type: Debian_64
31
- virtualbox_vmid: $${kameleon_recipe_name}_$${kameleon_short_uuid}
32
- virtualbox_image_size: 10000 ## megabytes
33
- virtualbox_image_disk: $$kameleon_cwd/base_$$kameleon_recipe_name.vdi
34
-
35
- ## Kameleon iso bootstrap
36
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-x86_64-insecure.iso
37
- insecure_ssh_key_url: http://kameleon.imag.fr/iso/boot2debian/keys/insecure_id_rsa
38
-
39
- ## Rootfs options
40
- disk_device: /dev/sda
41
- rootfs: /rootfs
42
- filesystem_type: ext4
43
-
44
- ## System variables. Required by kameleon engine
45
- # Include specific steps
46
- include_steps:
47
- - $$distrib/$$release
48
- - $$distrib
49
-
50
- # Apt options
51
- apt_repository: http://ftp.debian.org/debian/
52
- apt_enable_contrib: true
53
- apt_enable_nonfree: true
54
-
55
- ssh_config_file: $$kameleon_cwd/ssh_config
56
- out_context:
57
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
58
- workdir: /root/kameleon_workdir
59
- proxy_cache: 10.0.2.2
60
-
61
- in_context:
62
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
63
- workdir: /root/kameleon_workdir
64
- proxy_cache: 10.0.2.2
65
-
66
- #== Bootstrap the new system and create the 'in_context'
67
- bootstrap:
68
- - enable_checkpoint
69
- - prepare_virtualbox
70
- - start_virtualbox
71
- - install_requirements:
72
- - packages: parted e2fsprogs debootstrap extlinux
73
- - initialize_disk
74
- - debootstrap:
75
- - include_pkg: >
76
- apt-utils ca-certificates locales less linux-image-$$kernel_arch
77
- isc-dhcp-client ifupdown iptables iputils-ping iproute pciutils
78
- psmisc acpid acpi-support-base openssh-server sysvinit man-db
79
- net-tools
80
- - release: $$release
81
- - arch: $$arch
82
- - repository: $$apt_repository
83
- - variant: minbase
84
- - switch_context_virtualbox
85
-
86
- #== Install and configuration steps
87
- setup:
88
- # Install
89
- - configure_apt:
90
- - repository: $$apt_repository
91
- - enable_contrib_repo: $$apt_enable_contrib
92
- - enable_nonfree_repo: $$apt_enable_nonfree
93
- - upgrade_system:
94
- - dist_upgrade: true
95
- - install_software:
96
- - packages: >
97
- debian-keyring sudo less vim bash-completion curl less bzip2 wget
98
- dialog tree extlinux
99
- - install_bootloader
100
- # Configuration
101
- - configure_system:
102
- - locales: POSIX C en_US fr_FR de_DE
103
- - lang: en_US.UTF-8
104
- - timezone: UTC
105
- - configure_keyboard:
106
- - layout: "us,fr,de"
107
- - configure_network
108
- - create_group:
109
- - name: admin
110
- - create_user:
111
- - name: $$user_name
112
- - groups: sudo admin
113
- - password: $$user_password
114
-
115
- #== Export the generated appliance in the format of your choice
116
- export:
117
- - disable_checkpoint
118
- - virtualbox_save_appliance:
119
- - output: "$$kameleon_cwd/$${kameleon_recipe_name}"
120
- - save_as_ova
121
- # - save_as_vdi
122
- # - save_as_vmdk
123
- # - save_as_tar_gz
124
- # - save_as_tar_xz
125
- # - save_as_tar_bz2
126
- # - save_as_raw
127
- # - save_as_qcow2
128
- # - save_as_qed
@@ -1,25 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Debian 7 (Wheezy) GNOME Desktop edition (amd64).
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: debian7-amd64
11
-
12
- global:
13
- # Apt options
14
- virtualbox_memory_size: 1024
15
-
16
- bootstrap:
17
- - "@base"
18
-
19
- setup:
20
- - "@base"
21
- - install_gnome:
22
- - extra_packages: gedit gnome-documents
23
-
24
- export:
25
- - "@base"
@@ -1,31 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Debian 7 (Wheezy) base system (i386)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: debian7-amd64
11
-
12
- #== Global variables use by Kameleon engine and the steps
13
- global:
14
- # Distribution
15
- arch: i386
16
- kernel_arch: "686"
17
-
18
- ## Kameleon iso bootstrap
19
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-i686-insecure.iso
20
-
21
- ## VirtualBox options
22
- virtualbox_os_type: Debian
23
-
24
- bootstrap:
25
- - "@base"
26
-
27
- setup:
28
- - "@base"
29
-
30
- export:
31
- - "@base"
@@ -1,38 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Debian 7 appliance with kameleon (amd64).
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: debian7-desktop-amd64
11
-
12
- global:
13
- # You can see the base template `debian7-desktop-amd64.yaml` to know the
14
- # variables that you can override
15
-
16
- bootstrap:
17
- - "@base"
18
-
19
- setup:
20
- - "@base"
21
- - autologin
22
- - install_software:
23
- - packages: parted qemu-system debootstrap qemu-utils ruby ruby-childprocess
24
- - install_kameleon:
25
- - gem_install:
26
- - exec_in: gem install kameleon-builder --verbose
27
- - prepare_export:
28
- - nullify_freespace:
29
- - exec_in: rm -rf /tmp/* || true
30
- - exec_in: rm -rf /var/tmp/* || true
31
- - exec_in: rm -rf /var/lib/apt/lists/* || true
32
- - exec_in: |
33
- echo "Nullify freespace..."
34
- dd if=/dev/zero of=/bigemptyfile bs=1M 2>&1 >/dev/null || true
35
- rm -f /bigemptyfile
36
-
37
- export:
38
- - "@base"
@@ -1,51 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Debian 7 dev appliance with OAR-2.5 (amd64).
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: debian7-amd64
11
-
12
- global:
13
- distrib: debian
14
- release: wheezy
15
-
16
- ## System variables. Required by kameleon engine
17
- # Include specific steps
18
- include_steps:
19
- - $$distrib/$$release
20
- - $$distrib
21
- - $$distrib/$$release/oar
22
- - $${distrib}/oar
23
- - oar
24
-
25
- ## OAR
26
- #
27
- oar_git_directory: "/home/$$user_name/oar"
28
- oar_git_repository: "git://scm.gforge.inria.fr/oar/oar.git"
29
- oar_git_treeish: "2.5"
30
- oar_prefix_install: "/usr/local"
31
-
32
- bootstrap:
33
- - "@base"
34
-
35
- setup:
36
- - "@base"
37
- - oar_prereq_install
38
- - oar_devel_prereq_install
39
- - oar_git_install
40
- - oar_debian_config_server
41
- - oar_debian_config_frontend
42
- - oar_debian_config_node
43
- - oar_config_node
44
- - oar_config_server
45
- - oar_config_frontend
46
- - oar_config_system
47
- - oar_config_devel
48
- - autologin
49
-
50
- export:
51
- - "@base"
@@ -1,32 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: A standard Debian 7 vagrant base box (amd64)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: debian7-amd64.yaml
11
-
12
- global:
13
- ## User varibales : used by the recipe
14
- user_name: vagrant
15
-
16
- #== Bootstrap the new system and create the 'in_context'
17
- bootstrap:
18
- - "@base"
19
-
20
- #== Install and configuration steps
21
- setup:
22
- - "@base"
23
- - install_software:
24
- - packages: >
25
- linux-headers-$(uname -r) nfs-common dkms rsync
26
- - setup_vagrant_box
27
-
28
- #== Export the generated appliance in the format of your choice
29
- export:
30
- - disable_checkpoint
31
- - vagrant_save_appliance:
32
- - output: "$$kameleon_cwd/$${kameleon_recipe_name}"
@@ -1,25 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Debian 8 (Jessie) base system (amd64)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: debian7-amd64
11
-
12
- global:
13
- # Distribution
14
- distrib: debian
15
- release: jessie
16
- arch: amd64
17
-
18
- bootstrap:
19
- - "@base"
20
-
21
- setup:
22
- - "@base"
23
-
24
- export:
25
- - "@base"
@@ -1,31 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Debian 8 (Jessie) base system (i386)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: debian8-amd64
11
-
12
- #== Global variables use by Kameleon engine and the steps
13
- global:
14
- # Distribution
15
- arch: i386
16
- kernel_arch: "686"
17
-
18
- ## Kameleon iso bootstrap
19
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-i686-insecure.iso
20
-
21
- ## VirtualBox options
22
- virtualbox_os_type: Debian
23
-
24
- bootstrap:
25
- - "@base"
26
-
27
- setup:
28
- - "@base"
29
-
30
- export:
31
- - "@base"
@@ -1,118 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Fedora 20 base system (x86_64)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- # Loads some helpful aliases
11
- aliases: defaults.yaml
12
- # Enables virtualbox checkpoint
13
- checkpoint: virtualbox.yaml
14
- #== Global variables use by Kameleon engine and the steps
15
- global:
16
- ## User varibales : used by the recipe
17
- user_name: kameleon
18
- user_password: $$user_name
19
-
20
- # Distribution
21
- distrib: fedora
22
- release: 20
23
- arch: x86_64
24
- hostname: kameleon-$$distrib
25
-
26
- ## VirtualBox options
27
- virtualbox_memory_size: 768
28
- virtualbox_ssh_port: 55423
29
- virtualbox_os_type: Fedora_64
30
- virtualbox_vmid: $${kameleon_recipe_name}_$${kameleon_short_uuid}
31
- virtualbox_image_size: 10000 ## megabytes
32
- virtualbox_image_disk: $$kameleon_cwd/base_$$kameleon_recipe_name.vdi
33
-
34
- ## Kameleon iso bootstrap
35
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-$${arch}-insecure.iso
36
- insecure_ssh_key_url: http://kameleon.imag.fr/iso/boot2debian/keys/insecure_id_rsa
37
-
38
- ## Rootfs options
39
- rootfs: /rootfs
40
- filesystem_type: ext4
41
- disk_device: /dev/sda
42
-
43
- ## System variables. Required by kameleon engine
44
- # Include specific steps
45
- include_steps:
46
- - $$distrib/$$release
47
- - $$distrib
48
-
49
- # SELinux configuration
50
- selinux: permissive ## Can take one of these three values: enforcing, permissive or disabled
51
- selinuxtype: targeted # Possible values are: strict, targeted
52
-
53
- ssh_config_file: $$kameleon_cwd/ssh_config
54
- out_context:
55
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
56
- workdir: /root/kameleon_workdir
57
- proxy_cache: 10.0.2.2
58
-
59
- in_context:
60
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
61
- workdir: /root/kameleon_workdir
62
- proxy_cache: 10.0.2.2
63
-
64
- #== Bootstrap the new system and create the 'in_context'
65
- bootstrap:
66
- - enable_checkpoint
67
- - prepare_virtualbox
68
- - start_virtualbox
69
- - install_requirements:
70
- - packages: parted e2fsprogs yum rpm lynx extlinux
71
- - initialize_disk
72
- - yum_bootstrap:
73
- - mirror_packages_url: http://mirrors.kernel.org/fedora/releases/$$release/Fedora/$$arch/os/Packages/f/
74
- - include_pkgs: >
75
- findutils yum util-linux dhclient vim-minimal net-tools NetworkManager
76
- openssh-server
77
- - init_pxeboot:
78
- - pxe_initrd_url: http://mirrors.kernel.org/fedora/releases/$$release/Fedora/$$arch/os/images/pxeboot/initrd.img
79
- - pxe_vmlinuz_url: http://mirrors.kernel.org/fedora/releases/$$release/Fedora/$$arch/os/images/pxeboot/vmlinuz
80
- - switch_context_virtualbox
81
-
82
- #== Install and configuration steps
83
- setup:
84
- - configure_kernel
85
- - update_system
86
- - minimal_install
87
- - install_software:
88
- - packages: >
89
- kernel bash-completion kbd sudo openssh-clients syslinux-extlinux acpid
90
- ntp ntpdate
91
- - install_bootloader
92
- - configure_system:
93
- - locales: POSIX C en_US fr_FR de_DE
94
- - lang: en_US.UTF-8
95
- - timezone: UTC
96
- - configure_keyboard:
97
- - layout: "us"
98
- - configure_network:
99
- - hostname: kameleon-$$distrib
100
- - create_user:
101
- - name: $$user_name
102
- - groups: wheel
103
- - password: $$user_password
104
-
105
- #== Export the generated appliance in the format of your choice
106
- export:
107
- - disable_checkpoint
108
- - virtualbox_save_appliance:
109
- - output: "$$kameleon_cwd/$${kameleon_recipe_name}"
110
- - save_as_ova
111
- # - save_as_vdi
112
- # - save_as_vmdk
113
- # - save_as_tar_gz
114
- # - save_as_tar_xz
115
- # - save_as_tar_bz2
116
- # - save_as_raw
117
- # - save_as_qcow2
118
- # - save_as_qed