--- - name: Sync Infrastructure Stacks to Production Server hosts: production become: no gather_facts: yes vars: local_stacks_path: "/home/michael/dev/michaelschiemer/deployment/stacks" remote_stacks_path: "~/deployment" tasks: - name: Ensure deployment directory exists on production file: path: "{{ remote_stacks_path }}" state: directory mode: '0755' - name: Sync stacks directory to production server synchronize: src: "{{ local_stacks_path }}" dest: "{{ remote_stacks_path }}/" delete: no recursive: yes rsync_opts: - "--chmod=D755,F644" - "--exclude=.git" - "--exclude=*.log" - "--exclude=data/" - "--exclude=volumes/" - name: Ensure executable permissions on PostgreSQL backup scripts file: path: "{{ item }}" mode: '0755' loop: - "{{ remote_stacks_path }}/stacks/postgresql/scripts/backup-entrypoint.sh" - "{{ remote_stacks_path }}/stacks/postgresql/scripts/backup.sh" - "{{ remote_stacks_path }}/stacks/postgresql/scripts/restore.sh" ignore_errors: yes - name: Verify stacks directory exists on production stat: path: "{{ remote_stacks_path }}/stacks" register: stacks_dir - name: Display sync results debug: msg: - "=== Stacks Synchronization Complete ===" - "Stacks directory exists: {{ stacks_dir.stat.exists }}" - "Path: {{ remote_stacks_path }}/stacks" - "" - "Next: Run infrastructure deployment playbook"