--- ## Main DTSV Infrastructure Playbook # Waiting for terraform provisioning - name: Wait for provisioning hosts: label_env_prod gather_facts: false tasks: - name: Wait for instance to become reachable/usable wait_for_connection: # host_key_checking must be disabled - name: Gather facts setup: - name: Wait for cloud-init to finish community.general.cloud_init_data_facts: filter: status register: res until: "res.cloud_init_data_facts.status.v1.stage is defined and not res.cloud_init_data_facts.status.v1.stage" retries: 50 delay: 5 # Install terraformed servers - name: Install common packages hosts: label_env_prod roles: - common - node_exporter become: true - name: DB playbook import_playbook: db.yml - name: WEB playbook import_playbook: web.yml - name: Maintenance hosts: label_env_prod become: true tasks: - name: Start apt upgrade block: - name: Perform upgrade apt: name: "*" state: latest update_cache: true cache_valid_time: 3600 - name: Check if a reboot is required stat: path: /var/run/reboot-required register: reboot_required_file # noqa: var-naming[no-role-prefix] - name: Reboot the server (if required) reboot: when: reboot_required_file.stat.exists - name: Wait for instance to become reachable/usable wait_for_connection: # host_key_checking must be disabled - name: Remove dependencies that are no longer required. apt: autoremove: true