fix(qmd): provision macOS LaunchAgent
This commit is contained in:
parent
09a39e69ee
commit
f01e0bb15b
@ -18,6 +18,11 @@ qmd_index_config_mode: "0664"
|
||||
qmd_env_path: "{{ qmd_config_dir }}/qmd.env"
|
||||
qmd_mcp_service_name: qmd-mcp
|
||||
qmd_mcp_service_unit_path: "{{ qmd_home }}/.config/systemd/user/{{ qmd_mcp_service_name }}.service"
|
||||
qmd_launch_agent_label: plus.svc.xworkspace.qmd
|
||||
qmd_launch_agent_path: "{{ qmd_home }}/Library/LaunchAgents/{{ qmd_launch_agent_label }}.plist"
|
||||
qmd_launch_agent_log_dir: "{{ qmd_home }}/.local/state/xworkspace"
|
||||
qmd_launch_agent_stdout_path: "{{ qmd_launch_agent_log_dir }}/qmd.log"
|
||||
qmd_launch_agent_stderr_path: "{{ qmd_launch_agent_log_dir }}/qmd.err.log"
|
||||
qmd_service_uid: ""
|
||||
qmd_mcp_host: 127.0.0.1
|
||||
qmd_mcp_port: 8181
|
||||
|
||||
@ -10,14 +10,14 @@
|
||||
listen: Restart QMD
|
||||
|
||||
- name: Unload QMD on macOS
|
||||
ansible.builtin.command: "launchctl unload {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.qmd.plist"
|
||||
ansible.builtin.command: "launchctl unload {{ qmd_launch_agent_path }}"
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
when: ansible_system == 'Darwin'
|
||||
listen: Restart QMD
|
||||
|
||||
- name: Load QMD on macOS
|
||||
ansible.builtin.command: "launchctl load -w {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.qmd.plist"
|
||||
ansible.builtin.command: "launchctl load -w {{ qmd_launch_agent_path }}"
|
||||
changed_when: false
|
||||
when: ansible_system == 'Darwin'
|
||||
listen: Restart QMD
|
||||
|
||||
@ -1,13 +1,26 @@
|
||||
---
|
||||
- name: Create launchd plist template for QMD
|
||||
- name: Ensure QMD launchd directories exist
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ qmd_user }}"
|
||||
group: "{{ qmd_group }}"
|
||||
mode: "0755"
|
||||
loop:
|
||||
- "{{ qmd_launch_agent_path | dirname }}"
|
||||
- "{{ qmd_launch_agent_log_dir }}"
|
||||
|
||||
- name: Deploy QMD LaunchAgent
|
||||
ansible.builtin.template:
|
||||
src: qmd.plist.j2
|
||||
dest: "{{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.qmd.plist"
|
||||
dest: "{{ qmd_launch_agent_path }}"
|
||||
owner: "{{ qmd_user }}"
|
||||
group: "{{ qmd_group }}"
|
||||
mode: "0644"
|
||||
notify: Restart QMD
|
||||
|
||||
- name: Reload launchd agent for QMD
|
||||
ansible.builtin.command: "launchctl load -w {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.qmd.plist"
|
||||
- name: Ensure QMD LaunchAgent is loaded
|
||||
ansible.builtin.command: "launchctl load -w {{ qmd_launch_agent_path }}"
|
||||
register: launchctl_result
|
||||
changed_when: false
|
||||
failed_when: launchctl_result.rc != 0 and 'already loaded' not in launchctl_result.stderr
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>plus.svc.xworkspace.qmd</string>
|
||||
<string>{{ qmd_launch_agent_label }}</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/bin/bash</string>
|
||||
@ -20,9 +20,9 @@
|
||||
<key>WorkingDirectory</key>
|
||||
<string>{{ qmd_home }}</string>
|
||||
<key>StandardOutPath</key>
|
||||
<string>{{ ansible_env.HOME }}/.local/state/xworkspace/qmd.log</string>
|
||||
<string>{{ qmd_launch_agent_stdout_path }}</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>{{ ansible_env.HOME }}/.local/state/xworkspace/qmd.err.log</string>
|
||||
<string>{{ qmd_launch_agent_stderr_path }}</string>
|
||||
<key>EnvironmentVariables</key>
|
||||
<dict>
|
||||
<key>HOME</key>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user