---
# Deploy applications to client servers
# This playbook deploys Nextcloud and other applications
- name: Deploy applications to client servers
hosts: all
become: yes
pre_tasks:
- name: Gather facts
setup:
- name: Determine client name from hostname
set_fact:
client_name: "{{ inventory_hostname }}"
- name: Load client secrets
community.sops.load_vars:
file: "{{ playbook_dir }}/../../secrets/clients/{{ client_name }}.sops.yaml"
name: client_secrets
age_key: "{{ lookup('env', 'SOPS_AGE_KEY_FILE') }}"
no_log: true
- name: Set client domain from secrets
client_domain: "{{ client_secrets.client_domain }}"
when: client_secrets.client_domain is defined
roles:
- role: nextcloud
post_tasks:
- name: Display deployment summary
debug:
msg: |
Deployment complete for client: {{ client_name }}
Nextcloud: https://nextcloud.{{ client_domain }}