kameleon-builder 2.0.0 → 2.1.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.
- data/.editorconfig +0 -0
- data/.env +63 -15
- data/.gitignore +1 -0
- data/README.rst +4 -2
- data/Vagrantfile +13 -52
- data/bin/kameleon +5 -0
- data/completion/_kameleon.zsh +18 -0
- data/completion/kameleon.bash +13 -0
- data/completion/kameleon.fish +10 -0
- data/contrib/polipo_env.sh +2 -0
- data/contrib/steps/export/save_as_g5k.yaml +63 -0
- data/contrib/steps/setup/add_to_sudoers.yaml +5 -0
- data/docs/Makefile +10 -6
- data/docs/README.md +17 -0
- data/docs/source/_static/kameleon-logo.png +0 -0
- data/docs/source/_static/kameleon-logo.xcf +0 -0
- data/docs/source/_static/kameleon-long.png +0 -0
- data/docs/source/aliases.rst +4 -2
- data/docs/source/checkpoint.rst +2 -0
- data/docs/source/commands.rst +4 -3
- data/docs/source/conf.py +15 -7
- data/docs/source/context.rst +7 -4
- data/docs/source/faq.rst +39 -1
- data/docs/source/getting_started.rst +227 -1
- data/docs/source/grid5000_tutorial.rst +110 -0
- data/docs/source/index.rst +7 -2
- data/docs/source/installation.rst +12 -4
- data/docs/source/persistent_cache.rst +34 -0
- data/docs/source/recipe.rst +23 -16
- data/docs/source/use_cases.rst +93 -0
- data/docs/source/workspace.rst +2 -0
- data/kameleon-builder.gemspec +7 -1
- data/lib/kameleon.rb +3 -6
- data/lib/kameleon/cli.rb +104 -50
- data/lib/kameleon/compat.rb +39 -0
- data/lib/kameleon/context.rb +43 -13
- data/lib/kameleon/engine.rb +118 -77
- data/lib/kameleon/environment.rb +3 -5
- data/lib/kameleon/error.rb +15 -9
- data/lib/kameleon/logger.rb +7 -4
- data/lib/kameleon/persistent_cache.rb +139 -0
- data/lib/kameleon/recipe.rb +200 -81
- data/lib/kameleon/shell.rb +51 -16
- data/omnibus/.gitignore +11 -0
- data/omnibus/.kitchen.yml +25 -0
- data/omnibus/Berksfile +9 -0
- data/omnibus/Berksfile.lock +25 -0
- data/omnibus/Gemfile +12 -0
- data/omnibus/README.md +94 -0
- data/omnibus/config/projects/kameleon.rb +23 -0
- data/omnibus/config/software/kameleon.rb +24 -0
- data/omnibus/config/software/polipo.rb +30 -0
- data/omnibus/config/software/ruby.rb +158 -0
- data/omnibus/files/mac_dmg/Resources/background.png +0 -0
- data/omnibus/files/mac_dmg/Resources/icon.png +0 -0
- data/omnibus/files/mac_pkg/Resources/background.png +0 -0
- data/omnibus/files/mac_pkg/Resources/license.html +1 -0
- data/omnibus/files/mac_pkg/Resources/welcome.html +9 -0
- data/omnibus/omnibus.rb +27 -0
- data/omnibus/package-scripts/kameleon/makeselfinst +27 -0
- data/omnibus/package-scripts/kameleon/postrm +9 -0
- data/templates/archlinux-desktop.yaml +25 -0
- data/templates/archlinux.yaml +106 -0
- data/templates/debian-testing.yaml +25 -0
- data/templates/debian7-desktop.yaml +25 -0
- data/templates/{debian-wheezy-docker.yaml → debian7-docker.yaml} +30 -16
- data/templates/debian7-g5k.yaml +97 -0
- data/templates/debian7-oar-dev.yaml +51 -0
- data/templates/debian7.yaml +128 -0
- data/templates/extend.erb +23 -0
- data/templates/fedora-rawhide.yaml +30 -0
- data/templates/fedora20-desktop.yaml +21 -0
- data/templates/fedora20.yaml +105 -0
- data/templates/{debian-wheezy-chroot.yaml → old-debian7.yaml} +51 -38
- data/templates/{aliases → steps/aliases}/defaults.yaml +37 -12
- data/templates/steps/bootstrap/archlinux/arch_bootstrap.yaml +219 -0
- data/templates/steps/bootstrap/archlinux/install_bootloader.yaml +46 -0
- data/templates/steps/bootstrap/archlinux/populate_disk.yaml +39 -0
- data/templates/steps/bootstrap/debian/debootstrap.yaml +18 -10
- data/templates/steps/bootstrap/debian/debootstrap_arm.yaml +31 -0
- data/templates/steps/bootstrap/fedora/liveos_bootstrap.yaml +123 -0
- data/templates/steps/bootstrap/g5k_reserv.yaml +70 -0
- data/templates/steps/bootstrap/initialize_disk_chroot.yaml +84 -0
- data/templates/steps/bootstrap/initialize_disk_qemu.yaml +72 -0
- data/templates/steps/bootstrap/install_bootloader.yaml +42 -0
- data/templates/steps/bootstrap/prepare_chroot.yaml +126 -0
- data/templates/steps/bootstrap/prepare_docker.yaml +19 -8
- data/templates/steps/bootstrap/prepare_qemu.yaml +47 -0
- data/templates/steps/bootstrap/start_chroot.yaml +11 -2
- data/templates/steps/bootstrap/start_docker.yaml +2 -2
- data/templates/steps/bootstrap/start_qemu.yaml +75 -0
- data/templates/steps/bootstrap/ubuntu/debootstrap.yaml +27 -0
- data/templates/steps/breakpoint.yaml +2 -0
- data/templates/{checkpoints → steps/checkpoints}/docker.yaml +0 -0
- data/templates/steps/checkpoints/qcow2.yaml +38 -0
- data/templates/steps/checkpoints/qemu.yaml +39 -0
- data/templates/steps/export/clean_appliance.yaml +7 -1
- data/templates/steps/export/compact_qcow_img.yaml +12 -0
- data/templates/steps/export/save_appliance.yaml +58 -0
- data/templates/steps/export/save_appliance_from_g5k.yaml +47 -0
- data/templates/steps/export/save_vagrant_box.yaml +29 -0
- data/templates/steps/setup/archlinux/configure_keyboard.yaml +9 -0
- data/templates/steps/setup/archlinux/configure_network.yaml +9 -0
- data/templates/steps/setup/archlinux/configure_ruby.yaml +7 -0
- data/templates/steps/setup/archlinux/configure_system.yaml +20 -0
- data/templates/steps/setup/archlinux/install_dev_tools.yaml +18 -0
- data/templates/steps/setup/archlinux/install_gnome.yaml +27 -0
- data/templates/steps/setup/archlinux/install_software.yaml +9 -0
- data/templates/steps/setup/archlinux/install_yaourt.yaml +29 -0
- data/templates/steps/setup/autologin.yaml +16 -0
- data/templates/steps/setup/create_group.yaml +12 -0
- data/templates/steps/setup/create_user.yaml +9 -10
- data/templates/steps/setup/debian/configure_apt.yaml +65 -0
- data/templates/steps/setup/debian/configure_kernel.yaml +18 -0
- data/templates/steps/setup/debian/{keyboard_config.yaml → configure_keyboard.yaml} +1 -1
- data/templates/steps/setup/debian/{network_config.yaml → configure_network.yaml} +0 -0
- data/templates/steps/setup/debian/{system_config.yaml → configure_system.yaml} +0 -0
- data/templates/steps/setup/debian/install_gnome.yaml +13 -0
- data/templates/steps/setup/debian/install_kde.yaml +13 -0
- data/templates/steps/setup/debian/install_software.yaml +2 -0
- data/templates/steps/setup/debian/oar/oar_debian_config_frontend.yaml +8 -0
- data/templates/steps/setup/debian/oar/oar_debian_config_node.yaml +5 -0
- data/templates/steps/setup/debian/oar/oar_debian_config_server.yaml +5 -0
- data/templates/steps/setup/debian/oar/oar_prereq_install.yaml +16 -0
- data/templates/steps/setup/debian/setup_vagrant_box.yaml +52 -0
- data/templates/steps/setup/debian/upgrade_system.yaml +15 -0
- data/templates/steps/setup/fedora/configure_network.yaml +30 -0
- data/templates/steps/setup/fedora/configure_system.yaml +59 -0
- data/templates/steps/setup/fedora/install_software.yaml +3 -0
- data/templates/steps/setup/fedora/update_system.yaml +10 -0
- data/templates/steps/setup/oar/oar_config_devel.yaml +21 -0
- data/templates/steps/setup/oar/oar_config_frontend.yaml +38 -0
- data/templates/steps/setup/oar/oar_config_node.yaml +4 -0
- data/templates/steps/setup/oar/oar_config_server.yaml +25 -0
- data/templates/steps/setup/oar/oar_config_system.yaml +34 -0
- data/templates/steps/setup/oar/oar_devel_prereq_install.yaml +5 -0
- data/templates/steps/setup/oar/oar_git_install.yaml +21 -0
- data/templates/steps/setup/ubuntu/configure_apt.yaml +67 -0
- data/templates/ubuntu-12.04-desktop.yaml +25 -0
- data/templates/ubuntu-12.04.yaml +128 -0
- data/templates/ubuntu-14.04-desktop.yaml +27 -0
- data/templates/ubuntu-14.04.yaml +25 -0
- data/templates/vagrant-debian7.yaml +31 -0
- data/version.txt +1 -1
- metadata +155 -28
- checksums.yaml +0 -7
- data/templates/checkpoints/qcow2.yaml +0 -44
- data/templates/fedora-docker.yaml +0 -96
- data/templates/steps/bootstrap/fedora/docker_bootstrap.yaml +0 -25
- data/templates/steps/bootstrap/fedora/yum_bootstrap.yaml +0 -22
- data/templates/steps/bootstrap/prepare_appliance_with_nbd.yaml +0 -93
- data/templates/steps/export/build_appliance_from_docker.yaml +0 -105
- data/templates/steps/export/save_appliance_from_nbd.yaml +0 -54
- data/templates/steps/setup/debian/kernel_install.yaml +0 -20
- data/templates/steps/setup/debian/software_install.yaml +0 -15
- data/templates/steps/setup/fedora/kernel_install.yaml +0 -27
- data/templates/steps/setup/fedora/software_install.yaml +0 -10
@@ -0,0 +1,29 @@
|
|
1
|
+
- save_as_vdi:
|
2
|
+
- check_cmd_out: VBoxManage
|
3
|
+
- exec_out: qemu-img convert -O vdi $$input $$output.vdi
|
4
|
+
- exec_out: |
|
5
|
+
echo "Compact the vdi disk"
|
6
|
+
VBoxManage modifyhd $$output.vdi --compact 2>&1
|
7
|
+
- exec_out: echo "Saved vdi appliance to $(pwd)/$$output.vdi"
|
8
|
+
|
9
|
+
- create_virtualbox_vm:
|
10
|
+
- exec_out: |
|
11
|
+
BOX_NAME="$${kameleon_recipe_name}_$${kameleon_short_uuid}"
|
12
|
+
- exec_out: VBoxManage createvm --name "$BOX_NAME" --register
|
13
|
+
- exec_out: VBoxManage modifyvm "$BOX_NAME" --ostype $$os_type
|
14
|
+
- exec_out: VBoxManage modifyvm "$BOX_NAME" --memory $$memory
|
15
|
+
- exec_out: VBoxManage modifyvm "$BOX_NAME" --acpi on
|
16
|
+
- exec_out: VBoxManage modifyvm "$BOX_NAME" --nic1 nat
|
17
|
+
- exec_out: VBoxManage modifyvm "$BOX_NAME" --nictype1 virtio
|
18
|
+
- exec_out: VBoxManage storagectl "$BOX_NAME" --name "IDE Controller" --add ide
|
19
|
+
- exec_out: |
|
20
|
+
VBoxManage storageattach "$BOX_NAME" --storagectl "IDE Controller" \
|
21
|
+
--port 0 --device 0 --type hdd \
|
22
|
+
--medium $$output.vdi
|
23
|
+
- on_export_clean:
|
24
|
+
- exec_out: VBoxManage unregistervm --delete "$BOX_NAME"
|
25
|
+
|
26
|
+
- export_virtualbox_vm:
|
27
|
+
- exec_out: echo "Create vagrant package"
|
28
|
+
- exec_out: rm -f $$output.box
|
29
|
+
- exec_out: vagrant package --base $BOX_NAME --output $$output.box
|
@@ -0,0 +1,20 @@
|
|
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
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Dev Tools install
|
2
|
+
# This step is installing all the tools a developer might needs
|
3
|
+
|
4
|
+
- basic_dev_tools:
|
5
|
+
- exec_in: pacman -Sy --noconfirm base-devel wget git meld
|
6
|
+
|
7
|
+
- libvirt_with_qemu:
|
8
|
+
# WARNING: if you have some problems with libvirt/qemu rights you can fix it
|
9
|
+
# mannualy. See https://wiki.archlinux.org/index.php/libvirt#Configuration
|
10
|
+
- exec_in: pacman -Sy --noconfirm qemu libvirt dnsmasq dmidecode virt-manager
|
11
|
+
- exec_in: echo "Enable libvirt deamon"
|
12
|
+
- exec_in: ln -s '/usr/lib/systemd/system/libvirtd.service' '/etc/systemd/system/multi-user.target.wants/libvirtd.service'
|
13
|
+
# The default libvirt network is conflicting with the host libvirt network so
|
14
|
+
# change the defaults
|
15
|
+
- exec_in: sed -i "s/192.168.122/192.168.123/g" /etc/libvirt/qemu/networks/default.xml
|
16
|
+
|
17
|
+
- docker_lxc:
|
18
|
+
- exec_in: pacman -Sy --noconfirm docker lxc
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Desktop installation on Archlinux
|
2
|
+
#
|
3
|
+
# Install and setup a fully working Gnome configuration
|
4
|
+
- extra_packages: ""
|
5
|
+
|
6
|
+
- install_packages:
|
7
|
+
- exec_in: pacman -Sy --noconfirm gnome xorg xorg-fonts-type1 $$extra_packages
|
8
|
+
|
9
|
+
- enable_services:
|
10
|
+
- exec_in: systemctl enable gdm.service
|
11
|
+
# disable dhcpcd to avoid conflic with NetworkManager
|
12
|
+
- exec_in: systemctl disable dhcpcd.service
|
13
|
+
- exec_in: systemctl enable NetworkManager
|
14
|
+
|
15
|
+
- X11_config:
|
16
|
+
# keyboard config
|
17
|
+
- write_in:
|
18
|
+
- /etc/X11/xorg.conf.d/10-keyboard.conf
|
19
|
+
- |
|
20
|
+
Section "InputClass"
|
21
|
+
Identifier "system-keyboard"
|
22
|
+
MatchIsKeyboard "on"
|
23
|
+
Option "XkbLayout" "$$keyboard_layout"
|
24
|
+
Option "XkbModel" "pc104"
|
25
|
+
EndSection
|
26
|
+
# font config
|
27
|
+
- exec_in: ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Yaourt install for Archlinux
|
2
|
+
#
|
3
|
+
# Installing the pacman overlay that handles AUR packages
|
4
|
+
|
5
|
+
- add_repository:
|
6
|
+
- exec_in: |
|
7
|
+
cat >> /etc/pacman.conf <<'EOF'
|
8
|
+
[archlinuxfr]
|
9
|
+
SigLevel = Never
|
10
|
+
Server = http://repo.archlinux.fr/$arch
|
11
|
+
EOF
|
12
|
+
|
13
|
+
- do_install:
|
14
|
+
- exec_in: pacman -Sy yaourt --noconfirm
|
15
|
+
|
16
|
+
#- manual_install:
|
17
|
+
# # script taken from http://archlinux.fr/yaourt-en
|
18
|
+
# - exec_in: |
|
19
|
+
# curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
|
20
|
+
# tar zxvf package-query.tar.gz
|
21
|
+
# cd package-query
|
22
|
+
# makepkg -si --asroot --noconfirm
|
23
|
+
# cd ..
|
24
|
+
# curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
|
25
|
+
# tar zxvf yaourt.tar.gz
|
26
|
+
# cd yaourt
|
27
|
+
# makepkg -si --asroot --noconfirm
|
28
|
+
# cd ..
|
29
|
+
|
@@ -0,0 +1,16 @@
|
|
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,12 +1,11 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
1
|
+
# Create User
|
2
|
+
|
3
|
+
- shell: /bin/bash
|
4
|
+
|
4
5
|
- add_user:
|
5
|
-
|
6
|
-
- exec_in: useradd -m -g $$group $$name -s /bin/bash
|
6
|
+
- exec_in: useradd -m $$name -s $$shell
|
7
7
|
- exec_in: echo -n '$$name:$$password' | chpasswd
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
%admin ALL=(ALL:ALL) ALL
|
8
|
+
|
9
|
+
- add_to_groups:
|
10
|
+
- exec_in: |
|
11
|
+
usermod -G "$(echo $$groups | tr ' ' ',')" $$name
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# Software Install
|
2
|
+
- enable_contrib: true
|
3
|
+
- enable_nonfree: true
|
4
|
+
- install_recommends: false
|
5
|
+
|
6
|
+
- configure_apt_to_use_less_disk_space:
|
7
|
+
- write_in:
|
8
|
+
- /etc/apt/apt.conf.d/02compress_indexes
|
9
|
+
- |
|
10
|
+
Acquire::GzipIndexes "true";
|
11
|
+
Acquire::CompressionTypes::Order:: "gz";
|
12
|
+
- exec_in: |
|
13
|
+
if [ $$install_recommends = false ]; then
|
14
|
+
echo 'APT::Install-Recommends "0";' >> /etc/apt/apt.conf.d/01norecommend
|
15
|
+
echo 'APT::Install-Suggests "0";' >> /etc/apt/apt.conf.d/01norecommend
|
16
|
+
fi
|
17
|
+
- write_in:
|
18
|
+
- /etc/apt/apt.conf.d/02nocache
|
19
|
+
- |
|
20
|
+
Dir::Cache {
|
21
|
+
srcpkgcache "";
|
22
|
+
pkgcache "";
|
23
|
+
}
|
24
|
+
- write_in:
|
25
|
+
- /etc/dpkg/dpkg.cfg.d/01_nodoc
|
26
|
+
- |
|
27
|
+
path-exclude /usr/share/doc/*
|
28
|
+
# we need to keep copyright files for legal reasons
|
29
|
+
path-include /usr/share/doc/*/copyright
|
30
|
+
path-exclude /usr/share/man/*
|
31
|
+
path-exclude /usr/share/groff/*
|
32
|
+
path-exclude /usr/share/info/*
|
33
|
+
# lintian stuff is small, but really unnecessary
|
34
|
+
path-exclude /usr/share/lintian/*
|
35
|
+
path-exclude /usr/share/linda/*
|
36
|
+
path-exclude /usr/share/locale/*
|
37
|
+
path-include /usr/share/locale/en*
|
38
|
+
- write_in:
|
39
|
+
- /etc/locale.nopurge
|
40
|
+
- |
|
41
|
+
MANDELETE
|
42
|
+
DONTBOTHERNEWLOCALE
|
43
|
+
SHOWFREEDSPACE
|
44
|
+
#QUICKNDIRTYCALC
|
45
|
+
#VERBOSE
|
46
|
+
|
47
|
+
- add_contribs_and_nonfree_sources:
|
48
|
+
- exec_in: |
|
49
|
+
if [ $$enable_contrib = true ]; then
|
50
|
+
REPO_CONTRIB="contrib"
|
51
|
+
fi
|
52
|
+
- exec_in: |
|
53
|
+
if [ $$enable_nonfree = true ]; then
|
54
|
+
REPO_NONFREE="non-free"
|
55
|
+
fi
|
56
|
+
- exec_in: perl -pi -e "s/main$/main $REPO_CONTRIB $REPO_NONFREE/" /etc/apt/sources.list
|
57
|
+
|
58
|
+
- update_repositories:
|
59
|
+
- exec_in: apt-get -y --force-yes update
|
60
|
+
- exec_in: apt-get -y --force-yes install localepurge
|
61
|
+
- on_setup_clean:
|
62
|
+
- exec_in: apt-get -y --force-yes autoclean
|
63
|
+
- exec_in: apt-get -y --force-yes clean
|
64
|
+
- exec_in: apt-get -y --force-yes autoremove
|
65
|
+
- exec_in: localepurge
|
@@ -0,0 +1,18 @@
|
|
1
|
+
- configure_kernel:
|
2
|
+
- write_in:
|
3
|
+
- /etc/kernel-img.conf
|
4
|
+
- |
|
5
|
+
do_symlinks = yes
|
6
|
+
relative_links = yes
|
7
|
+
do_bootloader = yes
|
8
|
+
do_bootfloppy = no
|
9
|
+
do_initrd = yes
|
10
|
+
link_in_boot = no
|
11
|
+
|
12
|
+
- update_initramfs:
|
13
|
+
- exec_in: update-initramfs -u
|
14
|
+
|
15
|
+
- reconfigure_extlinux:
|
16
|
+
- exec_in: apt-get -y --force-yes --install-suggests --reinstall install extlinux
|
17
|
+
- exec_in: extlinux --install /boot/extlinux 2>&1
|
18
|
+
- exec_in: extlinux-update 2>&1
|
File without changes
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Desktop installation on Debian
|
2
|
+
#
|
3
|
+
# Install and setup a fully working Gnome configuration
|
4
|
+
- extra_packages: ""
|
5
|
+
|
6
|
+
- install_aptitude:
|
7
|
+
- exec_in: apt-get -y --force-yes install aptitude 2>&1
|
8
|
+
|
9
|
+
- gnome_desktop_task:
|
10
|
+
- exec_in: aptitude -q --without-recommends -o APT::Install-Recommends=no -y install ~t^desktop$ ~t^gnome-desktop$
|
11
|
+
|
12
|
+
- install_extra_packages:
|
13
|
+
- exec_in: apt-get -y --force-yes install gnome-core $$extra_packages 2>&1
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Desktop installation on Debian
|
2
|
+
#
|
3
|
+
# Install and setup a fully working Gnome configuration
|
4
|
+
- extra_packages: ""
|
5
|
+
|
6
|
+
- install_aptitude:
|
7
|
+
- exec_in: apt-get -y --force-yes install aptitude 2>&1
|
8
|
+
|
9
|
+
- gnome_desktop_task:
|
10
|
+
- exec_in: aptitude -q --without-recommends -o APT::Install-Recommends=no -y install ~t^desktop$ ~t^gkde-desktop$
|
11
|
+
|
12
|
+
- install_extra_packages:
|
13
|
+
- exec_in: apt-get -y --force-yes install kde-standard $$extra_packages 2>&1
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# OAR prereq install
|
2
|
+
- packages: >
|
3
|
+
vim less bzip2 openssh-server rsync gnupg locales debian-keyring ruby1.8
|
4
|
+
libyaml-perl libjson-perl libdbi-perl taktuk oidentd console-tools
|
5
|
+
mingetty curl git-core make python-docutils
|
6
|
+
libjson-perl libwww-perl ntp libgd-ruby1.8 perl libdbi-perl
|
7
|
+
libtie-ixhash-perl libappconfig-perl libsort-naturally-perl
|
8
|
+
libsort-versions-perl openjdk-6-jre libcgi-fast-perl
|
9
|
+
libpostgresql-ocaml libpostgresql-ocaml-dev ocaml-findlib ocaml-nox
|
10
|
+
libounit-ocaml-dev librestclient-ruby1.8 librspec-ruby1.8 postgresql
|
11
|
+
libdbd-pg-ruby1.8 libpostgresql-ocaml-dev libdbd-pg-ruby1.8 rubygems1.8
|
12
|
+
libmysql-ocaml-dev libdbd-pg-perl libjson-ruby1.8 ruby-switch
|
13
|
+
- req_packages:
|
14
|
+
- exec_in: apt-get -y --force-yes install $$packages
|
15
|
+
- switch_to_ruby_18:
|
16
|
+
- exec_in: ruby-switch --set ruby1.8
|
@@ -0,0 +1,52 @@
|
|
1
|
+
- enable_passwordless_sudo:
|
2
|
+
- exec_in: |
|
3
|
+
sed -i.bkp -e \
|
4
|
+
's/%sudo\s\+ALL=(ALL\(:ALL\)\?)\s\+ALL/%sudo ALL=NOPASSWD:ALL/g' \
|
5
|
+
/etc/sudoers
|
6
|
+
|
7
|
+
- set_root_password:
|
8
|
+
- exec_in: echo -n 'root:$$user_name' | chpasswd
|
9
|
+
|
10
|
+
- install_vbox_guest_additions:
|
11
|
+
- exec_in: echo "VirtualBox Guest Additions..."
|
12
|
+
- exec_in: wget http://download.virtualbox.org/virtualbox/4.3.8/VBoxGuestAdditions_4.3.8.iso
|
13
|
+
- exec_in: sudo mkdir /media/VBoxGuestAdditions
|
14
|
+
- exec_in: sudo mount -o loop,ro VBoxGuestAdditions_4.3.8.iso /media/VBoxGuestAdditions
|
15
|
+
- exec_in: sudo sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run --nox11
|
16
|
+
- exec_in: rm VBoxGuestAdditions_4.3.8.iso
|
17
|
+
- exec_in: sudo umount /media/VBoxGuestAdditions
|
18
|
+
- exec_in: sudo rmdir /media/VBoxGuestAdditions
|
19
|
+
|
20
|
+
- install_puppet:
|
21
|
+
- exec_in: echo "Installing puppet..."
|
22
|
+
- exec_in: wget -q http://apt.puppetlabs.com/puppetlabs-release-stable.deb -O /tmp/puppetlabs-release-stable.deb
|
23
|
+
- exec_in: dpkg -i "/tmp/puppetlabs-release-stable.deb"
|
24
|
+
- exec_in: apt-get update
|
25
|
+
- exec_in: apt-get install puppet -y --force-yes
|
26
|
+
- exec_in: rm -f /tmp/puppetlabs-release-stable.deb
|
27
|
+
|
28
|
+
- install_chef:
|
29
|
+
- exec_in: curl -L https://www.opscode.com/chef/install.sh -k | bash
|
30
|
+
|
31
|
+
- copy_insecure_sshkey:
|
32
|
+
- exec_in: mkdir -p /home/$$user_name/.ssh/
|
33
|
+
- exec_in: chmod 0755 /home/$$user_name/.ssh/
|
34
|
+
- exec_in: echo -e 'y\n' | ssh-keygen -q -t dsa -f /home/$$user_name/.ssh/id_rsa -N ''
|
35
|
+
- write_in:
|
36
|
+
- /home/$$user_name/.ssh/authorized_keys
|
37
|
+
- |
|
38
|
+
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== $$user_name insecure public key
|
39
|
+
|
40
|
+
- config_ssh:
|
41
|
+
- exec_in: echo "UseDNS no" >> /etc/ssh/sshd_config
|
42
|
+
- write_in:
|
43
|
+
- /home/$$user_name/.ssh/config
|
44
|
+
- |
|
45
|
+
Host *
|
46
|
+
ForwardX11 no
|
47
|
+
StrictHostKeyChecking no
|
48
|
+
PasswordAuthentication no
|
49
|
+
AddressFamily inet
|
50
|
+
- exec_in: chmod 0600 /home/$$user_name/.ssh/config
|
51
|
+
- exec_in: rsync -ah /home/$$user_name/.ssh/ /root/.ssh/
|
52
|
+
- exec_in: chown "$$user_name:" -R /home/$$user_name
|