--- - hosts: alains tasks: - name: La naissance d'Alain user: name: alain system: true - name: Le cerveau d'Alain become: true become_user: alain git: repo: https://github.com/afpy/alain/ dest: ~alain/src/ notify: restart alain - name: Alain s'installe dans sa maison become: true become_user: alain pip: name: /home/alain/src/ virtualenv_command: /usr/bin/python3 -m venv virtualenv: "/home/alain/venv/" - name: Le bazar d'Alain file: state: directory path: /home/alain/log/ owner: alain group: alain mode: 0755 - name: Alain découvre les internets notify: restart alain copy: dest: /etc/systemd/system/alain.service content: | [Unit] Description=Alain After=network.target [Service] Type=simple ExecStart=/home/alain/venv/bin/irc3 --logdir=/home/alain/log alain.ini User=alain Group=alain WorkingDirectory=/home/alain/src/ Restart=on-failure [Install] WantedBy=multi-user.target - service: name=alain enabled=yes state=started daemon_reload=yes - name: La serrure de la maison d'Alain file: state: directory path: /home/alain/.ssh/ owner: alain group: alain mode: 0755 - name: La clef de la maison d'Alain copy: content: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMx6KkjC7HAId4/nFnkiHxUb8d7ybJlfLbFu2NFKXpqI github-ci" dest: /home/alain/.ssh/authorized_keys owner: alain group: alain mode: 0644 - name: Alain peut se redémarrer tout seul lineinfile: path: /etc/sudoers state: present regexp: '^alain ' line: "alain ALL = NOPASSWD: /bin/systemctl restart alain.service" validate: /usr/sbin/visudo -cf %s handlers: - name: restart alain systemd: daemon_reload: true state: restarted name: alain