92 lines
2.4 KiB
YAML
92 lines
2.4 KiB
YAML
---
|
|
- 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: Verify Rommie MCP endpoint is reachable
|
|
ansible.builtin.uri:
|
|
url: "http://localhost:{{rommie_port}}/mcp"
|
|
method: GET
|
|
status_code: [200, 405]
|
|
timeout: 15
|
|
register: rommie_health
|
|
retries: 5
|
|
delay: 3
|
|
until: rommie_health.status in [200, 405]
|
|
|
|
handlers:
|
|
- name: Reload systemd
|
|
systemd:
|
|
daemon_reload: yes
|
|
|
|
- name: Restart rommie
|
|
systemd:
|
|
name: rommie
|
|
state: restarted
|