59 lines
1.9 KiB
YAML
59 lines
1.9 KiB
YAML
---
|
|
- name: "STRESS-SETUP: Sync Policies and CLI Configs"
|
|
hosts: all
|
|
gather_facts: no
|
|
vars:
|
|
ytops_source_dir: "{{ source_base_dir | default(playbook_dir + '/../ytops_client-source') }}"
|
|
vars_files:
|
|
- "group_vars/all/vault.yml"
|
|
pre_tasks:
|
|
- name: Set inventory_env fact
|
|
ansible.builtin.set_fact:
|
|
inventory_env: "{{ inventory_file | basename | splitext | first | replace('inventory.', '') }}"
|
|
- name: Load environment-specific variables
|
|
ansible.builtin.include_vars: "{{ item }}"
|
|
with_fileglob:
|
|
- "group_vars/all/generated_vars{{ '.' + inventory_env if inventory_env else '' }}.yml"
|
|
tasks:
|
|
- name: Define base directory for node
|
|
ansible.builtin.set_fact:
|
|
base_dir: "{{ airflow_master_dir if inventory_hostname in groups['master'] else airflow_worker_dir }}"
|
|
|
|
- name: Ensure policies directory exists
|
|
ansible.builtin.file:
|
|
path: "{{ base_dir }}/policies"
|
|
state: directory
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ deploy_group }}"
|
|
mode: '0755'
|
|
become: yes
|
|
|
|
- name: Sync policies directory only
|
|
ansible.posix.synchronize:
|
|
src: "{{ ytops_source_dir }}/policies/"
|
|
dest: "{{ base_dir }}/policies/"
|
|
rsync_opts:
|
|
- "--delete"
|
|
- "--exclude=.DS_Store"
|
|
- "--exclude=__pycache__"
|
|
- "--exclude='*.pyc'"
|
|
recursive: yes
|
|
perms: yes
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Sync client CLI config files
|
|
ansible.posix.synchronize:
|
|
src: "{{ ytops_source_dir }}/{{ item }}"
|
|
dest: "{{ base_dir }}/{{ item }}"
|
|
perms: yes
|
|
loop:
|
|
- "cli.auth.config"
|
|
- "cli.download.config"
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Display sync completion
|
|
ansible.builtin.debug:
|
|
msg: "Policies and CLI configs synced to {{ base_dir }}"
|