Refactor llama_server role for Windows support and EL-specific setup

- Added Windows-specific tasks for llama_server role, including installation of dependencies, setup of services using NSSM, and configuration of firewall rules.
- Introduced a new task file for Windows Exporter setup.
- Consolidated EL-specific setup tasks into a separate include file.
- Updated inventory to include additional host for llama server.
- Adjusted error handling in Prometheus service removal task to prevent failures.
This commit is contained in:
2026-06-01 14:59:30 +02:00
parent bb8b14dcca
commit 3775fa4b6e
12 changed files with 1306 additions and 355 deletions
@@ -0,0 +1,73 @@
---
- name: Create llama_exporter group
become: true
ansible.builtin.group:
name: "{{ llama_server_exporter_user }}"
state: present
system: true
- name: Create llama_exporter user
become: true
ansible.builtin.user:
name: "{{ llama_server_exporter_user }}"
group: "{{ llama_server_exporter_user }}"
home: "{{ llama_server_exporter_user_home }}"
create_home: true
shell: /usr/sbin/nologin
system: true
- name: Create llama_exporter install directory
become: true
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: "{{ llama_server_exporter_user }}"
group: "{{ llama_server_exporter_user }}"
mode: "0755"
loop:
- "{{ llama_server_exporter_install_dir }}"
- "{{ llama_server_exporter_install_dir }}/logs"
- name: Copy llama_exporter script
become: true
ansible.builtin.copy:
src: scripts/llama_exporter.py
dest: "{{ llama_server_exporter_script_path }}"
owner: "{{ llama_server_exporter_user }}"
group: "{{ llama_server_exporter_user }}"
mode: "0755"
notify:
- Restart llama_exporter
- name: Create Python virtual environment
become: true
ansible.builtin.command:
cmd: "{{ ansible_facts['python']['executable'] }} -m venv {{ llama_server_exporter_venv_path }}"
creates: "{{ llama_server_exporter_venv_path }}/bin/activate"
- name: Fix ownership of llama_exporter directory
become: true
ansible.builtin.file:
path: "{{ llama_server_exporter_install_dir }}"
owner: "{{ llama_server_exporter_user }}"
group: "{{ llama_server_exporter_user }}"
recurse: true
- name: Generate llama_exporter systemd service
become: true
ansible.builtin.template:
src: llama_exporter.service.j2
dest: "/etc/systemd/system/{{ llama_server_exporter_service_name }}.service"
owner: root
group: root
mode: "0644"
notify:
- Reload systemd daemon
- Restart llama_exporter
- name: Enable llama_exporter service
become: true
ansible.builtin.systemd:
name: "{{ llama_server_exporter_service_name }}"
enabled: true
state: started