--- # Deploys Valkey as a rootless Podman Quadlet unit. # # Connects as the container user and runs everything as that user: the Quadlet # units belong to it, so the connection's PAM session is what makes # `systemctl --user` work without any environment juggling. # # gather_facts is required: podman_user and the home directory come from the # user_id / user_dir facts. # # The rootless-Podman prerequisites (installing podman, enabling lingering, the # low-port sysctl, creating the Quadlet directory) are deliberately NOT applied # here. They are the shared task file at caddy/roles/podman/tasks/main.yaml, and # a host that has already run caddy/playbook.yml has them: # # - name: Rootless Podman prerequisites # ansible.builtin.include_tasks: "{{ playbook_dir }}/../caddy/roles/podman/tasks/main.yaml" # # The variables those tasks need are duplicated at the top of vars/default.yml, # so this play stands on its own. # # Run with: ansible-playbook -u tanshu valkey/playbook.yml - name: Deploy Valkey as a rootless Podman Quadlet hosts: emily gather_facts: true vars_files: - vars/default.yml roles: # The base Valkey unit. It does NOT know which app networks it serves. # Each service attaches itself via valkey/roles/attach. - valkey