kameleon-builder 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|