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.
- 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,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
|