Sha256: ec79be0500dddc5e9f8f45960ddd199830390d44067007f7363b0524ebb48b77

Contents?: true

Size: 1.8 KB

Versions: 1

Compression:

Stored size: 1.8 KB

Contents

- check_docker:
  - on_bootstrap_init:
    - exec_out: DOCKER=${DOCKER:-docker}
    - rescue:
      - exec_out: command -V $DOCKER
      - breakpoint: >
          error: Docker executable no found. Make sure Docker
          is installed and/or use the DOCKER variable to set Docker
          executable.

- clean_containers:
  - on_checkpoint: redo
  - on_export_clean:
    - exec_out: echo "Stopping trailing containers"
    - exec_out: touch CONTAINERS_TO_CLEAN
    - exec_out: cat CONTAINERS_TO_CLEAN | xargs -I {} docker kill {}
    - exec_out: echo "Removing trailing containers"
    - exec_out: cat CONTAINERS_TO_CLEAN | xargs -I {} docker rm {}
    - exec_out: rm -f CONTAINERS_TO_CLEAN

- import_rootfs:
  - exec_out: |
      docker images | grep -q $$image \
      || (echo "Importing $$image to docker..." && cat "$$rootfs_archive"\
          | docker import - $$image \
          | xargs -I {} docker tag {} $$image:base)
  - exec_out: docker tag $$image:base $$image:latest

- configure_sshd:
  - on_checkpoint: redo
  - exec_out: echo -e  'y\n' | ssh-keygen -q -t rsa -f $$insecure_ssh_key -N ''
  - exec_out: cat $$insecure_ssh_key
  - exec_out: |
      CID="kameleon_container_$[($RANDOM % ($[50000 - 50] + 1)) + 50]"
      cat $${insecure_ssh_key}.pub | \
        docker run -i -a stdin --dns $$dns --name $CID $$image:latest \
          /bin/bash -c "mkdir -p /root/.ssh ; \
                        tee -a /root/.ssh/authorized_keys"
  - on_export_init:
    - exec_in: rm -rf /root/.ssh
  - exec_out: echo "$CID" >> CONTAINERS_TO_CLEAN
  - exec_out: |
      docker images | grep $$image \
                    | grep sshd \
                    | awk '{print $3}' \
                    | xargs -I {} docker rmi {}
  - exec_out: docker commit $CID $$image:sshd > /dev/null
  - exec_out: docker tag $$image:sshd $$image:latest

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kameleon-builder-2.1.0 templates/steps/bootstrap/prepare_docker.yaml