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

15
- name: Provision server
16
  hosts: vps
17
  become: yes
18
  become_method: doas
19

20
  roles:
21
    - bootstrap
22
    - docker
23
    - appuser
24
    - directories
25

26
  post_tasks:
27
    - name: Confirm deploy user can reach Docker
28
      ansible.builtin.command: docker info
29
      become_user: "{{ deploy_user }}"
30
      changed_when: false
31
      register: docker_check
32

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