# Install docker machine on your RPi
# For more details see https://rux.vc/2020.01/installing-docker-machine-on-raspberry-pi/
---
  - name: RPi initial provisioner
    hosts: all
    remote_user: pi
    become: yes
    become_user: root
    tasks:
      - name: "Remembering target host information"
        set_fact:
          target_host: "{{ ansible_host }}"
          target_user: "{{ ansible_user }}"

      - name: Upgrade packages
        apt: upgrade=safe

      - name: Temporary monkey-patching os-release 
        lineinfile:
          path: /etc/os-release
          regexp: '^ID=raspbian$'
          line: ID=debian
          state: present
          backrefs: yes
      
      - name: "Running docker-machine against {{ target_host }}"
        become: no
        register: o1
        local_action: 
          module: shell
          cmd: >
            docker-machine create --driver generic 
            --generic-ip-address={{ target_host }}
            --generic-ssh-user {{ target_user }} 
            --engine-storage-driver overlay2
            {{ machine_name | default('rpi') }}

      - name: Reverting OS name back in os-release
        lineinfile:
          path: /etc/os-release
          regexp: '^ID=debian$'
          line: ID=raspbian
          state: present
          backrefs: yes