mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 08:44:43 +02:00
feat: initial commit — Ansible roles storage-01/gpu-01 opérationnels
This commit is contained in:
commit
b3fce8af5d
70 changed files with 2688 additions and 0 deletions
92
ansible/roles/qdrant/tasks/main.yml
Normal file
92
ansible/roles/qdrant/tasks/main.yml
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
---
|
||||
# --- Utilisateur système ---
|
||||
|
||||
- name: Create qdrant system user
|
||||
ansible.builtin.user:
|
||||
name: "{{ qdrant_user }}"
|
||||
system: true
|
||||
shell: /sbin/nologin
|
||||
home: "{{ qdrant_install_dir }}"
|
||||
create_home: true
|
||||
state: present
|
||||
|
||||
# --- Répertoires données (RAID5) ---
|
||||
|
||||
- name: Create Qdrant data directories on RAID5
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ qdrant_user }}"
|
||||
group: "{{ qdrant_user }}"
|
||||
mode: '0750'
|
||||
loop:
|
||||
- "{{ qdrant_data_dir }}"
|
||||
- "{{ qdrant_data_dir }}/storage"
|
||||
- "{{ qdrant_data_dir }}/snapshots"
|
||||
|
||||
# --- Binaire ---
|
||||
|
||||
- name: Check if qdrant binary is already installed
|
||||
ansible.builtin.stat:
|
||||
path: "{{ qdrant_install_dir }}/qdrant"
|
||||
register: qdrant_binary
|
||||
|
||||
- name: Check installed qdrant version
|
||||
ansible.builtin.command:
|
||||
cmd: "{{ qdrant_install_dir }}/qdrant --version"
|
||||
register: qdrant_current_version
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: qdrant_binary.stat.exists
|
||||
|
||||
- name: Download qdrant binary
|
||||
ansible.builtin.get_url:
|
||||
url: "https://github.com/qdrant/qdrant/releases/download/v{{ qdrant_version }}/qdrant-x86_64-unknown-linux-musl.tar.gz"
|
||||
dest: /tmp/qdrant.tar.gz
|
||||
mode: '0644'
|
||||
when: >
|
||||
not qdrant_binary.stat.exists or
|
||||
qdrant_version not in (qdrant_current_version.stdout | default(''))
|
||||
|
||||
- name: Extract qdrant binary
|
||||
ansible.builtin.unarchive:
|
||||
src: /tmp/qdrant.tar.gz
|
||||
dest: "{{ qdrant_install_dir }}"
|
||||
remote_src: true
|
||||
owner: "{{ qdrant_user }}"
|
||||
group: "{{ qdrant_user }}"
|
||||
when: >
|
||||
not qdrant_binary.stat.exists or
|
||||
qdrant_version not in (qdrant_current_version.stdout | default(''))
|
||||
notify: Restart qdrant
|
||||
|
||||
# --- Configuration ---
|
||||
|
||||
- name: Deploy Qdrant config
|
||||
ansible.builtin.template:
|
||||
src: config.yaml.j2
|
||||
dest: "{{ qdrant_install_dir }}/config.yaml"
|
||||
owner: "{{ qdrant_user }}"
|
||||
group: "{{ qdrant_user }}"
|
||||
mode: '0640'
|
||||
notify: Restart qdrant
|
||||
|
||||
# --- Service systemd ---
|
||||
|
||||
- name: Deploy Qdrant systemd service
|
||||
ansible.builtin.template:
|
||||
src: qdrant.service.j2
|
||||
dest: /etc/systemd/system/qdrant.service
|
||||
mode: '0644'
|
||||
notify:
|
||||
- Restart qdrant
|
||||
|
||||
- name: Enable and start Qdrant
|
||||
ansible.builtin.systemd:
|
||||
name: qdrant
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
state: started
|
||||
|
||||
# Firewall géré centralement par le rôle gateway (nftables)
|
||||
# Ports 6333 (HTTP) et 6334 (gRPC) ouverts pour cluster_network dans nftables.conf.j2
|
||||
Loading…
Add table
Add a link
Reference in a new issue