---
# TODO: This should really be handled through a role at some point.
#       This role is also needed for migrating public-web-static to Ansible.
- name: Ensure base for working EH22 Styleguide CI deployment
  hosts: eh22-wiki
  tasks:
    - name: Ensure deployment user group
      ansible.builtin.group:
        name: eh22-styleguide-deploy
        system: false
      become: true

    - name: Ensure deployment user
      ansible.builtin.user:
        name: eh22-styleguide-deploy
        group: eh22-styleguide-deploy
        password: '!'
        system: false
      become: true

    - name: Ensure SSH key is set for deployment user
      ansible.posix.authorized_key:
        user: eh22-styleguide-deploy
        exclusive: true
        key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEgdXYZUq6SUDeKpX0Q8d1WYJ5WduHPMEaRuj0yfJTl deploy key for eh22 styleguide"
      become: true

    - name: Ensure deployment directory
      ansible.builtin.file:
        path: /var/www/eh22-styleguide
        state: directory
        mode: "0755"
        owner: eh22-styleguide-deploy
        group: eh22-styleguide-deploy
      become: true

    - name: Ensure rsync is present for deployment
      ansible.builtin.apt:
        name: rsync
      become: true