--- - name: Ensure python is installed ansible.builtin.dnf: name: - python3 - python3-pip state: present - name: Ensure noggin user exists user: name: noggin comment: "Noggin FAS" - name: Create noggin directory ansible.builtin.file: path: /opt/noggin state: directory mode: '0700' owner: noggin group: noggin - name: Deploy noggin git: repo: https://github.com/fedora-infra/noggin.git dest: /opt/noggin/noggin update: true version: main become: true become_user: noggin - name: Noggin user must install poetry pip: name: poetry executable: pip3 become: true become_user: noggin - name: Remove any pycache ansible.builtin.file: path: "/home/noggin/.cache/pypoetry" state: absent - name: Noggin installation command: "/home/noggin/.local/bin/poetry install --no-dev --extras deploy" become: true become_user: noggin changed_when: "1 != 1" args: chdir: "/opt/noggin/noggin" - name: Get the noggin poetry virtualenv shell: cmd: "poetry env list | awk '{print $1}'" chdir: "/opt/noggin/noggin" become: true become_user: noggin changed_when: "1 != 1" register: virtualenv_location - name: Deploy start up script ansible.builtin.template: src: "opt/noggin/start_noggin.sh.j2" dest: "/opt/noggin/start_noggin.sh" mode: '0750' user: noggin group: noggin - name: Deploy systemd unit ansible.builtin.copy: src: "etc/systemd/system/noggin.service" dest: "/etc/systemd/system/noggin.service" owner: root group: root mode: '0644' - name: Deploy noggin configuration ansible.builtin.template: src: "opt/noggin/noggin.cfg.j2" dest: "/opt/noggin/noggin.cfg" owner: noggin group: noggin mode: '0600' # The only way to run it properly, at least on EL8, is we need this line - name: Add missing create_app call ansible.builtin.lineinfile: path: "/opt/noggin/noggin/noggin/app.py" line: "app = create_app()" ...