54 lines
1.6 KiB
YAML
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"
|