mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 06:54:41 +02:00
docs: mise à jour documentation — NVMe, Qwen3, gaps IaC
- CLAUDE.md : /srv/data NVMe (plus RAID5), structure k8s/ expliquée, namespace ai ajouté, Hermes data code/données séparés - README.md : roadmap complète (n8n/Open WebUI/monitoring opérationnels), Talos v1.13, vault vars complètes, rôles Ansible manquants, RAID5→NVMe - admin/ia/rag.md : 284→339 chunks, RAID5→NVMe - admin/ia/hermes.md : RAID5→NVMe (incidents 2026-05-13 et 2026-05-29) - admin/ia/litellm.md : qwen2.5→qwen3-8b, gap IaC CPU models documenté - admin/ia/llama_server.md : gap IaC instances CPU documenté - admin/index_knowledge.py : 5 chunks RAG mis à jour (Qwen2.5→Qwen3, RAID5→NVMe, vault vars + rôles complets) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7f6fee94c2
commit
529bb66ebd
7 changed files with 101 additions and 33 deletions
40
CLAUDE.md
40
CLAUDE.md
|
|
@ -36,7 +36,7 @@ Journal de progression : `PROGRESS.md` → `progress/YYYY-MM-DD.md`
|
|||
**Points clés d'architecture :**
|
||||
- `storage-01` et `gpu-01` sont **hors du cluster k8s** — consommés via `ExternalName` services ou `Endpoints` manuels
|
||||
- Single control-plane assumé : si compute-01 tombe, `kubectl apply` ne fonctionne plus mais les workloads continuent
|
||||
- Modèles LLM stockés sur NFS RAID5 de storage-01 (`/srv/data/models`), montés sur gpu-01 (`/mnt/models`)
|
||||
- Modèles LLM sur storage-01 (`/srv/data/models`, NVMe depuis 2026-05-29), montés sur gpu-01 via NFS (`/mnt/models`)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -138,7 +138,37 @@ git commit -m "open-webui: bump to v0.4.0"
|
|||
git push
|
||||
```
|
||||
|
||||
ArgoCD utilise le repo `git@github.com:Alkatrazz24/Funk-lab.git` branche `main`. Les deux namespaces gérés actuellement : `infra` (Traefik, MetalLB, NFS-provisioner) et `monitoring` (kube-prometheus-stack 85.0.2).
|
||||
ArgoCD utilise le repo `git@github.com:Alkatrazz24/Funk-lab.git` branche `main`.
|
||||
|
||||
### Structure k8s/
|
||||
|
||||
```
|
||||
k8s/
|
||||
├── apps-of-apps/
|
||||
│ ├── root.yaml # Application ArgoCD racine (pointe vers apps-of-apps/apps/)
|
||||
│ └── apps/ # Un fichier Application par workload — ArgoCD les crée automatiquement
|
||||
│ ├── n8n.yaml
|
||||
│ ├── open-webui.yaml
|
||||
│ ├── monitoring.yaml
|
||||
│ └── nfs-provisioner.yaml
|
||||
├── apps/ # Manifests raw k8s par application
|
||||
│ ├── n8n/ # namespace: ai
|
||||
│ ├── open-webui/ # namespace: ai
|
||||
│ └── {external-services}/ # ExternalName/Endpoints pointant vers storage-01 ou gpu-01
|
||||
└── infra/ # Helm releases (HelmRelease + values.yaml)
|
||||
├── monitoring/ # kube-prometheus-stack 85.0.2
|
||||
├── nfs-provisioner/
|
||||
├── traefik/
|
||||
└── metallb/
|
||||
```
|
||||
|
||||
### Ajouter un nouveau workload k8s
|
||||
|
||||
1. Créer `k8s/apps/<nom>/` avec les manifests (Deployment, Service, Ingress, PVC…)
|
||||
2. Créer `k8s/apps-of-apps/apps/<nom>.yaml` (ArgoCD Application CRD) — copier `n8n.yaml` comme modèle
|
||||
3. `git commit` + `git push` → ArgoCD prend en charge automatiquement
|
||||
|
||||
Namespaces actifs : `argocd`, `infra` (Traefik, MetalLB, NFS-provisioner), `monitoring` (Prometheus/Grafana), `ai` (n8n, open-webui).
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -179,7 +209,7 @@ ask-agent monitor "logs litellm : <résultat étape 1> — erreurs ?"
|
|||
|
||||
### RAG — Documentation Funk
|
||||
|
||||
Qdrant collection `funk-docs` indexée depuis `admin/` (284 chunks, score min 0.60).
|
||||
Qdrant collection `funk-docs` indexée depuis `admin/` (339 chunks, score min 0.60).
|
||||
|
||||
```bash
|
||||
rag-query "comment relancer dnsmasq ?"
|
||||
|
|
@ -278,6 +308,6 @@ talosctl etcd snapshot /path/to/backup.db --nodes compute-01
|
|||
|
||||
- **Git** : branches `main` (prod) / `feature/*` — conventional commits (`feat:`, `fix:`, `chore:`, `docs:`)
|
||||
- **Secrets** : Ansible Vault (Ansible), SOPS+age (Talos), Sealed Secrets (k8s)
|
||||
- **Namespaces k8s** : `argocd`, `infra`, `monitoring`, `external`
|
||||
- **Hermes data** : `~hermes/` doit résider sur le RAID5 `/srv/data`, pas sur le SSD OS
|
||||
- **Namespaces k8s** : `argocd`, `infra`, `monitoring`, `ai`, `external`
|
||||
- **Hermes data** : profils/données dans `/srv/data/hermes` (NVMe, bind-mount `/home/data`), code dans `/opt/hermes/` (SSD OS)
|
||||
- **RAM compute-02/03** : toujours définir `resources.requests` + `resources.limits` (8 GB RAM, OOM-killer actif)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue