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,107 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Build a debian image for docker with docker
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- # Loads some helpful aliases
11
- aliases: defaults.yaml
12
- # Enables qcow2 checkpoint
13
- # checkpoint: docker.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
-
25
- ## Docker options
26
- docker_dns: 208.67.222.222
27
- docker_image: $$kameleon_recipe_name
28
- docker_hostname: $$kameleon_recipe_name
29
-
30
- # rootfs options
31
- rootfs: $$kameleon_cwd/rootfs
32
-
33
- ## System variables. Required by kameleon engine
34
- # Include specific steps
35
- include_steps:
36
- - $$distrib/$$release
37
- - $$distrib
38
-
39
- # Apt options
40
- apt_repository: http://ftp.debian.org/debian/
41
- apt_enable_contrib: true
42
- apt_enable_nonfree: true
43
-
44
- # Shell session from where we launch exec_out commands. There is often a
45
- # local bash session, but it can be a remote shell on other machines or on
46
- # any shell. (eg. bash, chroot, fakechroot, ssh, tmux, lxc...)
47
- out_context:
48
- cmd: bash
49
- workdir: $$kameleon_cwd
50
- proxy_cache: localhost
51
-
52
- # Shell session that allows us to connect to the building machine in order to
53
- # configure it and setup additional programs
54
- ssh_config_file: $$kameleon_cwd/ssh_config
55
- in_context:
56
- cmd: LC_ALL=POSIX ssh -F $$ssh_config_file $$kameleon_recipe_name -t /bin/bash
57
- workdir: /root/kameleon_workdir
58
- proxy_cache: 172.17.42.1
59
-
60
- #== Bootstrap the new system and create the 'in_context'
61
- bootstrap:
62
- - debootstrap:
63
- - include_pkg: >
64
- ifupdown locales libui-dialog-perl dialog isc-dhcp-client netbase
65
- net-tools iproute acpid openssh-server pciutils extlinux
66
- linux-image-$$arch
67
- - release: $$release
68
- - arch: $$arch
69
- - repository: $$apt_repository
70
- - variant: minbase
71
- - prepare_docker
72
- - start_docker
73
-
74
-
75
- #== Install and configuration steps
76
- # WARNING: this part should be independante from the out context (whenever
77
- # possible...)
78
- setup:
79
- # Install
80
- - configure_apt:
81
- - repository: $$apt_repository
82
- - enable_contrib_repo: $$apt_enable_contrib
83
- - enable_nonfree_repo: $$apt_enable_nonfree
84
- - upgrade_system:
85
- - dist_upgrade: true
86
- - install_software:
87
- - packages: >
88
- debian-keyring rsync sudo less vim bash-completion
89
- # Configuration
90
- - configure_system:
91
- - locales: POSIX C en_US fr_FR de_DE
92
- - lang: en_US.UTF-8
93
- - timezone: UTC
94
- - configure_keyboard:
95
- - layout: "us,fr,de"
96
- - create_group:
97
- - name: admin
98
- - create_user:
99
- - name: $$user_name
100
- - groups: sudo admin
101
- - password: $$user_password
102
-
103
- #== Export the generated appliance in the format of your choice
104
- export:
105
- - save_docker_appliance:
106
- - commit:
107
- - exec_out: docker commit $(cat MAIN_CONTAINER_ID) $$kameleon_recipe_name:latest
@@ -1,97 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Debian 7 (Wheezy) image using G5k.
6
- #
7
- #==============================================================================
8
-
9
- # This recipe assumes that you have already set up a ssh proxy connection for Grid'5000
10
- # as explain in: https://www.grid5000.fr/mediawiki/index.php/SSH_quick_configuration
11
- # In order for this recipe to work, please change the g5k username by yours.
12
- ---
13
- # Loads some helpful aliases
14
- aliases: defaults.yaml
15
- # By default checkpoint is disable
16
- #== Global variables use by Kameleon engine and the steps
17
- global:
18
- ## User varibales : used by the recipe
19
- user_name: kameleon
20
- user_password: $$user_name
21
-
22
- distrib: debian
23
- release: wheezy
24
-
25
- ## System variables. Required by kameleon engine
26
- # Include specific steps
27
- include_steps:
28
- - $$distrib/$$release
29
- - $$distrib
30
-
31
- # Frontend options
32
- g5k_user: $$my_g5k_username # CHANGE ME
33
- g5k_site: $$my_g5k_site # CHANGE ME
34
-
35
- # Kenv
36
- kenv: "wheezy-x64-base"
37
-
38
- ssh_config_file: $$kameleon_cwd/ssh_config
39
- # Shell session from where we launch exec_out commands. There is often a
40
- # local bash session, but it can be a remote shell on other machines or on
41
- # any shell. (eg. bash, chroot, fakechroot, ssh, tmux, lxc...)
42
- out_cwd: /home/$$g5k_user/kameleon_workdir/$$kameleon_recipe_name
43
- out_context:
44
- cmd: ssh -A -t -F $$ssh_config_file $$g5k_site /bin/bash
45
- workdir: $$out_cwd
46
-
47
- # Shell session that allows us to connect to the building machine in order to
48
- # configure it and setup additional programs
49
- in_cwd: /root/kameleon_workdir/$$kameleon_recipe_name
50
- in_context:
51
- cmd: ssh -A -t -F $$ssh_config_file $$kameleon_recipe_name /bin/bash
52
- workdir: $$in_cwd
53
-
54
- #== Bootstrap the new system and create the 'in_context'
55
- #== This will consist in a G5k Deployment
56
- bootstrap:
57
- - g5k_reserv:
58
- - g5k_user: $$g5k_user
59
- - kenv: $$kenv
60
- - walltime: "0:30:00"
61
-
62
- #== Install and configuration steps
63
- # WARNING: this part should be independante from the out context (whenever
64
- # possible...)
65
- setup:
66
- # Install
67
- - configure_apt:
68
- - enable_contrib_repo: true
69
- - enable_nonfree_repo: true
70
-
71
- - upgrade_system:
72
- - dist_upgrade: true
73
- - install_software:
74
- - packages: >
75
- debian-keyring zip unzip rsync sudo less vim bash-completion
76
- # Configuration
77
- - configure_system:
78
- - locales: POSIX C en_US fr_FR de_DE
79
- - lang: en_US.UTF-8
80
- - timezone: UTC
81
- - configure_keyboard:
82
- - layout: "us,fr,de"
83
- - configure_network:
84
- - hostname: kameleon-$$distrib
85
- - create_group:
86
- - name: admin
87
- - create_user:
88
- - name: $$user_name
89
- - groups: sudo admin
90
- - password: $$user_password
91
-
92
- #== Export the generated appliance in the format of your choice
93
- export:
94
- - save_appliance_from_g5k:
95
- - filename: "$${kameleon_recipe_name}"
96
- - filesystem: "ext4"
97
- # - save_as_g5k
@@ -1,25 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Archlinux GNOME Desktop edition (i686).
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: archlinux-i686
11
-
12
- bootstrap:
13
- - "@base"
14
-
15
- setup:
16
- - "@base"
17
- - install_yaourt
18
- - install_gnome:
19
- - keyboard_layout: en
20
- - extra_packages: >
21
- firefox-i18n-en-us flashplugin libreoffice libreoffice-en-US telepathy
22
- hunspell-en faenza-icon-theme file-roller
23
-
24
- export:
25
- - "@base"
@@ -1,25 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Archlinux GNOME Desktop edition (x86_64).
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- extend: archlinux-x86_64
11
-
12
- bootstrap:
13
- - "@base"
14
-
15
- setup:
16
- - "@base"
17
- - install_yaourt
18
- - install_gnome:
19
- - keyboard_layout: en
20
- - extra_packages: >
21
- firefox-i18n-en-us flashplugin libreoffice libreoffice-en-US telepathy
22
- hunspell-en faenza-icon-theme file-roller
23
-
24
- export:
25
- - "@base"
@@ -1,25 +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
- qemu_arch: i386
17
-
18
- bootstrap:
19
- - "@base"
20
-
21
- setup:
22
- - "@base"
23
-
24
- export:
25
- - "@base"
@@ -1,109 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: Build an Archlinux base system system (x86_64).
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- # Loads some helpful aliases
11
- aliases: defaults.yaml
12
- # Enables qemu checkpoint
13
- checkpoint: qemu.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
- ## QEMU options
26
- qemu_enable_kvm: "$(egrep '(vmx|svm)' /proc/cpuinfo > /dev/null && echo true)"
27
- qemu_cpu: 2
28
- qemu_memory_size: 768
29
- qemu_monitor_socket: $$kameleon_cwd/qemu_monitor.socket
30
- qemu_ssh_port: 55423
31
- qemu_arch: $$arch
32
- qemu_image_size: 10G
33
- qemu_image_disk: $$kameleon_cwd/base_$$kameleon_recipe_name.qcow2
34
- qemu_pidfile: $$kameleon_cwd/qemu.pid
35
-
36
- ## Kameleon iso bootstrap
37
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-$${arch}-insecure.iso
38
- insecure_ssh_key_url: http://kameleon.imag.fr/iso/boot2debian/keys/insecure_id_rsa
39
-
40
- # rootfs options
41
- rootfs: /rootfs
42
- filesystem_type: ext4
43
-
44
- ## System variables. Required by kameleon engine
45
- # Include specific steps
46
- include_steps:
47
- - $$distrib
48
-
49
- ssh_config_file: $$kameleon_cwd/ssh_config
50
- out_context:
51
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
52
- workdir: /root/kameleon_workdir
53
- proxy_cache: 10.0.2.2
54
-
55
- in_context:
56
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t chroot $$rootfs /bin/bash
57
- workdir: /root/kameleon_workdir
58
- proxy_cache: 10.0.2.2
59
-
60
- #== Bootstrap the new system and create the 'in_context'
61
- bootstrap:
62
- - prepare_qemu
63
- - start_qemu
64
- - install_requirements:
65
- - packages: parted e2fsprogs wget
66
- - enable_checkpoint
67
- - initialize_disk:
68
- - disk_device: /dev/vda
69
- - arch_bootstrap:
70
- - mirror: http://mir.archlinux.fr/
71
- # You can choose any group from https://www.archlinux.org/groups/
72
- # It's recommended to use 'base' (default) or 'base-devel' (with dev tools)
73
- - pkg_group: base
74
- - start_chroot
75
-
76
- #== Install and configuration steps
77
- # WARNING: this part should be independante from the out context (whenever
78
- # possible...)
79
- setup:
80
- # Install
81
- - install_software:
82
- - packages: ntp zip unzip rsync sudo vim bash-completion syslinux
83
- - install_bootloader
84
- # Configuration
85
- - configure_system:
86
- - locales: POSIX C en_US fr_FR de_DE
87
- - lang: en_US.UTF-8
88
- - timezone: UTC
89
- - configure_keyboard:
90
- # set to english keyboard use 'localectl list-keymaps' to see available list
91
- - layout: en
92
- - configure_network
93
- - create_user:
94
- - name: $$user_name
95
- - groups: wheel
96
- - password: $$user_name
97
-
98
- #== Export the generated appliance in the format of your choice
99
- export:
100
- - disable_checkpoint
101
- - qemu_save_appliance:
102
- - input: $$qemu_image_disk
103
- - output: $$kameleon_cwd/$$kameleon_recipe_name
104
- - save_as_qcow2
105
- #- save_as_qed
106
- # - save_as_tgz
107
- # - save_as_raw
108
- # - save_as_vmdk
109
- # - save_as_vdi
@@ -1,122 +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 qemu checkpoint
13
- checkpoint: qemu.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
- ## QEMU options
27
- qemu_enable_kvm: "$(egrep '(vmx|svm)' /proc/cpuinfo > /dev/null && echo true)"
28
- qemu_cpu: 2
29
- qemu_memory_size: 768
30
- qemu_monitor_socket: $$kameleon_cwd/qemu_monitor.socket
31
- qemu_ssh_port: 55423
32
- qemu_arch: x86_64
33
- qemu_image_size: 10G
34
- qemu_image_disk: $$kameleon_cwd/base_$$kameleon_recipe_name.qcow2
35
- qemu_pidfile: $$kameleon_cwd/qemu.pid
36
-
37
- ## Kameleon iso bootstrap
38
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-$${qemu_arch}-insecure.iso
39
- insecure_ssh_key_url: http://kameleon.imag.fr/iso/boot2debian/keys/insecure_id_rsa
40
-
41
- # rootfs options
42
- disk_device: /dev/vda
43
- rootfs: /rootfs
44
- filesystem_type: ext4
45
-
46
- ## System variables. Required by kameleon engine
47
- # Include specific steps
48
- include_steps:
49
- - $$distrib/$$release
50
- - $$distrib
51
- - "fedora"
52
-
53
- # SELinux configuration
54
- selinux: permissive ## Can take one of these three values: enforcing, permissive or disabled
55
- selinuxtype: targeted # Possible values are: strict, targeted
56
-
57
- ssh_config_file: $$kameleon_cwd/ssh_config
58
- out_context:
59
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
60
- workdir: /root/kameleon_workdir
61
- proxy_cache: 10.0.2.2
62
-
63
- in_context:
64
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
65
- workdir: /root/kameleon_workdir
66
- proxy_cache: 10.0.2.2
67
-
68
- bootstrap:
69
- - enable_checkpoint
70
- - prepare_qemu
71
- - start_qemu
72
- - install_requirements:
73
- - packages: parted e2fsprogs yum rpm lynx extlinux
74
- - initialize_disk
75
- - yum_bootstrap:
76
- - mirror_packages_url: http://mirrors.kernel.org/$$distrib/$$release/os/$$arch/Packages/
77
- - include_pkgs: >
78
- findutils yum util-linux dhclient vim-minimal net-tools openssh-server
79
- kernel kernel-devel acpid
80
- - switch_context_qemu
81
-
82
- #== Install and configuration steps
83
- setup:
84
- - configure_kernel
85
- - update_system
86
- - minimal_install
87
- - install_software:
88
- - packages: >
89
- syslinux-extlinux kbd sudo openssh-clients ntp ntpdate
90
- rsync bridge-utils bzip2 cronie cronie-anacron crontabs
91
- dash dhclient dhcp-common dracut dracut-kernel file fuse gnupg2
92
- iptables-ipv6 libuser logrotate m4 openssh-server passwd
93
- pciutils-libs rsyslog dbus system-config-firewall-base which
94
- findutils yum util-linux vim-minimal net-tools openssh-server
95
- kernel kernel-devel acpid
96
- - install_bootloader
97
- - configure_system:
98
- - locales: POSIX C en_US fr_FR de_DE
99
- - lang: en_US.UTF-8
100
- - timezone: UTC
101
- - configure_keyboard:
102
- - layout: "us"
103
- - configure_network
104
- - create_user:
105
- - name: $$user_name
106
- - groups: wheel
107
- - password: $$user_password
108
-
109
- #== Export the generated appliance in the format of your choice
110
- export:
111
- - disable_checkpoint
112
- - qemu_save_appliance:
113
- - input: $$qemu_image_disk
114
- - output: $$kameleon_cwd/$$kameleon_recipe_name
115
- - save_as_qcow2
116
- # - save_as_qed
117
- # - save_as_tar_gz
118
- # - save_as_tar_xz
119
- # - save_as_tar_bz2
120
- # - save_as_raw
121
- # - save_as_vmdk
122
- # - save_as_vdi