kameleon-builder 2.2.5 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.rst +21 -0
- data/{templates → contrib}/steps/bootstrap/debian/debootstrap_arm.yaml +1 -1
- data/{templates → contrib}/steps/export/clean_appliance.yaml +0 -0
- data/{templates → contrib}/steps/export/compact_qcow_img.yaml +0 -0
- data/{templates → contrib}/steps/setup/archlinux/configure_ruby.yaml +0 -0
- data/{templates → contrib}/steps/setup/archlinux/install_dev_tools.yaml +0 -0
- data/{templates → contrib}/steps/setup/archlinux/install_gnome.yaml +0 -0
- data/{templates → contrib}/steps/setup/archlinux/install_yaourt.yaml +0 -0
- data/{templates → contrib}/steps/setup/centos/6.5/configure_repo.yaml +0 -0
- data/{templates → contrib}/steps/setup/debian/install_gnome.yaml +0 -0
- data/{templates → contrib}/steps/setup/debian/install_kde.yaml +0 -0
- data/{templates → erb}/extend.erb +2 -2
- data/erb/userconf.erb +5 -0
- data/kameleon-builder.gemspec +6 -1
- data/lib/kameleon.rb +53 -3
- data/lib/kameleon/cli.rb +146 -99
- data/lib/kameleon/engine.rb +20 -8
- data/lib/kameleon/environment.rb +11 -10
- data/lib/kameleon/persistent_cache.rb +1 -9
- data/lib/kameleon/recipe.rb +52 -24
- data/lib/kameleon/repository.rb +46 -0
- data/lib/kameleon/utils.rb +49 -0
- data/{templates → tests/recipes}/steps/aliases/defaults.yaml +0 -0
- data/tests/recipes/steps/bootstrap/linux/bootstrap.yaml +2 -0
- data/tests/recipes/steps/checkpoints/test.yaml +14 -0
- data/tests/recipes/steps/enable_something.yaml +2 -0
- data/tests/recipes/steps/export/save_appliance.yaml +10 -0
- data/tests/recipes/steps/setup/linux/software_install.yaml +7 -0
- data/tests/recipes/test_recipe.yaml +41 -0
- data/version.txt +1 -1
- metadata +34 -139
- data/templates/COPYRIGHT +0 -21
- data/templates/chroot/debian7-amd64.yaml +0 -119
- data/templates/docker/debian7.yaml +0 -107
- data/templates/grid5000/debian7.yaml +0 -97
- data/templates/qemu/archlinux-desktop-i686.yaml +0 -25
- data/templates/qemu/archlinux-desktop-x86_64.yaml +0 -25
- data/templates/qemu/archlinux-i686.yaml +0 -25
- data/templates/qemu/archlinux-x86_64.yaml +0 -109
- data/templates/qemu/centos6.5-x86_64.yaml +0 -122
- data/templates/qemu/centos7-x86_64.yaml +0 -122
- data/templates/qemu/debian7-amd64.yaml +0 -134
- data/templates/qemu/debian7-desktop-amd64.yaml +0 -24
- data/templates/qemu/debian7-kameleon-amd64.yaml +0 -40
- data/templates/qemu/debian7-oar-amd64.yaml +0 -51
- data/templates/qemu/debian8-amd64.yaml +0 -25
- data/templates/qemu/fedora20-desktop-x86_64.yaml +0 -21
- data/templates/qemu/fedora20-x86_64.yaml +0 -119
- data/templates/qemu/ubuntu-12.04-amd64.yaml +0 -132
- data/templates/qemu/ubuntu-12.04-desktop-amd64.yaml +0 -25
- data/templates/qemu/ubuntu-14.04-amd64.yaml +0 -25
- data/templates/qemu/ubuntu-14.04-desktop-amd64.yaml +0 -27
- data/templates/steps/bootstrap/archlinux/arch_bootstrap.yaml +0 -211
- data/templates/steps/bootstrap/centos/6.5/yum_bootstrap.yaml +0 -67
- data/templates/steps/bootstrap/debian/debootstrap.yaml +0 -20
- data/templates/steps/bootstrap/fedora/init_pxeboot.yaml +0 -13
- data/templates/steps/bootstrap/fedora/yum_bootstrap.yaml +0 -45
- data/templates/steps/bootstrap/g5k_reserv.yaml +0 -70
- data/templates/steps/bootstrap/initialize_disk.yaml +0 -16
- data/templates/steps/bootstrap/initialize_disk_chroot.yaml +0 -80
- data/templates/steps/bootstrap/install_requirements.yaml +0 -3
- data/templates/steps/bootstrap/prepare_chroot.yaml +0 -126
- data/templates/steps/bootstrap/prepare_docker.yaml +0 -51
- data/templates/steps/bootstrap/prepare_qemu.yaml +0 -41
- data/templates/steps/bootstrap/prepare_virtualbox.yaml +0 -67
- data/templates/steps/bootstrap/start_chroot.yaml +0 -51
- data/templates/steps/bootstrap/start_docker.yaml +0 -16
- data/templates/steps/bootstrap/start_qemu.yaml +0 -74
- data/templates/steps/bootstrap/start_virtualbox.yaml +0 -38
- data/templates/steps/bootstrap/switch_context_qemu.yaml +0 -84
- data/templates/steps/bootstrap/switch_context_virtualbox.yaml +0 -86
- data/templates/steps/breakpoint.yaml +0 -3
- data/templates/steps/checkpoints/docker.yaml +0 -17
- data/templates/steps/checkpoints/qcow2.yaml +0 -40
- data/templates/steps/checkpoints/qemu.yaml +0 -33
- data/templates/steps/checkpoints/virtualbox.yaml +0 -21
- data/templates/steps/disable_checkpoint.yaml +0 -3
- data/templates/steps/enable_checkpoint.yaml +0 -5
- data/templates/steps/export/qemu_save_appliance.yaml +0 -52
- data/templates/steps/export/save_appliance_from_g5k.yaml +0 -47
- data/templates/steps/export/vagrant_save_appliance.yaml +0 -14
- data/templates/steps/export/virtualbox_save_appliance.yaml +0 -61
- data/templates/steps/setup/archlinux/configure_keyboard.yaml +0 -9
- data/templates/steps/setup/archlinux/configure_network.yaml +0 -9
- data/templates/steps/setup/archlinux/configure_system.yaml +0 -20
- data/templates/steps/setup/archlinux/install_bootloader.yaml +0 -23
- data/templates/steps/setup/archlinux/install_software.yaml +0 -9
- data/templates/steps/setup/autologin.yaml +0 -16
- data/templates/steps/setup/centos/6.5/configure_network.yaml +0 -33
- data/templates/steps/setup/centos/6.5/configure_system.yaml +0 -46
- data/templates/steps/setup/centos/6.5/minimal_install.yaml +0 -3
- data/templates/steps/setup/centos/6.5/setup_vagrant_box.yaml +0 -77
- data/templates/steps/setup/create_group.yaml +0 -12
- data/templates/steps/setup/create_user.yaml +0 -11
- data/templates/steps/setup/debian/configure_apt.yaml +0 -73
- data/templates/steps/setup/debian/configure_kernel.yaml +0 -13
- data/templates/steps/setup/debian/configure_keyboard.yaml +0 -10
- data/templates/steps/setup/debian/configure_network.yaml +0 -30
- data/templates/steps/setup/debian/configure_system.yaml +0 -12
- data/templates/steps/setup/debian/install_bootloader.yaml +0 -36
- data/templates/steps/setup/debian/install_software.yaml +0 -2
- data/templates/steps/setup/debian/oar/oar_debian_config_frontend.yaml +0 -8
- data/templates/steps/setup/debian/oar/oar_debian_config_node.yaml +0 -5
- data/templates/steps/setup/debian/oar/oar_debian_config_server.yaml +0 -5
- data/templates/steps/setup/debian/oar/oar_prereq_install.yaml +0 -16
- data/templates/steps/setup/debian/setup_vagrant_box.yaml +0 -80
- data/templates/steps/setup/debian/upgrade_system.yaml +0 -10
- data/templates/steps/setup/fedora/configure_kernel.yaml +0 -9
- data/templates/steps/setup/fedora/configure_keyboard.yaml +0 -12
- data/templates/steps/setup/fedora/configure_network.yaml +0 -38
- data/templates/steps/setup/fedora/configure_system.yaml +0 -52
- data/templates/steps/setup/fedora/install_bootloader.yaml +0 -53
- data/templates/steps/setup/fedora/install_software.yaml +0 -3
- data/templates/steps/setup/fedora/minimal_install.yaml +0 -3
- data/templates/steps/setup/fedora/update_system.yaml +0 -16
- data/templates/steps/setup/oar/oar_config_devel.yaml +0 -21
- data/templates/steps/setup/oar/oar_config_frontend.yaml +0 -38
- data/templates/steps/setup/oar/oar_config_node.yaml +0 -4
- data/templates/steps/setup/oar/oar_config_server.yaml +0 -25
- data/templates/steps/setup/oar/oar_config_system.yaml +0 -34
- data/templates/steps/setup/oar/oar_devel_prereq_install.yaml +0 -5
- data/templates/steps/setup/oar/oar_git_install.yaml +0 -21
- data/templates/steps/setup/ubuntu/configure_apt.yaml +0 -62
- data/templates/virtualbox/archlinux-desktop-i686.yaml +0 -25
- data/templates/virtualbox/archlinux-desktop-x86_64.yaml +0 -28
- data/templates/virtualbox/archlinux-i686.yaml +0 -28
- data/templates/virtualbox/archlinux-x86_64.yaml +0 -108
- data/templates/virtualbox/centos6.5-i386.yaml +0 -39
- data/templates/virtualbox/centos6.5-vagrant-x86_64.yaml +0 -33
- data/templates/virtualbox/centos6.5-x86_64.yaml +0 -121
- data/templates/virtualbox/centos7-x86_64.yaml +0 -118
- data/templates/virtualbox/debian7-amd64.yaml +0 -128
- data/templates/virtualbox/debian7-desktop-amd64.yaml +0 -25
- data/templates/virtualbox/debian7-i386.yaml +0 -31
- data/templates/virtualbox/debian7-kameleon-amd64.yaml +0 -38
- data/templates/virtualbox/debian7-oar-amd64.yaml +0 -51
- data/templates/virtualbox/debian7-vagrant-amd64.yaml +0 -32
- data/templates/virtualbox/debian8-amd64.yaml +0 -25
- data/templates/virtualbox/debian8-i386.yaml +0 -31
- data/templates/virtualbox/fedora20-x86_64.yaml +0 -118
- data/templates/virtualbox/ubuntu-12.04-amd64.yaml +0 -128
- data/templates/virtualbox/ubuntu-12.04-desktop-amd64.yaml +0 -25
- data/templates/virtualbox/ubuntu-14.04-amd64.yaml +0 -25
- data/templates/virtualbox/ubuntu-14.04-desktop-amd64.yaml +0 -27
- data/tests/recipes/dummy_recipe.yaml +0 -48
- data/tests/recipes/steps/bootstrap/dummy_distro/dummy_bootstrap_static.yaml +0 -4
- data/tests/recipes/steps/export/dummy_save_appliance.yaml +0 -9
- data/tests/recipes/steps/setup/default/dummy_root_passwd.yaml +0 -8
- data/tests/recipes/steps/setup/dummy_distro/dummy_software_install.yaml +0 -7
@@ -1,40 +0,0 @@
|
|
1
|
-
enabled?:
|
2
|
-
- exec_local: test -f $$kameleon_cwd/checkpoint_enabled
|
3
|
-
- exec_local: test -e "$$image_disk"
|
4
|
-
|
5
|
-
create:
|
6
|
-
- exec_local: |
|
7
|
-
parent_of_@microstep_id="$(readlink $$image_disk)"
|
8
|
-
pushd $$kameleon_cwd/checkpoints
|
9
|
-
rm -f @microstep_id_checkpoint.qcow2
|
10
|
-
qemu-img create -f qcow2 "@microstep_id_checkpoint.qcow2" \
|
11
|
-
-o backing_file=$(basename "$parent_of_@microstep_id")
|
12
|
-
popd
|
13
|
-
ln -sf $$kameleon_cwd/checkpoints/@microstep_id_checkpoint.qcow2 $$image_disk
|
14
|
-
lsmod | grep nbd >/dev/null || modprobe nbd max_part=63
|
15
|
-
echo "sync" ; sync
|
16
|
-
qemu-nbd -d $$nbd_device
|
17
|
-
qemu-nbd -c $$nbd_device "$(readlink $$image_disk)"
|
18
|
-
|
19
|
-
apply:
|
20
|
-
- exec_local: |
|
21
|
-
# apply command use the backing file that represent the real state to restore
|
22
|
-
previous_id=$(qemu-img info "checkpoints/@microstep_id_checkpoint.qcow2" \
|
23
|
-
| grep backing \
|
24
|
-
| sed -e 's/.*checkpoints\/\(.*\)_checkpoint.qcow2\(.*\)/\1/p' \
|
25
|
-
| uniq)
|
26
|
-
ln -sf "$$kameleon_cwd/checkpoints/${previous_id}_checkpoint.qcow2" "$$image_disk"
|
27
|
-
|
28
|
-
clear:
|
29
|
-
- exec_local: |
|
30
|
-
if [ -d "$$kameleon_cwd/checkpoints" ] ; then
|
31
|
-
ls $$kameleon_cwd/checkpoints/ | \
|
32
|
-
xargs -I {} bash -c "echo Removing $$kameleon_cwd/checkpoints/{} ; rm $$kameleon_cwd/checkpoints/{}"
|
33
|
-
rm -f $$image_disk
|
34
|
-
fi
|
35
|
-
|
36
|
-
list:
|
37
|
-
- exec_local: |
|
38
|
-
if [ -d "$$kameleon_cwd/checkpoints" ] ; then
|
39
|
-
ls $$kameleon_cwd/checkpoints/ | sed -e 's/\(.*\)_checkpoint.qcow2/\1/p' | uniq
|
40
|
-
fi
|
@@ -1,33 +0,0 @@
|
|
1
|
-
enabled?:
|
2
|
-
- exec_local: test -f $$kameleon_cwd/checkpoint_enabled
|
3
|
-
- exec_local: test -S $$qemu_monitor_socket
|
4
|
-
|
5
|
-
create:
|
6
|
-
- exec_local: echo -e "savevm @microstep_id" | socat - UNIX-CONNECT:$$qemu_monitor_socket
|
7
|
-
|
8
|
-
apply:
|
9
|
-
- exec_local: |
|
10
|
-
[[ ! -f "$$kameleon_cwd/vm_state_to_load.txt" ]] || rm -f $$kameleon_cwd/vm_state_to_load.txt
|
11
|
-
if [ -f "$$qemu_image_disk" ] ; then
|
12
|
-
_checkpoints=$(qemu-img snapshot -l $$qemu_image_disk | tail -n +3 | awk '{print $2}')
|
13
|
-
_checkpoints=($_checkpoints)
|
14
|
-
for checkpoint in "${_checkpoints[@]}"; do
|
15
|
-
if [ -f "$$kameleon_cwd/vm_state_to_load.txt" ]; then
|
16
|
-
echo "Removing old checkpoint $checkpoint"
|
17
|
-
qemu-img snapshot -d $checkpoint $$qemu_image_disk
|
18
|
-
fi
|
19
|
-
if [[ "$checkpoint" == "@microstep_id" ]]; then
|
20
|
-
echo "@microstep_id" > $$kameleon_cwd/vm_state_to_load.txt
|
21
|
-
qemu-img snapshot -a $checkpoint $$qemu_image_disk
|
22
|
-
fi
|
23
|
-
done
|
24
|
-
fi
|
25
|
-
|
26
|
-
clear:
|
27
|
-
- exec_local: rm -f $$qemu_image_disk
|
28
|
-
|
29
|
-
list:
|
30
|
-
- exec_local: |
|
31
|
-
if [ -f "$$qemu_image_disk" ] ; then
|
32
|
-
qemu-img snapshot -l $$qemu_image_disk | tail -n +3 | awk '{print $2}'
|
33
|
-
fi
|
@@ -1,21 +0,0 @@
|
|
1
|
-
enabled?:
|
2
|
-
- exec_local: test -f $$kameleon_cwd/checkpoint_enabled
|
3
|
-
- exec_local: VBoxManage list vms | grep -q $$virtualbox_vmid
|
4
|
-
|
5
|
-
create:
|
6
|
-
- exec_local: VBoxManage snapshot $$virtualbox_vmid take @microstep_id 2>&1
|
7
|
-
|
8
|
-
apply:
|
9
|
-
- exec_local: VBoxManage snapshot $$virtualbox_vmid restore @microstep_id 2>&1
|
10
|
-
|
11
|
-
clear:
|
12
|
-
- exec_local: |
|
13
|
-
if VBoxManage list vms | grep -q $$virtualbox_vmid; then
|
14
|
-
VBoxManage unregistervm --delete $$virtualbox_vmid 2>&1
|
15
|
-
fi
|
16
|
-
|
17
|
-
list:
|
18
|
-
- exec_local: |
|
19
|
-
if VBoxManage list vms | grep -q $$virtualbox_vmid; then
|
20
|
-
VBoxManage snapshot $$virtualbox_vmid list | grep 'Name:' | awk '{print $2}'
|
21
|
-
fi
|
@@ -1,52 +0,0 @@
|
|
1
|
-
# Save Appliance
|
2
|
-
|
3
|
-
- tar_out_opts: numericowner:true excludes:etc/fstab
|
4
|
-
|
5
|
-
- save_as_tar_gz:
|
6
|
-
- check_cmd_local: guestfish
|
7
|
-
- check_cmd_local: gzip
|
8
|
-
- exec_local: echo "Exporting appliance to $$output.tar.gz..."
|
9
|
-
- exec_local: guestfish --ro -i tar-out -a $$input / - $$tar_out_opts | gzip --best > $$output.tar.gz
|
10
|
-
|
11
|
-
- save_as_tar_xz:
|
12
|
-
- check_cmd_local: guestfish
|
13
|
-
- check_cmd_local: xz
|
14
|
-
- exec_local: echo "Exporting appliance to $$output.tar.xz..."
|
15
|
-
- exec_local: guestfish --ro -i tar-out -a $$input / - $$tar_out_opts | xz -9 -c - > $$output.tar.xz
|
16
|
-
|
17
|
-
- save_as_tar_bz2:
|
18
|
-
- check_cmd_local: guestfish
|
19
|
-
- check_cmd_local: bzip2
|
20
|
-
- exec_local: echo "Exporting appliance to $$output.tar.bz2..."
|
21
|
-
- exec_local: guestfish --ro -i tar-out -a $$input / - $$tar_out_opts | bzip2 --best > $$output.tar.bz2
|
22
|
-
|
23
|
-
- save_as_raw:
|
24
|
-
- check_cmd_local: qemu-img
|
25
|
-
- exec_local: echo "Exporting appliance to $$output.raw..."
|
26
|
-
- exec_local: qemu-img convert -O raw $$input $$output.raw
|
27
|
-
|
28
|
-
- save_as_qcow2:
|
29
|
-
- check_cmd_local: qemu-img
|
30
|
-
- exec_local: echo "Exporting appliance to $$output.qcow2..."
|
31
|
-
- exec_local: qemu-img convert -c -O qcow2 $$input $$output.qcow2
|
32
|
-
|
33
|
-
- save_as_qed:
|
34
|
-
- check_cmd_local: qemu-img
|
35
|
-
- exec_local: echo "Exporting appliance to $$output.qed..."
|
36
|
-
- exec_local: qemu-img convert -O qed $$input $$output.qed
|
37
|
-
|
38
|
-
- save_as_vmdk:
|
39
|
-
- check_cmd_local: qemu-img
|
40
|
-
- exec_local: echo "Exporting appliance to $$output.vmdk..."
|
41
|
-
- exec_local: qemu-img convert -O vmdk $$input $$output.vmdk
|
42
|
-
|
43
|
-
- save_as_vdi:
|
44
|
-
- check_cmd_local: qemu-img
|
45
|
-
- exec_local: echo "Exporting appliance to $$output.vdi..."
|
46
|
-
- exec_local: qemu-img convert -O vdi $$input $$output.vdi
|
47
|
-
- rescue:
|
48
|
-
- exec_local: |
|
49
|
-
echo "Compact the vdi disk"
|
50
|
-
VBoxManage modifyhd $$output.vdi --compact 2>&1
|
51
|
-
- exec_local: |
|
52
|
-
echo "Cannot compact the vdi disk : VBoxManage is missing."
|
@@ -1,47 +0,0 @@
|
|
1
|
-
# # Save G5k Appliance
|
2
|
-
|
3
|
-
- save_as_g5k:
|
4
|
-
- exec_out: echo "Using tgz g5k to Export the machine"
|
5
|
-
- exec_in: tgz-g5k $$in_cwd/$$filename.tar.gz
|
6
|
-
- exec_out: |
|
7
|
-
rsync -avz -e "ssh -F $$out_cwd/ssh_config" \
|
8
|
-
$$kameleon_recipe_name:$$in_cwd/$$filename.tar.gz \
|
9
|
-
$$out_cwd/$$filename.tar.gz
|
10
|
-
- exec_out: echo "Saved tar.gz appliance to $$out_cwd/$$filename.tar.gz"
|
11
|
-
- exec_in: rm -f $$in_cwd/$$filename.tar.gz
|
12
|
-
- exec_out: echo "Getting the appropiate post install"
|
13
|
-
- pipe:
|
14
|
-
- exec_out: kaenv3 -p $$kenv | grep archive
|
15
|
-
- exec_in: cat > /tmp/postinstall
|
16
|
-
|
17
|
-
- write_in:
|
18
|
-
- $$in_cwd/$${kameleon_recipe_name}_img.yaml
|
19
|
-
- |
|
20
|
-
#
|
21
|
-
# Kameleon generated based on kadeploy description file
|
22
|
-
#
|
23
|
-
---
|
24
|
-
name: $${kameleon_recipe_name}
|
25
|
-
|
26
|
-
version: 1
|
27
|
-
|
28
|
-
os: linux
|
29
|
-
|
30
|
-
image:
|
31
|
-
file: $$filename.tar.gz
|
32
|
-
kind: tar
|
33
|
-
compression: gzip
|
34
|
-
|
35
|
-
postinstalls:
|
36
|
-
`cat /tmp/postinstall`
|
37
|
-
compression: gzip
|
38
|
-
script: traitement.ash /rambin
|
39
|
-
|
40
|
-
boot:
|
41
|
-
kernel: /boot/`basename /boot/vmlinu*`
|
42
|
-
initrd: /boot/`basename /boot/init*`
|
43
|
-
|
44
|
-
filesystem: $$filesystem
|
45
|
-
- in2out:
|
46
|
-
- $$in_cwd/$${kameleon_recipe_name}_img.yaml
|
47
|
-
- $$out_cwd/$${kameleon_recipe_name}_img.yaml
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# Save Appliance from virtualbox vagrant
|
2
|
-
|
3
|
-
- memory_size: $$virtualbox_memory_size
|
4
|
-
|
5
|
-
- customized_vm:
|
6
|
-
- exec_local: VBoxManage modifyvm $$virtualbox_vmid --natpf1 delete guestssh
|
7
|
-
- exec_local: VBoxManage storageattach $$virtualbox_vmid --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium none
|
8
|
-
- exec_local: VBoxManage modifyvm $$virtualbox_vmid --memory $$memory_size
|
9
|
-
|
10
|
-
- save_box:
|
11
|
-
- check_cmd_local: vagrant
|
12
|
-
- exec_local: echo "Exporting appliance to $$output.box..."
|
13
|
-
- exec_local: rm -f $$output.box
|
14
|
-
- exec_local: vagrant package --base $$virtualbox_vmid --output $$output.box
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# Save Appliance from virtualbox
|
2
|
-
|
3
|
-
- tar_out_opts: numericowner:true excludes:etc/fstab
|
4
|
-
|
5
|
-
- save_as_ova:
|
6
|
-
- exec_local: rm -f $$output.ova
|
7
|
-
- exec_local: VBoxManage modifyvm $$virtualbox_vmid --natpf1 delete guestssh
|
8
|
-
- exec_local: VBoxManage storageattach $$virtualbox_vmid --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium none
|
9
|
-
- exec_local: VBoxManage export $$virtualbox_vmid -o $$output.ova
|
10
|
-
|
11
|
-
- save_as_vdi:
|
12
|
-
- check_cmd_local: qemu-img
|
13
|
-
- exec_local: echo "Exporting appliance to $$output.vdi..."
|
14
|
-
- exec_local: qemu-img convert -O vdi $$virtualbox_image_disk $$output.vdi
|
15
|
-
- rescue:
|
16
|
-
- exec_local: |
|
17
|
-
echo "Compact the vdi disk"
|
18
|
-
VBoxManage modifyhd $$output.vdi --compact 2>&1
|
19
|
-
- exec_local: |
|
20
|
-
echo "Cannot compact the vdi disk : VBoxManage is missing."
|
21
|
-
- exec_local: echo "Saved vdi appliance to $$output.vdi"
|
22
|
-
|
23
|
-
- save_as_vmdk:
|
24
|
-
- check_cmd_local: qemu-img
|
25
|
-
- exec_local: echo "Exporting appliance to $$output.vmdk..."
|
26
|
-
- exec_local: qemu-img convert -O vmdk $$virtualbox_image_disk $$output.vmdk
|
27
|
-
- exec_local: echo "Saved vmdk appliance to $$output.vmdk"
|
28
|
-
|
29
|
-
- save_as_tar_gz:
|
30
|
-
- check_cmd_local: guestfish
|
31
|
-
- check_cmd_local: gzip
|
32
|
-
- exec_local: echo "Exporting appliance to $$output.tar.gz..."
|
33
|
-
- exec_local: guestfish --ro -i tar-out -a $$virtualbox_image_disk / - $$tar_out_opts | gzip --best > $$output.tar.gz
|
34
|
-
|
35
|
-
- save_as_tar_xz:
|
36
|
-
- check_cmd_local: guestfish
|
37
|
-
- check_cmd_local: xz
|
38
|
-
- exec_local: echo "Exporting appliance to $$output.tar.xz..."
|
39
|
-
- exec_local: guestfish --ro -i tar-out -a $$virtualbox_image_disk / - $$tar_out_opts | xz -9 -c - > $$output.tar.xz
|
40
|
-
|
41
|
-
- save_as_tar_bz2:
|
42
|
-
- check_cmd_local: guestfish
|
43
|
-
- check_cmd_local: bzip2
|
44
|
-
- exec_local: echo "Exporting appliance to $$output.tar.bz2..."
|
45
|
-
- exec_local: guestfish --ro -i tar-out -a $$virtualbox_image_disk / - $$tar_out_opts | bzip2 --best > $$output.tar.bz2
|
46
|
-
|
47
|
-
- save_as_raw:
|
48
|
-
- check_cmd_local: qemu-img
|
49
|
-
- exec_local: echo "Exporting appliance to $$output.raw..."
|
50
|
-
- exec_local: qemu-img convert -O raw $$virtualbox_image_disk $$output.raw
|
51
|
-
- exec_local: echo "Saved raw appliance to $$output.raw"
|
52
|
-
|
53
|
-
- save_as_qcow2:
|
54
|
-
- check_cmd_local: qemu-img
|
55
|
-
- exec_local: echo "Exporting appliance to $$output.qcow2..."
|
56
|
-
- exec_local: qemu-img convert -c -O qcow2 $$virtualbox_image_disk $$output.qcow2
|
57
|
-
|
58
|
-
- save_as_qed:
|
59
|
-
- check_cmd_local: qemu-img
|
60
|
-
- exec_local: echo "Exporting appliance to $$output.qed..."
|
61
|
-
- exec_local: qemu-img convert -O qed $$virtualbox_image_disk $$output.qed
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# System configuration for Archlinux
|
2
|
-
#
|
3
|
-
# This will set the locals and the timezone
|
4
|
-
|
5
|
-
- set_locales:
|
6
|
-
# uncomment the locales
|
7
|
-
- exec_in: |
|
8
|
-
test ! -f /etc/locale.gen || \
|
9
|
-
(echo $$locales | tr ' ' '\n' | xargs -I {} sed -i 's/^#{}/{}/' /etc/locale.gen)
|
10
|
-
# generate the locales
|
11
|
-
- exec_in: locale-gen
|
12
|
-
# save and apply
|
13
|
-
- exec_in: echo LANG=$$lang > /etc/locale.conf
|
14
|
-
- exec_in: export LANG=$$lang
|
15
|
-
|
16
|
-
- set_timezone:
|
17
|
-
- exec_in: ln -s /usr/share/zoneinfo/$$timezone /etc/localtime
|
18
|
-
|
19
|
-
- set_wheel_sudo:
|
20
|
-
- exec_in: echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# Install extlinux bootloader
|
2
|
-
|
3
|
-
- install_syslinux:
|
4
|
-
- check_cmd_in: extlinux
|
5
|
-
- check_cmd_in: syslinux-install_update
|
6
|
-
- exec_in: DISTRIB_TITLE="$$kameleon_recipe_name"
|
7
|
-
- exec_in: syslinux-install_update -a -m
|
8
|
-
- exec_in: cp -r /usr/lib/syslinux/bios/*.c32 /boot/syslinux/
|
9
|
-
- exec_in: extlinux --install /boot/syslinux 2>&1
|
10
|
-
- exec_in: syslinux-install_update -a -m
|
11
|
-
- write_in:
|
12
|
-
- /boot/syslinux/syslinux.cfg
|
13
|
-
- |
|
14
|
-
default ${DISTRIB_TITLE^}
|
15
|
-
timeout 1
|
16
|
-
|
17
|
-
label ${DISTRIB_TITLE^}
|
18
|
-
kernel ../vmlinuz-linux
|
19
|
-
initrd ../initramfs-linux.img
|
20
|
-
# the net.ifnames option is disable to get default net interface
|
21
|
-
# names according to this page:
|
22
|
-
# https://wiki.archlinux.org/index.php/Network_Configuration#Device_names
|
23
|
-
append root=UUID=`blkid -s UUID -o value $(__find_linux_boot_device)` rw net.ifnames=0
|
@@ -1,16 +0,0 @@
|
|
1
|
-
# # Autologin
|
2
|
-
- set_autologin:
|
3
|
-
- exec_in: |
|
4
|
-
# check SysV init
|
5
|
-
if [ -f '/etc/inittab' ]
|
6
|
-
then
|
7
|
-
perl -pi -e 's;/sbin/getty.*tty1;/bin/login -f $$user_name tty1 </dev/tty1 >/dev/tty1 2>&1;' /etc/inittab
|
8
|
-
else
|
9
|
-
# use systemd
|
10
|
-
mkdir -p /etc/systemd/system/getty@tty1.service.d
|
11
|
-
cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf <<< '
|
12
|
-
[Service]
|
13
|
-
ExecStart=
|
14
|
-
ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux
|
15
|
-
'
|
16
|
-
fi
|
@@ -1,33 +0,0 @@
|
|
1
|
-
- mtu: "1492"
|
2
|
-
|
3
|
-
- set_hostname:
|
4
|
-
- exec_in: echo $$hostname > /etc/hostname
|
5
|
-
|
6
|
-
- enable_network:
|
7
|
-
- exec_in: chkconfig network on
|
8
|
-
|
9
|
-
- set_host:
|
10
|
-
- write_in:
|
11
|
-
- /etc/hosts
|
12
|
-
- |
|
13
|
-
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 $$hostname
|
14
|
-
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 $$hostname
|
15
|
-
|
16
|
-
- set_interface:
|
17
|
-
- write_in:
|
18
|
-
- /etc/sysconfig/network-scripts/ifcfg-eth0
|
19
|
-
- |
|
20
|
-
DEVICE="eth0"
|
21
|
-
BOOTPROTO="dhcp"
|
22
|
-
HOSTNAME="$$hostname"
|
23
|
-
IPV6INIT="yes"
|
24
|
-
NM_CONTROLLED="yes"
|
25
|
-
ONBOOT="yes"
|
26
|
-
TYPE="Ethernet"
|
27
|
-
MTU="$$mtu"
|
28
|
-
- write_in:
|
29
|
-
- /etc/sysconfig/network
|
30
|
-
- |
|
31
|
-
NETWORKING=yes
|
32
|
-
HOSTNAME=$$hostname
|
33
|
-
RES_OPTIONS="single-request-reopen"
|
@@ -1,46 +0,0 @@
|
|
1
|
-
# System configuration
|
2
|
-
#
|
3
|
-
# This will set the locals and the timezone
|
4
|
-
|
5
|
-
|
6
|
-
- set_locales:
|
7
|
-
# uncomment the locales
|
8
|
-
- exec_in: |
|
9
|
-
echo $$locales | tr ' ' '\n' | xargs -I {} localedef -v -c -i {} -i {} -f UTF-8 $$lang 2>&1 || :
|
10
|
-
|
11
|
-
- set_timezone:
|
12
|
-
- exec_in: ln -sf /usr/share/zoneinfo/$$timezone /etc/localtime
|
13
|
-
|
14
|
-
- set_wheel_sudo:
|
15
|
-
- exec_in: echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
|
16
|
-
|
17
|
-
- remove_random_seed:
|
18
|
-
- exec_in: echo "Removing random-seed so it's not the same in every image."
|
19
|
-
- exec_in: rm -f /var/lib/random-seed
|
20
|
-
|
21
|
-
- compress_cracklib:
|
22
|
-
- exec_in: gzip -9 /usr/share/cracklib/pw_dict.pwd
|
23
|
-
|
24
|
-
- enable_sshd:
|
25
|
-
- exec_in: chkconfig sshd on
|
26
|
-
|
27
|
-
- enable_ntpdate_service:
|
28
|
-
- exec_in: chkconfig ntpd on
|
29
|
-
|
30
|
-
- selinux: permissive
|
31
|
-
- selinuxtype: targeted
|
32
|
-
|
33
|
-
- configure_selinux:
|
34
|
-
- write_in:
|
35
|
-
- /etc/selinux/config
|
36
|
-
- |
|
37
|
-
# This file controls the state of SELinux on the system.
|
38
|
-
# SELINUX= can take one of these three values:
|
39
|
-
# enforcing - SELinux security policy is enforced.
|
40
|
-
# permissive - SELinux prints warnings instead of enforcing.
|
41
|
-
# disabled - SELinux is fully disabled.
|
42
|
-
SELINUX=$$selinux
|
43
|
-
# SELINUXTYPE= type of policy in use. Possible values are:
|
44
|
-
# targeted - Only targeted network daemons are protected.
|
45
|
-
# strict - Full SELinux protection.
|
46
|
-
SELINUXTYPE=$$selinuxtype
|