#============================================================================== # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80 #============================================================================== # # RECIPE: <%= recipe_name %> # # DESCRIPTION: Fedora base image [Working progress]. # # TEMPLATE: <%= @name %> # #============================================================================== --- # Loads some helpful aliases aliases: defaults.yaml # Enables qcow2 checkpoint checkpoint: docker.yaml #== Global variables use by Kameleon engine and the steps global: ## User varibales : used by the recipe cachedir: /var/cache/kameleon user_name: kameleon arch: x86_64 distrib: fedora release: 20 docker_image: kameleon-$${distrib}-$$release # DNS servers : opendns docker_dns: 208.67.222.222 ## System variables. Required by kameleon engine # Include specific steps include_steps: [$$distrib/$$release, $$distrib] # Shell session from where we launch exec_out commands. There is often a # local bash session, but it can be a remote shell on other machines or on # any shell. (eg. bash, chroot, fakechroot, ssh, tmux, lxc...) out_context: cmd: bash workdir: $$kameleon_cwd # Shell session that allows us to connect to the building machine in order to # configure it and setup additional programs ssh_options: -o StrictHostKeyChecking=no -o ForwardAgent=yes ssh_port: $(cat MAIN_CONTAINER_PORT) insecure_ssh_key: insecure_ssh_dsa_key in_context: cmd: LC_ALL=POSIX ssh $$ssh_options localhost -p $$ssh_port -i $$insecure_ssh_key -t /bin/bash workdir: / #== Bootstrap the new system and create the 'in_context' bootstrap: - docker_bootstrap: - release: $$release - rootfs_archive: $$cachedir/$$distrib/$$release/$$arch/bootstrap.tar.gz - dns: $$docker_dns - prepare_docker: - rootfs_archive: $$cachedir/$$distrib/$$release/$$arch/bootstrap.tar.gz - image: $$docker_image - dns: $$docker_dns - start_docker: - image: $$docker_image - dns: $$docker_dns - hostname: kameleon-$$distrib #== Install and configuration steps # WARNING: this part should be independante from the build context (whenever # possible...) setup: # Install - software_install: - packages: > ntp zip unzip rsync sudo less vim bash-completion wget - group_packages: > "Development Tools" - kernel_install # # Configuration # - system_config: # - locales: fr_FR en_US # - lang: fr_FR.UTF-8 # - timezone: Europe/Paris # - keyboard_config: # - layout: "fr,us" - create_user: - name: $$user_name - group: admin - password: $$user_name #== Export the generated appliance in the format of your choice export: - build_appliance_from_docker: - mountdir: $$kameleon_cwd/rootfs - filename: $$kameleon_recipe_name - filesystem_type: ext4 - format: qcow2 # Should be raw, qcow2 or qed format - image_size: 2G