eletrotupi / tcc / ansible/provision.yml master
950 B Raw
---
# ansible/provision.yml
# Run once to fully provision the VPS.
#
# Usage:
#   ansible-playbook -i inventory/hosts.yml provision.yml --ask-become-pass
#
# What it does (in order):
#   1. bootstrap  — adds baseline packages
#   2. docker     — installs Docker Engine + Compose plugin
#   3. appuser    — creates the deploy user, copies the SSH key
#   4. directories — creates /srv/app/production
#   5. TODO: Add nginx + compose here as well

- name: Provision server
  hosts: vps
  become: yes
  become_method: doas

  roles:
    - bootstrap
    - docker
    - appuser
    - directories

  post_tasks:
    - name: Confirm deploy user can reach Docker
      ansible.builtin.command: docker info
      become_user: "{{ deploy_user }}"
      changed_when: false
      register: docker_check

    - name: Show Docker status
      ansible.builtin.debug:
        msg: "Docker is reachable by {{ deploy_user }}"
      when: docker_check.rc == 0