yt-dlp-dags/ansible/playbook-sync-local.yml

102 lines
2.8 KiB
YAML

---
- name: Sync Local Development Files to Workers and Master
hosts: airflow_workers, airflow_master
gather_facts: no
vars_files:
- "{{ inventory_dir }}/group_vars/all/generated_vars.yml"
vars:
sync_dir: "{{ airflow_worker_dir if 'airflow_workers' in group_names else airflow_master_dir }}"
pre_tasks:
- name: Announce local sync
debug:
msg: "Syncing local dev files to {{ inventory_hostname }} at {{ sync_dir }}"
tasks:
- name: Sync thrift_model directory
ansible.posix.synchronize:
src: ../thrift_model/
dest: "{{ sync_dir }}/thrift_model/"
rsync_opts:
- "--delete"
- "--exclude=.DS_Store"
- "--exclude=__pycache__"
- "--exclude='*.pyc'"
recursive: yes
perms: yes
become: yes
become_user: "{{ ansible_user }}"
- name: Sync pangramia package
ansible.posix.synchronize:
src: ../pangramia/
dest: "{{ sync_dir }}/pangramia/"
rsync_opts:
- "--delete"
- "--exclude=.DS_Store"
- "--exclude=__pycache__"
- "--exclude='*.pyc'"
recursive: yes
perms: yes
become: yes
become_user: "{{ ansible_user }}"
- name: Sync ytops_client directory
ansible.posix.synchronize:
src: ../ytops_client/
dest: "{{ sync_dir }}/ytops_client/"
rsync_opts:
- "--delete"
- "--exclude=.DS_Store"
- "--exclude=__pycache__"
- "--exclude='*.pyc'"
recursive: yes
perms: yes
become: yes
become_user: "{{ ansible_user }}"
- name: Sync policies directory
ansible.posix.synchronize:
src: ../policies/
dest: "{{ sync_dir }}/policies/"
rsync_opts:
- "--delete"
- "--exclude=.DS_Store"
- "--exclude=__pycache__"
- "--exclude='*.pyc'"
recursive: yes
perms: yes
become: yes
become_user: "{{ ansible_user }}"
- name: Sync ytdlp.json
ansible.posix.synchronize:
src: ../ytdlp.json
dest: "{{ sync_dir }}/ytdlp.json"
perms: yes
become: yes
become_user: "{{ ansible_user }}"
- name: Ensure bin directory exists for client utilities
ansible.builtin.file:
path: "{{ sync_dir }}/bin"
state: directory
mode: '0755'
become: yes
become_user: "{{ ansible_user }}"
- name: Sync client utility scripts
ansible.posix.synchronize:
src: "../{{ item }}"
dest: "{{ sync_dir }}/{{ item }}"
perms: yes
loop:
- "cli.config"
- "package_client.py"
- "setup.py"
- "bin/ytops-client"
- "bin/build-yt-dlp-image"
- "VERSION.client"
become: yes
become_user: "{{ ansible_user }}"