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