ansible_playbooks/roles/waf_manual/tasks/docker_ptaf_run.yml
2026-02-24 11:30:35 +03:00

77 lines
2.4 KiB
YAML
Executable file

---
- name: Make range list
ansible.builtin.include_tasks: make_range_list.yml
- name: Create ptaf dir
ansible.builtin.file:
path: /home/install/{{ item }}
state: directory
mode: '0750'
owner: install
group: install
loop:
- ptaf
- ptaf/{{ app_config[app].TENANT_NAME }}
- name: Create dirs in ptaf for containers
ansible.builtin.file:
path: /home/install/ptaf/{{ app_config[app].TENANT_NAME }}/{{ app_config[app].TENANT_NAME }}-ptaf-agent{{ '%03d' | format(item) }}
state: directory
mode: '0750'
owner: install
group: install
with_items: "{{ range_list }}"
- name: Create dirs for ptaf logs
ansible.builtin.file:
path: /var/log/ptaf_nginx/{{ app_config[app].TENANT_NAME }}/ptaf-agent{{ '%03d' | format(item) }}
state: directory
mode: '0777'
owner: root
group: root
recurse: true
with_items: "{{ range_list }}"
- name: Copy Docker compose file
ansible.builtin.include_tasks: copy_docker_compose_file.yml
- name: Check docker image file
ansible.builtin.stat:
path: "{{ local_directory_docker_image }}"
register: docker_image_check
- name: Download old docker image
ansible.builtin.get_url:
url: "https://disk.cloudstack.ru/public.php/dav/files/9p68Y3G7w5MQ96e/?accept=zip"
dest: "{{ local_directory_docker_image }}"
when: not docker_image_check.stat.exists and docker_agent_version == '4.1.6.366342'
- name: Download new docker image
ansible.builtin.get_url:
url: "https://disk.cloudstack.ru/public.php/dav/files/9p68Y3G7w5MQ96e/?accept=zip"
dest: "{{ local_directory_docker_image }}"
when: not docker_image_check.stat.exists and docker_agent_version == '4.1.6.409465'
- name: Verify docker image exists
ansible.builtin.docker_image_info:
name: "{{ docker_image }}"
register: image_info
ignore_errors: "{{ ansible_check_mode }}"
- name: Load docker images from tar
ansible.builtin.docker_image:
name: "{{ docker_image }}"
load_path: "{{ local_directory_docker_image }}"
state: present
source: load
ignore_errors: "{{ ansible_check_mode }}"
when: image_info.images | length == 0
- name: Run Docker compose
community.docker.docker_compose_v2:
project_src: /home/install/ptaf/{{ app_config[app].TENANT_NAME }}/{{ app_config[app].TENANT_NAME }}-ptaf-agent{{ '%03d' | format(item) }}/
files:
- docker-compose.yml
with_items: "{{ range_list }}"
ignore_errors: true
...