Files
ouranos/ansible/argos/deploy.yml

68 lines
1.7 KiB
YAML

---
- name: Deploy Argos MCP Server
hosts: ubuntu
handlers:
- name: restart argos
become: true
community.docker.docker_compose_v2:
project_src: "{{argos_directory}}"
state: restarted
tasks:
- name: Check if host has argos service
ansible.builtin.set_fact:
has_argos_service: "{{ 'argos' in services | default([]) }}"
- name: Skip hosts without argos service
ansible.builtin.meta: end_host
when: not has_argos_service
- name: Create argos group
become: true
ansible.builtin.group:
name: "{{argos_group}}"
state: present
- name: Create argos user
become: true
ansible.builtin.user:
name: "{{argos_user}}"
group: "{{argos_group}}"
system: true
create_home: false
- name: Add keeper_user to argos group
become: true
ansible.builtin.user:
name: "{{keeper_user}}"
groups: "{{argos_group}}"
append: true
- name: Create argos directory
become: true
ansible.builtin.file:
path: "{{argos_directory}}"
owner: "{{argos_user}}"
group: "{{argos_group}}"
state: directory
mode: '750'
- name: Template docker-compose.yml
become: true
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{argos_directory}}/docker-compose.yml"
owner: "{{argos_user}}"
group: "{{argos_group}}"
mode: '550'
notify: restart argos
- name: Start argos with docker-compose
become: true
community.docker.docker_compose_v2:
project_src: "{{argos_directory}}"
state: present
pull: always