# Conflicts: # roles/vhosts/gateway_openclaw/templates/openclaw.json.j2 # roles/vhosts/xworkmate_bridge/defaults/main.yml
130 lines
7.3 KiB
YAML
130 lines
7.3 KiB
YAML
---
|
|
xworkmate_bridge_service_name: xworkmate-bridge
|
|
xworkmate_bridge_service_user: "{{ ansible_env.USER | default('ubuntu') }}"
|
|
xworkmate_bridge_service_group: "{{ 'staff' if ansible_os_family == 'Darwin' else (ansible_env.USER | default('ubuntu')) }}"
|
|
xworkmate_bridge_service_home: "{{ ansible_env.HOME | default('/home/' + xworkmate_bridge_service_user) }}"
|
|
ai_workspace_auth_token: "{{ lookup('ansible.builtin.env', 'AI_WORKSPACE_AUTH_TOKEN') | default('', true) }}"
|
|
xworkmate_bridge_auth_token: "{{ lookup('ansible.builtin.env', 'BRIDGE_AUTH_TOKEN') | default(lookup('ansible.builtin.env', 'XWORKMATE_BRIDGE_AUTH_TOKEN') | default(ai_workspace_auth_token, true), true) }}"
|
|
xworkmate_bridge_review_auth_token: "{{ lookup('ansible.builtin.env', 'BRIDGE_REVIEW_AUTH_TOKEN') | default('', true) }}"
|
|
xworkmate_bridge_listen_host: 127.0.0.1
|
|
xworkmate_bridge_listen_port: 8787
|
|
xworkmate_bridge_listen_addr: "{{ xworkmate_bridge_listen_host }}:{{ xworkmate_bridge_listen_port }}"
|
|
xworkmate_bridge_base_dir: "{{ (ansible_env.HOME ~ '/Library/Application Support/cloud-neutral/xworkmate-bridge') if ansible_os_family == 'Darwin' else '/opt/cloud-neutral/xworkmate-bridge' }}"
|
|
xworkmate_bridge_config_file: "{{ xworkmate_bridge_base_dir }}/config.yaml"
|
|
xworkmate_bridge_binary_path: /usr/local/bin/xworkmate-go-core
|
|
xworkmate_bridge_systemd_unit_path: "/etc/systemd/system/{{ xworkmate_bridge_service_name }}.service"
|
|
xworkmate_bridge_user_systemd_unit_path: "{{ xworkmate_bridge_service_home }}/.config/systemd/user/{{ xworkmate_bridge_service_name }}.service"
|
|
xworkmate_bridge_deprecated_container_name: xworkmate-bridge-managed
|
|
xworkmate_bridge_deprecated_compose_file: "{{ xworkmate_bridge_base_dir }}/docker-compose.yml"
|
|
xworkmate_bridge_obsolete_systemd_dropin_paths:
|
|
- "/etc/systemd/system/{{ xworkmate_bridge_service_name }}.service.d/20-distributed-forward.conf"
|
|
xworkmate_bridge_service_environment:
|
|
AI_WORKSPACE_AUTH_TOKEN: "{{ ai_workspace_auth_token }}"
|
|
BRIDGE_AUTH_TOKEN: "{{ xworkmate_bridge_effective_auth_token | default(xworkmate_bridge_auth_token) }}"
|
|
BRIDGE_REVIEW_AUTH_TOKEN: "{{ xworkmate_bridge_effective_review_auth_token | default(xworkmate_bridge_review_auth_token) }}"
|
|
BRIDGE_CONFIG_PATH: "{{ xworkmate_bridge_config_file }}"
|
|
IMAGE: "{{ xworkmate_bridge_effective_runtime_image_ref | default(xworkmate_bridge_runtime_image_ref) }}"
|
|
XWORKMATE_BRIDGE_OPENCLAW_GATEWAY_MAX_ACTIVE: "{{ xworkmate_bridge_openclaw_gateway_max_active }}"
|
|
XWORKMATE_BRIDGE_OPENCLAW_GATEWAY_MAX_QUEUED: "{{ xworkmate_bridge_openclaw_gateway_max_queued }}"
|
|
XWORKMATE_BRIDGE_OPENCLAW_GATEWAY_QUEUE_TIMEOUT: "{{ xworkmate_bridge_openclaw_gateway_queue_timeout }}"
|
|
xworkmate_bridge_openclaw_gateway_max_active: 2
|
|
xworkmate_bridge_openclaw_gateway_max_queued: 20
|
|
xworkmate_bridge_openclaw_gateway_queue_timeout: 10m
|
|
xworkmate_bridge_distributed_topology: ""
|
|
xworkmate_bridge_distributed_local_node_id: ""
|
|
xworkmate_bridge_distributed_task_forward_peer_id: ""
|
|
xworkmate_bridge_distributed_task_forward_endpoint: ""
|
|
xworkmate_bridge_distributed_task_forward_token: ""
|
|
xworkmate_bridge_distributed_nodes: []
|
|
xworkmate_bridge_required_services:
|
|
- acp-codex.service
|
|
- acp-opencode.service
|
|
- acp-gemini.service
|
|
- acp-hermes.service
|
|
|
|
# ACP Deployment Flags
|
|
deploy_acp_codex: true
|
|
deploy_acp_opencode: true
|
|
deploy_acp_gemini: true
|
|
deploy_acp_hermes: true
|
|
|
|
# Unified domain settings
|
|
ai_workspace_public_domain: "{{ lookup('ansible.builtin.env', 'SERVER_DOMAIN') | default(lookup('ansible.builtin.env', 'ACP_BRIDGE_DOMAIN') | default(lookup('ansible.builtin.env', 'BRIDGE_DOMAIN') | default('xworkmate-bridge.svc.plus', true), true), true) }}"
|
|
xworkmate_bridge_domain: "{{ lookup('ansible.builtin.env', 'XWORKMATE_BRIDGE_DOMAIN') | default(ai_workspace_public_domain, true) }}"
|
|
|
|
# When false, disables public Caddy access to XWorkmate Bridge.
|
|
xworkmate_bridge_public_access: true
|
|
|
|
xworkmate_bridge_public_base_url: "https://{{ xworkmate_bridge_domain }}"
|
|
xworkmate_bridge_service_domain: "{{ xworkmate_bridge_domain }}"
|
|
xworkmate_bridge_service_public_base_url: "https://{{ xworkmate_bridge_domain }}"
|
|
xworkmate_bridge_validation_base_url: "{{ xworkmate_bridge_service_public_base_url }}"
|
|
xworkmate_bridge_validation_validate_certs: true
|
|
xworkmate_bridge_validation_origin: https://xworkmate.svc.plus
|
|
|
|
# Caddy configuration paths
|
|
xworkmate_bridge_caddyfile_path: "{{ caddy_config_dir }}/Caddyfile"
|
|
xworkmate_bridge_caddy_conf_dir: "{{ caddy_config_dir }}/conf.d"
|
|
xworkmate_bridge_service_caddy_fragment_path: "{{ caddy_config_dir }}/conf.d/xworkmate-bridge.caddy"
|
|
|
|
# Upstream host/port settings for summary and validation
|
|
xworkmate_bridge_codex_upstream_host: 127.0.0.1
|
|
xworkmate_bridge_codex_upstream_port: 9001
|
|
xworkmate_bridge_opencode_upstream_host: 127.0.0.1
|
|
xworkmate_bridge_opencode_upstream_port: 38992
|
|
xworkmate_bridge_gemini_upstream_host: 127.0.0.1
|
|
xworkmate_bridge_gemini_upstream_port: 8791
|
|
xworkmate_bridge_hermes_upstream_host: 127.0.0.1
|
|
xworkmate_bridge_hermes_upstream_port: 3920
|
|
xworkmate_bridge_openclaw_upstream_host: 127.0.0.1
|
|
xworkmate_bridge_openclaw_upstream_port: 18789
|
|
xworkmate_bridge_required_listeners:
|
|
- host: "{{ xworkmate_bridge_listen_host }}"
|
|
port: "{{ xworkmate_bridge_listen_port }}"
|
|
name: bridge
|
|
- host: "{{ xworkmate_bridge_codex_upstream_host }}"
|
|
port: "{{ xworkmate_bridge_codex_upstream_port }}"
|
|
name: codex
|
|
- host: "{{ xworkmate_bridge_opencode_upstream_host }}"
|
|
port: "{{ xworkmate_bridge_opencode_upstream_port }}"
|
|
name: opencode
|
|
- host: "{{ xworkmate_bridge_gemini_upstream_host }}"
|
|
port: "{{ xworkmate_bridge_gemini_upstream_port }}"
|
|
name: gemini
|
|
- host: "{{ xworkmate_bridge_hermes_upstream_host }}"
|
|
port: "{{ xworkmate_bridge_hermes_upstream_port }}"
|
|
name: hermes
|
|
- host: "{{ xworkmate_bridge_openclaw_upstream_host }}"
|
|
port: "{{ xworkmate_bridge_openclaw_upstream_port }}"
|
|
name: openclaw
|
|
|
|
# Internal RPC URLs (Source of Truth for the bridge service)
|
|
xworkmate_bridge_openclaw_url: "ws://{{ xworkmate_bridge_openclaw_upstream_host }}:{{ xworkmate_bridge_openclaw_upstream_port }}/"
|
|
xworkmate_bridge_codex_rpc_url: "ws://{{ xworkmate_bridge_codex_upstream_host }}:{{ xworkmate_bridge_codex_upstream_port }}/acp"
|
|
xworkmate_bridge_opencode_rpc_url: "http://{{ xworkmate_bridge_opencode_upstream_host }}:{{ xworkmate_bridge_opencode_upstream_port }}"
|
|
xworkmate_bridge_gemini_rpc_url: "http://{{ xworkmate_bridge_gemini_upstream_host }}:{{ xworkmate_bridge_gemini_upstream_port }}"
|
|
xworkmate_bridge_hermes_rpc_url: "http://{{ xworkmate_bridge_hermes_upstream_host }}:{{ xworkmate_bridge_hermes_upstream_port }}"
|
|
|
|
# Obsolete paths to clean up
|
|
xworkmate_bridge_obsolete_caddy_fragment_paths:
|
|
- "{{ xworkmate_bridge_caddy_base_dir }}/conf.d/acp-server.caddy"
|
|
- "{{ xworkmate_bridge_caddy_base_dir }}/conf.d/acp-server-codex.caddy"
|
|
- "{{ xworkmate_bridge_caddy_base_dir }}/conf.d/acp-server-opencode.caddy"
|
|
- "{{ xworkmate_bridge_caddy_base_dir }}/conf.d/acp-server-gemini.caddy"
|
|
- "{{ xworkmate_bridge_caddy_base_dir }}/conf.d/acp-server-bridge.caddy"
|
|
- "{{ xworkmate_bridge_caddy_base_dir }}/conf.d/acp-server-bridge-server.caddy"
|
|
|
|
|
|
xworkmate_bridge_packages:
|
|
- caddy
|
|
- gstreamer1.0-tools
|
|
- gstreamer1.0-plugins-base
|
|
- gstreamer1.0-plugins-good
|
|
- gstreamer1.0-plugins-bad
|
|
- gstreamer1.0-plugins-ugly
|
|
- gstreamer1.0-libav
|
|
- libgstreamer1.0-dev
|
|
- libgstreamer-plugins-base1.0-dev
|
|
- xdotool
|
|
- ffmpeg
|