yt-dlp-dags/ansible/playbook-stress-sync-policies.yml

59 lines
1.9 KiB
YAML

---
- name: "STRESS-SETUP: Sync Policies and CLI Configs"
hosts: all
gather_facts: no
vars:
ytops_source_dir: "{{ source_base_dir | default(playbook_dir + '/../ytops_client-source') }}"
vars_files:
- "group_vars/all/vault.yml"
pre_tasks:
- name: Set inventory_env fact
ansible.builtin.set_fact:
inventory_env: "{{ inventory_file | basename | splitext | first | replace('inventory.', '') }}"
- name: Load environment-specific variables
ansible.builtin.include_vars: "{{ item }}"
with_fileglob:
- "group_vars/all/generated_vars{{ '.' + inventory_env if inventory_env else '' }}.yml"
tasks:
- name: Define base directory for node
ansible.builtin.set_fact:
base_dir: "{{ airflow_master_dir if inventory_hostname in groups['master'] else airflow_worker_dir }}"
- name: Ensure policies directory exists
ansible.builtin.file:
path: "{{ base_dir }}/policies"
state: directory
owner: "{{ ansible_user }}"
group: "{{ deploy_group }}"
mode: '0755'
become: yes
- name: Sync policies directory only
ansible.posix.synchronize:
src: "{{ ytops_source_dir }}/policies/"
dest: "{{ base_dir }}/policies/"
rsync_opts:
- "--delete"
- "--exclude=.DS_Store"
- "--exclude=__pycache__"
- "--exclude='*.pyc'"
recursive: yes
perms: yes
become: yes
become_user: "{{ ansible_user }}"
- name: Sync client CLI config files
ansible.posix.synchronize:
src: "{{ ytops_source_dir }}/{{ item }}"
dest: "{{ base_dir }}/{{ item }}"
perms: yes
loop:
- "cli.auth.config"
- "cli.download.config"
become: yes
become_user: "{{ ansible_user }}"
- name: Display sync completion
ansible.builtin.debug:
msg: "Policies and CLI configs synced to {{ base_dir }}"