-- Migration v2 des exclusions patching : -- - Liste générale : ajoute *sdcss-kmod* à la base globale (était un override -- HAproxy FL avant). La nouvelle base s'applique à tous les domaines. -- - Exception Flux Libre : remplace la base par UNIQUEMENT *podman* run* *container* -- (les serveurs Flux Libre ont besoin de patcher le reste). -- - Cas spécifique ASM Oracle : base globale + kernel* (à NE PAS mettre à jour). -- - Reset des overrides HAproxy FL (vrpeahbst1/vppeahbst1/vipeahbst1) qui -- étaient à `base + sdcss-kmod` ; désormais ils héritent du domaine Flux Libre. -- Idempotent. -- ─── 1) Nouvelle liste de base (33 patterns avec *sdcss-kmod*) ──────── 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* *sdcss-kmod*' WHERE LOWER(name) <> 'flux libre'; -- ─── 2) Exception Flux Libre : liste réduite ───────────────────────── UPDATE public.domains SET default_excludes = '*podman* run* *container*' WHERE LOWER(name) = 'flux libre'; -- ─── 3) Reset des overrides HAproxy FL (héritent désormais du domaine) ─ UPDATE public.servers SET patch_excludes = NULL WHERE LOWER(hostname::text) IN ('vrpeahbst1', 'vppeahbst1', 'vipeahbst1'); -- ─── 4) Cas spécifique ASM Oracle : base + kernel* ─────────────────── 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* *sdcss-kmod*'; BEGIN UPDATE public.servers SET patch_excludes = base_excludes || ' kernel*' WHERE LOWER(hostname::text) IN ( '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' ); END $$; -- ─── 5) Vérifications (à exécuter manuellement après) ──────────────── -- SELECT name, default_excludes FROM domains ORDER BY name; -- SELECT hostname, patch_excludes FROM servers -- WHERE patch_excludes LIKE '%kernel*%' OR LOWER(hostname::text) IN -- ('vrpeahbst1','vppeahbst1','vipeahbst1') ORDER BY hostname; -- SELECT s.hostname, vs.effective_excludes FROM servers s -- JOIN v_servers vs ON vs.id = s.id -- WHERE s.application_id IN (SELECT id FROM applications WHERE LOWER(domain)='flux libre') -- ORDER BY s.hostname LIMIT 20;