Files
ouranos/ansible/mcp_switchboard/deploy.yml
Robert Helewka 042df52bca Refactor user management in Ansible playbooks to standardize on keeper_user
- Updated user addition tasks across multiple playbooks (mcp_switchboard, mcpo, neo4j, neo4j_mcp, openwebui, postgresql, rabbitmq, searxng, smtp4dev) to replace references to ansible_user and remote_user with keeper_user.
- Modified PostgreSQL deployment to create directories and manage files under keeper_user's home.
- Enhanced documentation to clarify account taxonomy and usage of keeper_user in playbooks.
- Introduced new deployment for Agent S, including environment setup, desktop environment installation, XRDP configuration, and accessibility support.
- Added staging playbook for preparing release tarballs from local repositories.
- Created templates for XRDP configuration and environment activation scripts.
- Removed obsolete sunwait documentation.
2026-03-05 10:37:41 +00:00

106 lines
2.9 KiB
YAML

---
- name: Deploy MCP Switchboard
hosts: ubuntu
tasks:
- name: Check if host has mcp_switchboard service
ansible.builtin.set_fact:
has_mcp_switchboard_service: "{{'mcp_switchboard' in services}}"
- name: Skip hosts without mcp_switchboard service
ansible.builtin.meta: end_host
when: not has_mcp_switchboard_service
- name: Create mcp_switchboard user and group
become: true
ansible.builtin.group:
name: "{{mcp_switchboard_group}}"
state: present
- name: Create mcp_switchboard user
become: true
ansible.builtin.user:
name: "{{mcp_switchboard_user}}"
group: "{{mcp_switchboard_group}}"
home: "{{mcp_switchboard_directory}}"
shell: /bin/bash
system: true
create_home: false
- name: Add keeper_user to mcp_switchboard group
become: true
ansible.builtin.user:
name: "{{keeper_user}}"
groups: "{{mcp_switchboard_group}}"
append: true
- name: Add mcp_switchboard user to docker group
become: true
ansible.builtin.user:
name: "{{mcp_switchboard_group}}"
groups: docker
append: true
- name: Create required directories
become: true
ansible.builtin.file:
path: "{{mcp_switchboard_directory}}"
owner: "{{mcp_switchboard_user}}"
group: "{{mcp_switchboard_group}}"
state: directory
mode: '750'
- name: Transfer and unarchive git archive
become: true
ansible.builtin.unarchive:
src: "~/rel/mcp_switchboard_{{mcp_switchboard_rel}}.tar"
dest: "{{mcp_switchboard_directory}}"
owner: "{{mcp_switchboard_user}}"
group: "{{mcp_switchboard_group}}"
mode: '550'
- name: Install mcp_switchboard package in virtual environment
become: true
become_user: "{{mcp_switchboard_user}}"
vars:
ansible_common_remote_group: "{{mcp_switchboard_group}}"
allow_world_readable_tmpfiles: true
ansible.builtin.pip:
name: .
virtualenv: "{{mcp_switchboard_directory}}/.venv"
virtualenv_command: python3 -m venv
chdir: "{{mcp_switchboard_directory}}"
- name: Template .env file
become: true
ansible.builtin.template:
src: .env.j2
dest: "{{mcp_switchboard_directory}}/.env"
owner: "{{mcp_switchboard_user}}"
group: "{{mcp_switchboard_group}}"
mode: '550'
- name: Template systemd service file
become: true
ansible.builtin.template:
src: mcp_switchboard.service.j2
dest: /etc/systemd/system/mcp_switchboard.service
owner: root
group: root
mode: '644'
notify: restart mcp_switchboard
- name: Enable and start mcp_switchboard service
become: true
ansible.builtin.systemd:
name: mcp_switchboard
enabled: true
state: started
daemon_reload: true
handlers:
- name: restart mcp_switchboard
become: true
ansible.builtin.systemd:
name: mcp_switchboard
state: restarted