Add Ollama with binary tool pattern and turnstile service

This commit is contained in:
Fabio Scotto di Santolo
2026-04-18 16:12:18 +02:00
parent 821e62e8f5
commit 17abff32b1
4 changed files with 151 additions and 0 deletions

View File

@@ -444,6 +444,74 @@
loop_var: source_tool
label: "{{ source_tool.name }}"
- name: Set desktop tools tmp directory
tags: [packages]
ansible.builtin.set_fact:
desktop_tools_tmp_dir: /tmp/desktop-tools
- name: Set ollama tool config from list
tags: [packages]
ansible.builtin.set_fact:
desktop_ollama_tool: >-
{{
desktop_binary_tools
| selectattr('name', 'equalto', 'ollama')
| first
| default({})
}}
when: "'ollama' in (desktop_binary_tools | map(attribute='name') | list)"
- name: Fetch latest ollama release metadata
tags: [packages]
ansible.builtin.uri:
url: https://api.github.com/repos/ollama/ollama/releases/latest
headers:
Accept: application/vnd.github+json
return_content: true
register: ollama_latest_release
changed_when: false
when: "'ollama' in (desktop_binary_tools | map(attribute='name') | list)"
- name: Set ollama release metadata
tags: [packages]
ansible.builtin.set_fact:
ollama_version: "{{ ollama_latest_release.json.tag_name | regex_replace('^v') }}"
ollama_asset_name: >-
{{
ollama_latest_release.json.assets
| selectattr('name', 'equalto', 'ollama-linux-' ~ desktop_ollama_tool.asset_arch ~ '.tar.zst')
| first
| default({})
}}
when: "'ollama' in (desktop_binary_tools | map(attribute='name') | list)"
- name: Ensure temporary directory exists for desktop binary tools
tags: [packages]
ansible.builtin.file:
path: "{{ desktop_tools_tmp_dir }}"
state: directory
mode: "0755"
- name: Fetch latest ollama release archive
tags: [packages]
ansible.builtin.get_url:
url: "https://github.com/ollama/ollama/releases/download/v{{ ollama_version }}/{{ ollama_asset_name.name }}"
dest: "{{ desktop_tools_tmp_dir }}/{{ ollama_asset_name.name }}"
mode: "0644"
when: "'ollama' in (desktop_binary_tools | map(attribute='name') | list)"
- name: Install desktop binary tools
tags: [packages]
ansible.builtin.include_tasks:
file: binary_tool.yml
apply:
tags: [packages]
loop: "{{ desktop_binary_tools }}"
when: desktop_binary_tools | length > 0
loop_control:
loop_var: binary_tool
label: "{{ binary_tool.name }}"
- name: Install desktop npm packages
tags: [packages]
community.general.npm: