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,28 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Archlinux base system system (i686).
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: archlinux-x86_64
11
-
12
- #== Global variables use by Kameleon engine and the steps
13
- global:
14
- # Distribution
15
- arch: i686
16
-
17
- ## VirtualBox options
18
- virtualbox_os_type: Linux
19
-
20
-
21
- bootstrap:
22
- - "@base"
23
-
24
- setup:
25
- - "@base"
26
-
27
- export:
28
- - "@base"
@@ -1,108 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Archlinux base system 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: archlinux
22
- arch: x86_64
23
- hostname: kameleon-$$distrib
24
-
25
- ## VirtualBox options
26
- virtualbox_memory_size: 768
27
- virtualbox_ssh_port: 55423
28
- virtualbox_os_type: Linux_64
29
- virtualbox_vmid: $${kameleon_recipe_name}_$${kameleon_short_uuid}
30
- virtualbox_image_size: 10000 ## megabytes = 10G
31
- virtualbox_image_disk: $$kameleon_cwd/base_$$kameleon_recipe_name.vdi
32
-
33
- ## Kameleon iso bootstrap
34
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-$${arch}-insecure.iso
35
- insecure_ssh_key_url: http://kameleon.imag.fr/iso/boot2debian/keys/insecure_id_rsa
36
-
37
- # rootfs options
38
- rootfs: /rootfs
39
- filesystem_type: ext4
40
-
41
- ## System variables. Required by kameleon engine
42
- # Include specific steps
43
- include_steps:
44
- - $$distrib
45
-
46
- ssh_config_file: $$kameleon_cwd/ssh_config
47
- out_context:
48
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
49
- workdir: /root/kameleon_workdir
50
- proxy_cache: 10.0.2.2
51
-
52
- in_context:
53
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t chroot $$rootfs /bin/bash
54
- workdir: /root/kameleon_workdir
55
- proxy_cache: 10.0.2.2
56
-
57
- #== Bootstrap the new system and create the 'in_context'
58
- bootstrap:
59
- - enable_checkpoint
60
- - prepare_virtualbox
61
- - start_virtualbox
62
- - install_requirements:
63
- - packages: parted e2fsprogs wget
64
- - initialize_disk:
65
- - disk_device: /dev/sda
66
- - arch_bootstrap:
67
- - mirror: http://mir.archlinux.fr/
68
- # You can choose any group from https://www.archlinux.org/groups/
69
- # It's recommended to use 'base' (default) or 'base-devel' (with dev tools)
70
- - pkg_group: base
71
- - start_chroot
72
-
73
- #== Install and configuration steps
74
- # WARNING: this part should be independante from the out context (whenever
75
- # possible...)
76
- setup:
77
- # Install
78
- - install_software:
79
- - packages: ntp zip unzip rsync sudo vim bash-completion syslinux
80
- - install_bootloader
81
- # Configuration
82
- - configure_system:
83
- - locales: POSIX C en_US fr_FR de_DE
84
- - lang: en_US.UTF-8
85
- - timezone: UTC
86
- - configure_keyboard:
87
- # set to english keyboard use 'localectl list-keymaps' to see available list
88
- - layout: en
89
- - configure_network
90
- - create_user:
91
- - name: $$user_name
92
- - groups: wheel
93
- - password: $$user_name
94
-
95
- #== Export the generated appliance in the format of your choice
96
- export:
97
- - disable_checkpoint
98
- - virtualbox_save_appliance:
99
- - output: "$$kameleon_cwd/$${kameleon_recipe_name}"
100
- - save_as_ova
101
- # - save_as_vdi
102
- # - save_as_vmdk
103
- # - save_as_tar_gz
104
- # - save_as_tar_xz
105
- # - save_as_tar_bz2
106
- # - save_as_raw
107
- # - save_as_qcow2
108
- # - save_as_qed
@@ -1,39 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Centos 6.5 base system (i386)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: centos6.5-x86_64
11
-
12
- global:
13
- ## User varibales : used by the recipe
14
- user_name: kameleon
15
- user_password: $$user_name
16
-
17
- # Distribution
18
- distrib: centos
19
- release: 6.5
20
- arch: i386
21
- hostname: kameleon-$$distrib
22
-
23
- ## VirtualBox options
24
- virtualbox_os_type: Linux
25
-
26
- ## Kameleon iso bootstrap
27
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-i686-insecure.iso
28
-
29
- #== Bootstrap the new system and create the 'in_context'
30
- bootstrap:
31
- - "@base"
32
-
33
- #== Install and configuration steps
34
- setup:
35
- - "@base"
36
-
37
- #== Export the generated appliance in the format of your choice
38
- export:
39
- - "@base"
@@ -1,33 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: A standard Centos 6.5 vagrant base box (amd64)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: centos6.5-x86_64
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
- gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel
26
- openssl-devel readline-devel sqlite-devel perl wget dkms nfs-utils
27
- - setup_vagrant_box
28
-
29
- #== Export the generated appliance in the format of your choice
30
- export:
31
- - disable_checkpoint
32
- - vagrant_save_appliance:
33
- - output: "$$kameleon_cwd/$${kameleon_recipe_name}"
@@ -1,121 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Centos 6.5 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: centos
22
- release: 6.5
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: RedHat_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
- - "fedora"
49
-
50
- # SELinux configuration
51
- selinux: permissive ## Can take one of these three values: enforcing, permissive or disabled
52
- selinuxtype: targeted # Possible values are: strict, targeted
53
-
54
- ssh_config_file: $$kameleon_cwd/ssh_config
55
- out_context:
56
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
57
- workdir: /root/kameleon_workdir
58
- proxy_cache: 10.0.2.2
59
-
60
- in_context:
61
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
62
- workdir: /root/kameleon_workdir
63
- proxy_cache: 10.0.2.2
64
-
65
- #== Bootstrap the new system and create the 'in_context'
66
- bootstrap:
67
- - enable_checkpoint
68
- - prepare_virtualbox
69
- - start_virtualbox
70
- - install_requirements:
71
- - packages: parted e2fsprogs yum rpm lynx extlinux
72
- - initialize_disk
73
- - yum_bootstrap:
74
- - mirror_packages_url: http://mirrors.kernel.org/$$distrib/$$release/os/$$arch/Packages/
75
- - include_pkgs: >
76
- findutils yum util-linux dhclient vim-minimal net-tools openssh-server
77
- kernel kernel-devel acpid
78
- - switch_context_virtualbox
79
-
80
- #== Install and configuration steps
81
- setup:
82
- - configure_kernel
83
- - configure_repo
84
- - update_system
85
- - minimal_install
86
- - install_software:
87
- - packages: >
88
- syslinux-extlinux kbd sudo openssh-clients ntp ntpdate
89
- rsync bridge-utils bzip2 cronie cronie-anacron crontabs
90
- dash dhclient dhcp-common dracut dracut-kernel file fuse gnupg2
91
- iptables-ipv6 libuser logrotate m4 openssh-server passwd
92
- pciutils-libs rsyslog dbus system-config-firewall-base which
93
- findutils yum util-linux vim-minimal net-tools openssh-server
94
- kernel kernel-devel acpid man
95
- - install_bootloader
96
- - configure_system:
97
- - locales: POSIX C en_US fr_FR de_DE
98
- - lang: en_US.UTF-8
99
- - timezone: UTC
100
- - configure_keyboard:
101
- - layout: "us"
102
- - configure_network
103
- - create_user:
104
- - name: $$user_name
105
- - groups: wheel
106
- - password: $$user_password
107
-
108
- #== Export the generated appliance in the format of your choice
109
- export:
110
- - disable_checkpoint
111
- - virtualbox_save_appliance:
112
- - output: "$$kameleon_cwd/$${kameleon_recipe_name}"
113
- - save_as_ova
114
- # - save_as_vdi
115
- # - save_as_vmdk
116
- # - save_as_tar_gz
117
- # - save_as_tar_xz
118
- # - save_as_tar_bz2
119
- # - save_as_raw
120
- # - save_as_qcow2
121
- # - save_as_qed
@@ -1,118 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Centos 7 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: centos
22
- release: 7
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: RedHat_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
- # Include specific steps
44
- include_steps:
45
- - $$distrib/$$release
46
- - $$distrib
47
- - "fedora"
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/$$distrib/$$release/os/$$arch/Packages/
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/$$distrib/$$release/os/$$arch/images/pxeboot/initrd.img
79
- - pxe_vmlinuz_url: http://mirrors.kernel.org/$$distrib/$$release/os/$$arch/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 man
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