playbooks/roles/vhosts/acp_codex/tasks/config.yml
2026-04-09 06:20:07 +08:00

103 lines
2.8 KiB
YAML

---
- name: Ensure local Codex ACP build directory exists
ansible.builtin.file:
path: "{{ acp_codex_bridge_local_build_dir }}"
state: directory
mode: "0755"
delegate_to: localhost
become: false
- name: Build XWorkmate Go ACP server locally
ansible.builtin.command:
cmd: go build -o "{{ acp_codex_bridge_local_binary_path }}" .
chdir: "{{ acp_codex_bridge_local_source_dir }}"
environment:
GOOS: "{{ acp_codex_bridge_build_goos }}"
GOARCH: "{{ acp_codex_bridge_build_goarch }}"
CGO_ENABLED: "0"
delegate_to: localhost
become: false
- name: Upload XWorkmate Go ACP server binary
ansible.builtin.copy:
src: "{{ acp_codex_bridge_local_binary_path }}"
dest: "{{ acp_codex_bridge_binary_path }}"
owner: root
group: root
mode: "0755"
notify: Restart codex acp bridge
- name: Stop and disable legacy Codex ACP bridge services
ansible.builtin.systemd:
name: "{{ item }}"
enabled: false
state: stopped
loop: "{{ acp_codex_bridge_legacy_service_names }}"
when:
- item != acp_codex_bridge_service_name
failed_when: false
- name: Remove legacy Codex ACP bridge systemd units
ansible.builtin.file:
path: "/etc/systemd/system/{{ item }}.service"
state: absent
loop: "{{ acp_codex_bridge_legacy_service_names }}"
when:
- item != acp_codex_bridge_service_name
- name: Remove deprecated standalone Codex Caddy fragments
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop: "{{ acp_codex_obsolete_caddy_fragment_paths }}"
notify: Reload caddy
- name: Deploy Caddy main file
ansible.builtin.template:
src: Caddyfile.j2
dest: "{{ acp_codex_caddyfile_path }}"
owner: root
group: root
mode: "0644"
notify: Reload caddy
- name: Deploy Codex ACP systemd service
ansible.builtin.template:
src: codex-app-server.service.j2
dest: "/etc/systemd/system/{{ acp_codex_service_name }}.service"
owner: root
group: root
mode: "0644"
notify: Restart codex app server
- name: Deploy XWorkmate Codex ACP bridge service
ansible.builtin.template:
src: acp-bridge.service.j2
dest: "/etc/systemd/system/{{ acp_codex_bridge_service_name }}.service"
owner: root
group: root
mode: "0644"
notify: Restart codex acp bridge
- name: Reload systemd manager configuration
ansible.builtin.systemd:
daemon_reload: true
- name: Ensure Caddy is enabled and running
ansible.builtin.systemd:
name: caddy
enabled: true
state: started
- name: Ensure Codex ACP service is enabled and running
ansible.builtin.systemd:
name: "{{ acp_codex_service_name }}"
enabled: true
state: started
- name: Ensure XWorkmate Codex ACP bridge service is enabled and running
ansible.builtin.systemd:
name: "{{ acp_codex_bridge_service_name }}"
enabled: true
state: started