Files
michaelschiemer/deployment/ansible/playbooks/sync-stacks.yml

54 lines
1.6 KiB
YAML

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