- name: Configure the server hosts: localhost tags: algo vars_files: - config.cfg pre_tasks: - name: Local pre-tasks include: playbooks/local.yml tags: [ 'cloud' ] roles: - { role: cloud-digitalocean, tags: ['digitalocean'] } - { role: cloud-ec2, tags: ['ec2'] } - { role: cloud-gce, tags: ['gce'] } - { role: cloud-azure, tags: ['azure'] } - { role: local, tags: ['local'] } post_tasks: - name: Wait until SSH becomes ready... local_action: module: wait_for port: 22 host: "{{ cloud_instance_ip }}" search_regex: "OpenSSH" delay: 10 timeout: 320 state: present become: false tags: - cloud - name: A short pause, in order to be sure the instance is ready pause: seconds: 10 tags: - cloud - name: Configure the server and install required software hosts: vpn-host gather_facts: false tags: algo become: true vars_files: - config.cfg pre_tasks: - name: Common pre-tasks include: playbooks/common.yml tags: [ 'digitalocean', 'ec2', 'gce', 'azure', 'local', 'pre' ] roles: - { role: security, tags: [ 'security' ] } - { role: proxy, tags: [ 'proxy', 'adblock' ] } - { role: dns_adblocking, tags: ['dns', 'adblock' ] } - { role: logging, tags: [ 'logging' ] } - { role: ssh_tunneling, tags: [ 'ssh_tunneling' ] } - { role: vpn, tags: [ 'vpn' ] } post_tasks: - debug: msg="{{ congrats.split('\n') }}" tags: always