From b2f04c247fd66a9b2144d19b85c191e3b7e8f674 Mon Sep 17 00:00:00 2001 From: Admin MPCZ Date: Mon, 4 May 2026 16:43:37 +0200 Subject: [PATCH] feat(patching): migration excludes alignee sur wiki SANEF (33 patterns base + ASM kernel + HAproxy FL sdcss-kmod) - B3.1+B3.2 --- migrate_patch_excludes_wiki.sql | 70 +++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 migrate_patch_excludes_wiki.sql diff --git a/migrate_patch_excludes_wiki.sql b/migrate_patch_excludes_wiki.sql new file mode 100644 index 0000000..055811c --- /dev/null +++ b/migrate_patch_excludes_wiki.sql @@ -0,0 +1,70 @@ +-- Migration : alignement des excludes patching sur le wiki SANEF +-- Source : DokuWiki SANEF "Patch Linux" — étape 6 "Première vague de patching" +-- + section "Procédures de mises à jour Linux cas spécifiques" +-- +-- Sémantique : v_servers.effective_excludes = COALESCE(s.patch_excludes, +-- de.patch_excludes, d.default_excludes) → COALESCE = override. +-- Donc pour les serveurs avec règles spécifiques, on stocke +-- la liste globale + leur addition dans servers.patch_excludes. +-- Idempotent. + +-- ─── B3.1 : liste globale (33 patterns) sur tous les domaines ─────────── +UPDATE public.domains +SET default_excludes = +'*mongodb* *mysql* *postgres* *mariadb* *oracle* *pgdg* *php* *java* ' +'*redis* *elasticsearch* *nginx* *mod_ssl* *haproxy* *certbot* ' +'*python-certbot* *docker* *podman* *centreon* *qwserver* *ansible* ' +'*node* *tina* *memcached* *nextcloud* *pgbouncer* *pgpool* *pgbadger* ' +'*psycopg2* *barman* *kibana*'; + +-- ─── B3.2 : cas spécifiques par groupe applicatif ─────────────────────── +DO $$ +DECLARE + base_excludes text := +'*mongodb* *mysql* *postgres* *mariadb* *oracle* *pgdg* *php* *java* ' +'*redis* *elasticsearch* *nginx* *mod_ssl* *haproxy* *certbot* ' +'*python-certbot* *docker* *podman* *centreon* *qwserver* *ansible* ' +'*node* *tina* *memcached* *nextcloud* *pgbouncer* *pgpool* *pgbadger* ' +'*psycopg2* *barman* *kibana*'; +BEGIN + -- HAproxy Flux Libre : ajouter *sdcss-kmod* + UPDATE public.servers SET patch_excludes = base_excludes || ' *sdcss-kmod*' + WHERE LOWER(hostname::text) IN ('vrpeahbst1', 'vppeahbst1', 'vipeahbst1'); + + -- Oracle ASM : NE PAS mettre à jour le kernel (kmod-redhat-oracleasm) + -- Doit correspondre à la version d'ASM installée. + UPDATE public.servers SET patch_excludes = base_excludes || ' kernel*' + WHERE LOWER(hostname::text) IN ( + -- CentOS 7 / RHEL 8 ASM stockage (wiki "ASM stockage") + 'lamarrac1','lamarrac2','lamarrac3','lamarrac4', + 'srdsibora1','srdsibora2', + 'lptrabgas1', + 'lragtbpla1','lpaiigrid1', + 'lamaprac1','lamaprac2','lamaprac3','lamaprac4', + 'lampadp1','lampadp2','lampadv1', + 'lampasu1','lampasu2', + 'lampcrm1','lampdec1','lampfin1','lampfin3','lampoct1','lamppea1', + 'lamppla1','lamppla2', + 'lamrsip1','lamrsip2', + 'lamtinf1','lamtpfe1', + 'lpagtbpla1', + 'lpemvbaemv1','lpemvbpemv1','lpemvbpemv2', + 'lpsimbpfe1', + 'lraiibora1', + 'lremvbremv1','lremvbremv2', + 'rmila150','rmilgmo3','rmilsas1', + 'rsmiged1','rsmigmo1','rsmipat1','rsmisar2', + 'srtrabgas1', + 'vpemvgrid1','vpnapamed1' + ); + + -- Note : kibana déjà dans la base liste → vppatakib1 (SI Patrimoine) + -- couvert sans règle additionnelle. + -- Note : Scoop sur Debian (vrscobpf1, vrscouevs1) utilise apt-mark hold, + -- pas yum → hors périmètre de cette migration. +END $$; + +-- ─── Vérification (à exécuter manuellement après) ─────────────────────── +-- SELECT hostname, patch_excludes FROM servers +-- WHERE patch_excludes LIKE '%sdcss-kmod%' OR patch_excludes LIKE '%kernel*%' +-- ORDER BY hostname;