Compare commits

...

1 Commits

Author SHA1 Message Date
Haitao Pan
cee48995cc feat: add install.svc.plus caddy redirect 2026-06-21 16:39:21 +08:00
4 changed files with 49 additions and 0 deletions

View File

@ -9,3 +9,11 @@ migrate_litellm_db_host: "127.0.0.1"
# Migration paths # Migration paths
openclaw_data_dir: "~/.openclaw" openclaw_data_dir: "~/.openclaw"
xworkspace_state_dir: "~/.local/state/xworkspace" xworkspace_state_dir: "~/.local/state/xworkspace"
# Caddy configuration for install.svc.plus
ai_workspace_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}"
ai_workspace_caddy_conf_dir: "{{ ai_workspace_caddy_base_dir }}/conf.d"
ai_workspace_caddy_fragment_path: "{{ ai_workspace_caddy_conf_dir }}/install.svc.plus.caddy"
ai_workspace_public_domain: "{{ lookup('ansible.builtin.env', 'AI_WORKSPACE_PUBLIC_DOMAIN') | default('install.svc.plus', true) }}"
ai_workspace_install_script_url: "{{ lookup('ansible.builtin.env', 'AI_WORKSPACE_INSTALL_SCRIPT_URL') | default('https://raw.githubusercontent.com/ai-workspace-lab/xworkspace-console/main/scripts/setup-ai-workspace-all-in-one.sh', true) }}"
ai_workspace_manage_caddy: true

View File

@ -1,5 +1,6 @@
--- ---
dependencies: dependencies:
- role: roles/vhosts/caddy
- role: roles/agent_skills - role: roles/agent_skills
- role: roles/vhosts/gateway_openclaw - role: roles/vhosts/gateway_openclaw
- role: roles/vhosts/xworkmate_bridge - role: roles/vhosts/xworkmate_bridge

View File

@ -0,0 +1,36 @@
---
- name: Ensure AI Workspace Caddy fragment directory exists
ansible.builtin.file:
path: "{{ ai_workspace_caddy_conf_dir }}"
state: directory
owner: root
group: root
mode: "0755"
when: ai_workspace_manage_caddy | bool
become: true
- name: Render AI Workspace Caddy redirect fragment
ansible.builtin.template:
src: Caddyfile.j2
dest: "{{ ai_workspace_caddy_fragment_path }}"
owner: root
group: root
mode: "0644"
when: ai_workspace_manage_caddy | bool
become: true
- name: Validate Caddy config after updating AI Workspace fragment
ansible.builtin.command: caddy validate --config /etc/caddy/Caddyfile
changed_when: false
when:
- ai_workspace_manage_caddy | bool
- not ansible_check_mode
- name: Reload Caddy after updating AI Workspace fragment
ansible.builtin.service:
name: caddy
state: reloaded
when:
- ai_workspace_manage_caddy | bool
- not ansible_check_mode
become: true

View File

@ -0,0 +1,4 @@
{{ ai_workspace_public_domain }} {
redir /ai-workspace {{ ai_workspace_install_script_url }} 302
redir /ai-workspace/latest {{ ai_workspace_install_script_url }} 302
}