#============================================================================== # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80 #============================================================================== # # DESCRIPTION: Centos 7 base system (x86_64) # #============================================================================== --- # Loads some helpful aliases aliases: defaults.yaml # Enables virtualbox checkpoint checkpoint: virtualbox.yaml #== Global variables use by Kameleon engine and the steps global: ## User varibales : used by the recipe user_name: kameleon user_password: $$user_name # Distribution distrib: centos release: 7 arch: x86_64 hostname: kameleon-$$distrib ## VirtualBox options virtualbox_memory_size: 768 virtualbox_ssh_port: 55423 virtualbox_os_type: Linux_64 virtualbox_vmid: $${kameleon_recipe_name}_$${kameleon_short_uuid} virtualbox_image_size: 10000 ## megabytes virtualbox_image_disk: $$kameleon_cwd/base_$$kameleon_recipe_name.vdi ## Kameleon iso bootstrap boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-$${arch}-insecure.iso insecure_ssh_key_url: http://kameleon.imag.fr/iso/boot2debian/keys/insecure_id_rsa ## Rootfs options rootfs: /rootfs filesystem_type: ext4 disk_device: /dev/sda # Include specific steps include_steps: - $$distrib/$$release - $$distrib - "fedora" # SELinux configuration selinux: permissive ## Can take one of these three values: enforcing, permissive or disabled selinuxtype: targeted # Possible values are: strict, targeted ssh_config_file: $$kameleon_cwd/ssh_config out_context: cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash workdir: /root/kameleon_workdir proxy_cache: 10.0.2.2 in_context: cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash workdir: /root/kameleon_workdir proxy_cache: 10.0.2.2 #== Bootstrap the new system and create the 'in_context' bootstrap: - enable_checkpoint - prepare_virtualbox - start_virtualbox - install_requirements: - packages: parted e2fsprogs yum rpm lynx extlinux - initialize_disk - yum_bootstrap: - mirror_packages_url: http://mirrors.kernel.org/$$distrib/$$release/os/$$arch/Packages/ - include_pkgs: > findutils yum util-linux dhclient vim-minimal net-tools NetworkManager openssh-server - init_pxeboot: - pxe_initrd_url: http://mirrors.kernel.org/$$distrib/$$release/os/$$arch/images/pxeboot/initrd.img - pxe_vmlinuz_url: http://mirrors.kernel.org/$$distrib/$$release/os/$$arch/images/pxeboot/vmlinuz - switch_context_virtualbox #== Install and configuration steps setup: - configure_kernel - update_system - minimal_install - install_software: - packages: > kernel bash-completion kbd sudo openssh-clients syslinux-extlinux acpid ntp ntpdate - install_bootloader - configure_system: - locales: POSIX C en_US fr_FR de_DE - lang: en_US.UTF-8 - timezone: UTC - configure_keyboard: - layout: "us" - configure_network: - hostname: kameleon-$$distrib - create_user: - name: $$user_name - groups: wheel - password: $$user_password #== Export the generated appliance in the format of your choice export: - disable_checkpoint - virtualbox_save_appliance: - output: "$$kameleon_cwd/$${kameleon_recipe_name}" - save_as_ova # - save_as_vdi # - save_as_vmdk # - save_as_tar_gz # - save_as_tar_xz # - save_as_tar_bz2 # - save_as_raw # - save_as_qcow2 # - save_as_qed