fix(acp-gemini): create runtime dirs so service WorkingDirectory exists

acp-gemini.service sets WorkingDirectory={{ acp_gemini_workdir }} (~/.gemini)
but the role never created it, so systemd failed at step CHDIR (status
200/CHDIR), the adapter never bound 127.0.0.1:8791, and the CORS preflight
validation failed after 30 retries. Mirror the opencode role: pre-create the
home, .gemini workdir, XDG config and state dirs owned by the service user.
Linux/Debian only (guarded != Darwin); macOS uses the launchd path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Haitao Pan 2026-06-23 14:31:38 +08:00
parent e5fc29fa8a
commit f5a5979439

View File

@ -69,6 +69,21 @@
changed_when: true changed_when: true
become: true become: true
- name: Ensure Gemini ACP runtime directories exist
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: "{{ acp_gemini_service_user }}"
group: "{{ acp_gemini_service_group }}"
mode: "0755"
loop:
- "{{ acp_gemini_home }}"
- "{{ acp_gemini_workdir }}"
- "{{ acp_gemini_xdg_config_home }}"
- "{{ acp_gemini_xdg_state_home }}"
become: true
when: ansible_os_family != 'Darwin'
- name: Deploy Gemini ACP systemd service - name: Deploy Gemini ACP systemd service
ansible.builtin.command: ansible.builtin.command:
cmd: lsattr "/etc/systemd/system/{{ acp_gemini_service_name }}.service" cmd: lsattr "/etc/systemd/system/{{ acp_gemini_service_name }}.service"