mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 15:39:58 +00:00
Refactor per-user runit service setup
This commit is contained in:
@@ -15,6 +15,19 @@
|
|||||||
state: link
|
state: link
|
||||||
loop: "{{ host_enabled_services | default([]) }}"
|
loop: "{{ host_enabled_services | default([]) }}"
|
||||||
|
|
||||||
|
- name: Define per-user runit services
|
||||||
|
tags: [services, packages]
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
per_user_runit_services:
|
||||||
|
- name: ollama
|
||||||
|
template: ollama.run.j2
|
||||||
|
state_dirs: []
|
||||||
|
- name: ssh-agent
|
||||||
|
template: ssh-agent.run.j2
|
||||||
|
state_dirs:
|
||||||
|
- path: "{{ user_home }}/.local/state/ssh-agent"
|
||||||
|
mode: "0700"
|
||||||
|
|
||||||
- name: Ensure per-user runit directories exist
|
- name: Ensure per-user runit directories exist
|
||||||
tags: [services, packages]
|
tags: [services, packages]
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
@@ -30,50 +43,56 @@
|
|||||||
mode: "0755"
|
mode: "0755"
|
||||||
- path: "{{ user_home }}/.local/runit/sv"
|
- path: "{{ user_home }}/.local/runit/sv"
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
- path: "{{ user_home }}/.local/runit/sv/ollama"
|
|
||||||
mode: "0755"
|
|
||||||
- path: "{{ user_home }}/.local/runit/sv/ssh-agent"
|
|
||||||
mode: "0755"
|
|
||||||
- path: "{{ user_home }}/.local/state"
|
- path: "{{ user_home }}/.local/state"
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
- path: "{{ user_home }}/.local/state/ssh-agent"
|
|
||||||
mode: "0700"
|
|
||||||
|
|
||||||
- name: Render per-user ssh-agent runit service
|
- name: Ensure per-user runit service directories exist
|
||||||
tags: [services, packages]
|
tags: [services, packages]
|
||||||
ansible.builtin.template:
|
ansible.builtin.file:
|
||||||
src: ssh-agent.run.j2
|
path: "{{ user_home }}/.local/runit/sv/{{ item.name }}"
|
||||||
dest: "{{ user_home }}/.local/runit/sv/ssh-agent/run"
|
state: directory
|
||||||
owner: "{{ username }}"
|
owner: "{{ username }}"
|
||||||
group: "{{ user_group }}"
|
group: "{{ user_group }}"
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
loop: "{{ per_user_runit_services }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.name }}"
|
||||||
|
|
||||||
- name: Render per-user ollama runit service
|
- name: Ensure per-user runit service state directories exist
|
||||||
|
tags: [services, packages]
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item.1.path }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ username }}"
|
||||||
|
group: "{{ user_group }}"
|
||||||
|
mode: "{{ item.1.mode }}"
|
||||||
|
loop: "{{ per_user_runit_services | subelements('state_dirs', skip_missing=True) }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.1.path }}"
|
||||||
|
|
||||||
|
- name: Render per-user runit services
|
||||||
tags: [services, packages]
|
tags: [services, packages]
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: ollama.run.j2
|
src: "{{ item.template }}"
|
||||||
dest: "{{ user_home }}/.local/runit/sv/ollama/run"
|
dest: "{{ user_home }}/.local/runit/sv/{{ item.name }}/run"
|
||||||
owner: "{{ username }}"
|
owner: "{{ username }}"
|
||||||
group: "{{ user_group }}"
|
group: "{{ user_group }}"
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
loop: "{{ per_user_runit_services }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.name }}"
|
||||||
|
|
||||||
- name: Enable per-user ollama runit service
|
- name: Enable per-user runit services
|
||||||
tags: [services, packages]
|
tags: [services, packages]
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
src: "../sv/ollama"
|
src: "../sv/{{ item.name }}"
|
||||||
dest: "{{ user_home }}/.local/runit/current/ollama"
|
dest: "{{ user_home }}/.local/runit/current/{{ item.name }}"
|
||||||
state: link
|
|
||||||
owner: "{{ username }}"
|
|
||||||
group: "{{ user_group }}"
|
|
||||||
|
|
||||||
- name: Enable per-user ssh-agent runit service
|
|
||||||
tags: [services, packages]
|
|
||||||
ansible.builtin.file:
|
|
||||||
src: "../sv/ssh-agent"
|
|
||||||
dest: "{{ user_home }}/.local/runit/current/ssh-agent"
|
|
||||||
state: link
|
state: link
|
||||||
owner: "{{ username }}"
|
owner: "{{ username }}"
|
||||||
group: "{{ user_group }}"
|
group: "{{ user_group }}"
|
||||||
|
loop: "{{ per_user_runit_services }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.name }}"
|
||||||
|
|
||||||
- name: Ensure per-user runsvdir service directory exists
|
- name: Ensure per-user runsvdir service directory exists
|
||||||
tags: [services, packages]
|
tags: [services, packages]
|
||||||
|
|||||||
Reference in New Issue
Block a user