Skip to content

v2.37.0

Choose a tag to compare

@chasset chasset released this 18 Jun 05:26
f32f758

2.37.0 (2026-06-17)

Features

  • cluster: fonction shell (pose KUBECONFIG), -h groupé, next confirme (086fe04)
  • cluster: outil déclaratif — next/remove/refresh, menu de couches, santé, isolation banc↔prod durcie (22a4202)
  • discover: lire le node-side (CRI/CNI/disques) via node_exec (ADR 0081 étape 3) (ce46b59)
  • discover: lire le node-side (CRI/CNI/disques/durcissement) via node_exec (ADR 0081 étape 3) (cf1f086)
  • discover: rapatrier le kubeconfig depuis le control-plane (ADR 0081 étape 2) (d10517c)
  • discover: rapatrier le kubeconfig depuis le control-plane (ADR 0081 étape 2) (26dd908)
  • gouvernance: notations & normes externes — doctrine de badges (ADR 0080) (2a29bb4)
  • next: gate de santé active après montage — attendre le dernier maillon Ready (#355) (0786064)
  • next: gate de santé active après montage (#355) (b971997)
  • next: menu des couches montables — choix d'ordre (deps réelles vs convention) (83f5bff)
  • node-exec: brique node_exec + résolution inventaire (ADR 0081 étape 1) (ba29791)
  • node-exec: brique node_exec + résolution inventaire (ADR 0081 étape 1) (fd7f27e)
  • ownership: graphe d'appartenance + remove --dry-run (découverte, ADR 0079 / #372) (81e4990)
  • ownership: graphe d'appartenance + remove --dry-run découverte (slice 1 de #372) (26c4014)
  • refresh: --prune — retirer les couches déclarées mais absentes du réel (#357) (ace71c3)
  • refresh: --prune (retirer les couches absentes du réel) (#357) (4f8978b)
  • refresh: cluster refresh — réaligner topology.yaml sur le réel voulu (ADR 0076) (0a0af05)
  • remove: cluster remove — supprimer une couche et sa clôture (inverse de next, ADR 0054) (db00592)
  • remove: découverte par DÉFAUT + finalize des ns wedgés (ADR 0079 étape A) (b253508)
  • remove: rollback par découverte d'appartenance — défaut, finalize ns (ADR 0079, #372 étape A) (38508f6)
  • remove: rollback par découverte d'appartenance (--discover, ADR 0079 slice 2) (9524d21)
  • test: nestor test scenarios --run + signaux de santé des couches Ceph (#227) (2203089)
  • test: nestor test scenarios --run + signaux de santé des couches Ceph (#227) (00dccf7)
  • topology: select pose KUBECONFIG (eval), messages simples, expo effective (5fdbd2a)

Bug Fixes

  • ci,preview: verdir la CI (test banc-dépendant, lychee 0.23, MD028) + warning preview shell≠banc (7656c15)
  • cluster: robustesse KUBECONFIG — /dev/null remplaçable, select non destructif, auto-env (6ae4229)
  • gates: until '.resources | default([])' — ne pas crasher si k8s_info échoue (e553a69)
  • gates: until '.resources | default([])' — ne pas crasher si le k8s_info échoue (1c96fd5)
  • isolation: garde audit-log sur les plays hosts:cloud + test anti-régression (part code de #359) (a0e6aff)
  • isolation: garde audit-log sur tous les plays 'hosts: cloud' + test anti-régression (#359) (e3b4649)
  • isolation: next valide l'inventaire Ansible avant montage — faille banc→prod (ADR 0053) (ca9c4ae)
  • isolation: next vise l'inventaire de la STACK active (banc Lima ≠ prod, ADR 0053) (e360233)
  • lint: lychee.toml — include_fragments en enum "none" (compat lychee ≥ 0.24) (b9a9cab)
  • metrology: émettre par_noeud avec accolades sans espaces (yamllint refuse { ... }) (82201f9)
  • metrology: par_noeud sans espaces dans les accolades (yamllint refuse { ... }) (ebabf14)
  • next: déléguer toute phase sans play unitaire à run-phases.sh (gitops-seed) (33c9947)
  • next: déléguer toute phase sans play unitaire à run-phases.sh (gitops-seed) (f9f7ca6)
  • next: gitops-seed vu fait + next cohérent avec preview (signal + observé) (522947b)
  • next: signal de santé dataops — webserver, pas un deployment dagster inexistant (5cdfbde)
  • next: signal de santé dataops — webserver, pas un deployment dagster inexistant (7f52a4b)
  • node-exec: 3 correctifs révélés par la preuve banc (ADR 0081 étapes 1+3) (b2e993d)
  • node-exec: 3 correctifs révélés par la preuve banc (ADR 0081 étapes 1+3) (1245d64)
  • plan: profil store monte le stockage objet (datalake/RGW) — chemin layers dérivé (9a53d15)
  • plan: profil store monte le stockage objet (datalake/RGW) — chemin layers dérivé (0dd6c7f)
  • preview,next: couche « saine » = dernier maillon READY, pas namespace présent (b565f92)
  • preview: le réel contredit le socle — plus de « ✓ créer les VMs à-jour » sans VM (c0d1606)
  • preview: le réel CONTREDIT le socle — plus de « ✓ créer les VMs à-jour » sans VM (c528b19)
  • preview: signaler un backend orphelin (réel ≠ déclaré) — drift rook-ceph (#356) (d618bde)
  • preview: signaler un backend orphelin réel ≠ déclaré (#356) (c643018)
  • profile: loki_s3_backing/endpoint manquants → monitoring cassé en local-path (f5fe5f1)
  • remove: force les pods possédés qui traînent après suppression des racines (ADR 0079) (ec83d16)
  • remove: force les pods POSSÉDÉS qui traînent après suppression des racines (ADR 0079) (efa4277)
  • remove: rollback conscient du backend — pas d'OBC Ceph en local-path (ADR 0069) (b1cf3b8)
  • remove: rollback-lib — Application atlas-workflows + CR Argo CD à finaliser (58050d5)
  • rollback: débloquer un ns wedgé + clôture résiliente (#361) (dbe4e81)
  • rollback: débloquer un ns wedgé + ne pas abandonner la clôture au 1er échec (#361) (c0c3ded)
  • s3-bucket: idempotence du make-bucket sur SeaweedFS (BucketAlreadyExists) (20bcc58)
  • s3-bucket: supprimer un Job d'init non-réussi avant de le recréer (template immuable) (afd5dbc)
  • topology: message de next clair (sans jargon « 1er drift ») (ebfdcba)
  • topology: next respecte le PLAN de preview (VMs d'abord, phase par phase) (d4368a3)
  • topology: stack select n'imprime l'export que si stdout est capturé (c7db250)

Performance

  • hooks: appeler prettier/commitlint en local (node_modules/.bin) au lieu de pnpm exec (750050c)
  • hooks: pre-commit/pre-push quasi instantanés (binaire local + fichiers du push) (1808d43)
  • hooks: pre-push ne lint que les fichiers du push (prettier/yamllint/shellcheck) (862d770)

Refactor

  • nestor: renommer la CLI cluster → nestor + hygiène ~/.kube/config (ADR 0053) (929d863)
  • nestor: renommer le paquet cluster_topology → nestor (944e555)

Documentation

  • adr-0023: génériser les valeurs prod réelles résiduelles (ADR 0055, RUNBOOK) (aa1f571)
  • adr: 0076 — cluster refresh (réel voulu → déclaration, borné par ADR 0046) (32f58d0)
  • adr: 0077 — cluster next, menu des couches montables (deps réelles vs convention) (c0c3751)
  • adr: 0079 — découverte de l'appartenance réelle (socle commun health + remove) (d1436ba)
  • adr: 0080 — doctrine d'affichage des notations & badges README (06336ef)
  • adr: 0081 socle d'exécution node-side (node_exec) — discover + remove (df30320)
  • adr: 0081 socle d'exécution node-side (node_exec) — discover + remove (8439675)
  • audit: passage notations & normes externes (hors cyber) + journal (b035945)
  • audit: passage notations cyber + fusion des passages en une famille (ADR 0078, supersède 0067) (6d3774a)
  • bonnes-pratiques: mapper FAIR et OpenGitOps aux preuves (cd4c29a)
  • exposition: clarifier l'avertissement TLS (CA interne, attendu) (52e5a31)
  • readme: rangée de badges groupée par thématique (ADR 0080) (3818629)