--- - 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 }}"