--- - name: Deploy Agent S (Rommie dependency) import_playbook: ../agent_s/deploy.yml - name: Deploy Rommie MCP Server hosts: rommie become: yes vars: rommie_venv: "/home/{{principal_user}}/env/rommie" rommie_repo: "/home/{{principal_user}}/rommie" tasks: - name: Create Rommie application directory become_user: "{{principal_user}}" file: path: "{{rommie_repo}}" state: directory mode: '0755' - name: Transfer and extract Rommie become_user: "{{principal_user}}" ansible.builtin.unarchive: src: "~/rel/rommie_{{rommie_rel}}.tar" dest: "{{rommie_repo}}" - name: Create Rommie virtual environment become_user: "{{principal_user}}" command: python3 -m venv --system-site-packages {{rommie_venv}} args: creates: "{{rommie_venv}}/bin/activate" - name: Install gui-agents (ignore upstream Python version cap) become_user: "{{principal_user}}" command: > {{rommie_venv}}/bin/pip install --ignore-requires-python "gui-agents>=0.3.1" args: creates: "{{rommie_venv}}/lib/python3.13/site-packages/gui_agents" - name: Install Rommie into virtual environment become_user: "{{principal_user}}" pip: name: "{{rommie_repo}}" extra_args: "-e" virtualenv: "{{rommie_venv}}" state: present - name: Deploy Rommie environment file become_user: "{{principal_user}}" template: src: .env.j2 dest: "{{rommie_repo}}/.env" mode: '0600' - name: Deploy Rommie systemd service template: src: rommie.service.j2 dest: /etc/systemd/system/rommie.service mode: '0644' notify: - Reload systemd - Restart rommie - name: Enable and start Rommie service systemd: name: rommie enabled: yes state: started daemon_reload: yes - name: Flush handlers before health check meta: flush_handlers - name: Verify Rommie MCP endpoint is reachable ansible.builtin.uri: url: "http://localhost:{{rommie_port}}/mcp" method: GET status_code: [200, 406] timeout: 15 register: rommie_health retries: 5 delay: 3 until: rommie_health.status in [200, 406] handlers: - name: Reload systemd systemd: daemon_reload: yes - name: Restart rommie systemd: name: rommie state: restarted