Commit graph

122 commits

Author SHA1 Message Date
alkatrazz
5bcf95b82e docs: réorganisation complète de admin/ en 4 domaines thématiques
Structure avant : 20 fichiers à plat dans admin/ — difficile à naviguer.
Structure après : 4 sous-répertoires thématiques + index clair.

Réorganisation :
  admin/ops/    → cluster.md, ansible.md, systeme.md
  admin/infra/  → reseau.md, nfs.md, dnsmasq.md, ssh.md
  admin/k8s/    → talos.md, argocd.md, monitoring.md
  admin/ia/     → llama_server.md, rocm.md, litellm.md, hermes.md

Suppressions :
  - ask-agent.md : contenu fusionné dans ia/hermes.md (section ask-agent)
  - lm_studio.md : obsolète (LM Studio remplacé par llama-server)

Mises à jour contenu :
  - ia/hermes.md : fusion complète avec ask-agent.md (profils, skills,
    SOUL.md, ask-agent CLI, dépannage) — doc unifiée sans redondance
  - ops/cluster.md : section GitOps réduite à 2 lignes + lien argocd.md
  - incidents.md : tableau de résumé en tête + 4 nouveaux incidents
    (Grafana OOMKilled, AlertManager null receiver, llama-server 501,
    nftables règle après drop)
  - README.md : réécrit — navigation rapide + index par domaine

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 00:47:58 +02:00
alkatrazz
7db7aa2e9d docs: mise à jour documentation monitoring + llama-server + réseau
- monitoring.md : refonte complète — architecture corrigée (ROCm via
  textfile_collector port 9100, plus de port 9101), dashboards Grafana
  (funk-k8s1, funk-inf1, funk-ai01) avec URLs directes et workflow
  GitOps, tableaux de règles d'alertes par catégorie, commandes admin
  Prometheus/AlertManager, structure fichiers annotée
- llama_server.md : mis à jour Qwen3-8B (depuis Qwen2.5-14B), ajout
  des 3 instances systemd (GPU 1234 + CPU system 1236 + CPU monitor
  1237), section Métriques Prometheus avec flag --metrics obligatoire
  et liste des métriques llamacpp réelles, performances mises à jour
- reseau.md : ajout ports 9100 (node_exporter) et 9093 (alertmanager
  webhook) dans la table nftables, note sur l'ordre des règles
  (insert avant drop, pas add)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 23:10:56 +02:00
alkatrazz
0cd45b7be9 docs: monitoring — URLs Prometheus et AlertManager accessibles via Ingress
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 22:31:46 +02:00
alkatrazz
c9fd0d2812 feat: funk-cluster start --k8s — uncordon + attente ArgoCD
Après funk-stop --k8s, les nœuds reviennent Ready mais SchedulingDisabled
(cordon stocké dans etcd). Sans uncordon, tous les pods restent Pending.

Ajouts dans funk-start --k8s :
- kubectl uncordon sur les nœuds SchedulingDisabled uniquement (idempotent)
- Attente ArgoCD Running (jusqu'à 3 min) — confirme que le GitOps est opérationnel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 22:22:12 +02:00
alkatrazz
a631a4ab6c feat: funk-cluster — arrêt k8s propre avec drain + vérification NFS
Remplace le talosctl shutdown immédiat par une séquence en 6 étapes :
1. kubectl cordon tous les nœuds (empêche rescheduling)
2. kubectl drain compute-02/03 (SIGTERM pods, 30s grace, PVCs NFS libérés)
3. kubectl drain compute-01 (ArgoCD, system pods)
4. Vérification NFS : ss confirme plus de sessions :2049 actives
5. talosctl shutdown (halt propre, plus rien ne tourne)
6. Attente extinction ping

Prometheus et Grafana ont 30s pour flusher WAL/SQLite avant terminaison.
storage-01 (NFS server) est éteint en dernier une fois la vérification passée.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 22:20:14 +02:00
alkatrazz
8b6f906a89 docs: kubernetes — section NFS provisioner complète (install, usage, admin, pièges)
Ajout section 16 (NFS provisioner) dans le guide d'installation k8s :
- Architecture du provisionnement dynamique (StorageClass → NFS RAID5)
- Prérequis storage-01, fichiers de config, pattern App-of-Apps
- Utilisation dans les pods (PVC, Deployment, Grafana, Prometheus)
- Section admin : diagnostics, PVC manuels, cleanup, re-sync ArgoCD

Ajout dans section admin courante : commandes de gestion NFS, tableau
diagnostics PVC Pending, procédure test PVC manuel.

Ajout dans pièges : StorageClass not found, SharedResourceWarning (boucle
nom ArgoCD), StatefulSet volumeClaimTemplate immutable, PodSecurity baseline.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 22:10:26 +02:00
alkatrazz
f5073081ef docs: monitoring — persistance NFS active (Prometheus 20Gi + Grafana 2Gi)
Mise à jour admin/monitoring.md : section persistance ajoutée avec
répertoires NFS réels sur RAID5, avertissement "désactivée" retiré.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 21:58:28 +02:00
alkatrazz
727d7351eb docs: ArgoCD + monitoring — documentation complète
- admin/argocd.md (NEW) : installation bootstrap, principe GitOps, structure
  k8s/, pattern App of Apps, déployer une app/chart Helm, commandes utiles,
  dépannage (OutOfSync, SSH key, field schema, StatefulSet PVC)
- admin/monitoring.md (NEW) : accès+comptes Grafana/Prometheus/AlertManager,
  architecture scrape, node_exporter storage-01+gpu-01, ROCm sysfs collector,
  llama-server /metrics, webhook AlertManager→Hermes, admin Grafana+Prometheus,
  dashboards recommandés, points d'attention (persistence, RAM, Talos)
- admin/cluster.md : section GitOps ArgoCD ajoutée
- admin/README.md : index mis à jour avec argocd.md et monitoring.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 21:04:39 +02:00
alkatrazz
00d10234f9 feat: amélioration routing ask-agent + identité SOUL.md profils
- SOUL.md funk-ai : tableaux détaillés system vs monitor (quand appeler
  chaque agent avec exemples concrets), section delegate_task vs ask-agent
- SOUL.md system : rôle clarifié (traitement texte, PAS analyse santé),
  format de réponse explicite (verdict direct, pas de préambule)
- hermes-agent.service : SupplementaryGroups=systemd-journal pour que
  journalctl fonctionne sans sudo depuis le Terminal de Hermes
- Ansible common : admin_user (alkatrazz) ajouté au groupe systemd-journal
- admin/hermes.md : section SOUL.md complète (déploiement, contenu, profils)
- admin/ask-agent.md : distinction system vs monitor documentée avec
  tableau et exemples, note /no_think, monitor réservé supervision

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 18:59:48 +02:00
alkatrazz
9f027cb833 docs: ask-agent + skills Hermes — documentation complète
- admin/ask-agent.md (nouveau) : doc détaillée ask-agent CLI,
  architecture 4 agents, skill agent-delegation, gestion skills
  dans les profils Hermes, dépannage, points d'attention
- admin/hermes.md : section Skills avec point d'attention double
  emplacement (skills/ + profiles/<profil>/skills/), tableau skills
  custom Funk, restart obligatoire après modif skill
- admin/litellm.md : flux et modèles mis à jour (qwen3-8b,
  qwen3-1.7b-system/monitor), lien vers ask-agent.md
- admin/README.md : entrée ask-agent.md ajoutée

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 16:37:36 +02:00
alkatrazz
515933c949 docs: suppression LM Studio — cluster utilise llama-server ROCm
- CLAUDE.md : état mis à jour (2026-05-13), gpu-01 → llama-server,
  setup IA → endpoints réels (llama-server + LiteLLM), rôles Ansible
  à jour, suppression CLI LM Studio
- admin/lm_studio.md : marqué supprimé du cluster, lms CLI conservée
  pour téléchargement modèles uniquement, /opt/lmstudio disparu
- admin/nfs.md : section modèles mise à jour (plus de symlink lmstudio)
- admin/rocm.md : debug section → llama-server, section Vulkan supprimée
- admin/README.md : description lm_studio.md mise à jour

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 16:21:51 +02:00
alkatrazz
0c89d262d1 docs: cluster.md — procédures allumage/extinction détaillées
Ajout des procédures pas-à-pas pour démarrer/éteindre avec et sans k8s.
Note sur WOL compute nodes (BIOS non configuré → allumage manuel).
Mise à jour section aliases → fonctions bash avec support --k8s.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 15:11:47 +02:00
alkatrazz
763b29495e docs: incident EXT4 2026-05-13 + hermes-agent nouvelle archi SSD
- incidents.md : incident corruption EXT4 après arrêt brutal (655 erreurs,
  e2fsck, réinstall hermes-agent, nouveau chemin /opt/hermes/.hermes/)
- hermes.md : arborescence mise à jour (code SSD vs données RAID5),
  chemins pip/venv/frontend corrigés
- Ansible role hermes_agent : venv path et wrapper mis à jour
  (hermes_home/.hermes/hermes-agent/venv/ au lieu de hermes_data_dir/)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 14:49:53 +02:00
alkatrazz
a1826fe339 docs: gestion cluster + script funk-cluster mis à jour
- admin/cluster.md : nouveau guide démarrage/arrêt (funk-start/stop/--k8s)
- admin/README.md : lien vers cluster.md
- admin/systeme.md : services llama-server mis à jour (GPU + 2 CPU)
- ansible/roles/litellm/files/funk-cluster : script versionné
  (talosctl fix, storage-01 shutdown, --k8s optionnel, stop timeout)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 02:11:21 +02:00
alkatrazz
07b94fe8a8 docs: profils Hermes multi-modèles + progression 12-13 mai
- admin/hermes.md : section profils complète (funk-ai/brain/system/monitor),
  architecture multi-modèles gpu-01, arborescence profiles/
- PROGRESS.md : entrées 2026-05-12 et 2026-05-13

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 01:52:58 +02:00
alkatrazz
0ce6be04bb docs: réorganisation install/ — guides séparés par machine
- admin/install/README.md        — index + ordre d'installation recommandé
- admin/install/storage-01.md   — AlmaLinux + RAID5 + Ansible + stack IA (Hermes/LiteLLM/Qdrant/PostgreSQL)
- admin/install/gpu-01.md       — AlmaLinux + ROCm + llama-server (RX 6700XT, HSA_OVERRIDE)
- admin/install/kubernetes.md   — ex admin/installe.md (Talos + MetalLB + Traefik)
- admin/README.md               — séparation install/ vs référence opérationnelle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 23:03:05 +02:00
alkatrazz
0bdfe49d75 docs: guide d'installation complet cluster Talos/k8s
Couvre de A à Z : outils, SOPS/age, talconfig, installation des 3 nœuds,
bootstrap etcd, MetalLB, Traefik, DNS wildcard. Section pièges documentant
toutes les erreurs rencontrées lors de l'installation réelle.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 22:51:03 +02:00
alkatrazz
c8a1faa632 feat: MetalLB + Traefik + wildcard DNS lab.local
- MetalLB pool 192.168.10.200-230 (L2 mode)
- Traefik LoadBalancer sur 192.168.10.200 (HTTP/HTTPS)
- dnsmasq wildcard *.lab.local → 192.168.10.200
- Fix Flannel CrashLoopBackOff : ClusterRoleBinding corrigée (kube-flannel → kube-system)
- Doc talos.md : procédure complète MetalLB + Traefik + pièges Flannel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 22:45:06 +02:00
alkatrazz
bb72145365 feat(talos): bootstrap Kubernetes cluster funk (3 nodes, v1.33.1)
- Add talconfig.yaml with compute-01/02/03 (nvme0n1, Flannel CNI)
- Add SOPS/age encryption for talsecret.sops.yaml
- Add patches: NTP/DNS → storage-01, kubelet reserved for 8GB workers
- Fix nftables: open DHCP port 67 for cluster LAN
- Add dnsmasq DHCP with static leases for all 3 compute nodes
- Add admin/talos.md: full install procedure + admin commands
- Install kubectl + talosctl on storage-01

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 22:11:38 +02:00
alkatrazz
a87d1baf76 docs(hermes): add update procedure and post-update checks
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 20:28:27 +02:00
alkatrazz
6d375da7b2 docs: add Funk/ reference docs and update hermes TUI instructions
- Remove Funk/ from .gitignore (repo is private)
- Add HOMELAB.md and agent configs for Hermes context
- Update hermes TUI doc: must run as hermes user from /srv/data/hermes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 19:51:42 +02:00
alkatrazz
dca71144d6 docs(admin): add ops documentation and fix hermes dashboard service
- Remove admin/ from .gitignore (repo is now private)
- Add --tui flag to hermes-dashboard.service template
- Document hermes-tui wrapper, dashboard access, TUI usage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 18:50:43 +02:00