feat(excludes): nouvelle liste exclusions par domaine (sdcss-kmod base + Flux Libre minimal + ASM Oracle kernel*)
Aligne les exclusions sur les nouvelles regles SANEF: - Base globale: 32 patterns precedents + *sdcss-kmod* (anciennement override HAproxy FL). S applique a TOUS les domaines sauf Flux Libre. - Domaine Flux Libre: liste reduite a *podman* run* *container* uniquement (les autres patterns doivent etre patches sur ces serveurs). - ASM Oracle (~50 hosts hardcodes): base globale + kernel* (kmod-redhat-oracleasm doit suivre le kernel ASM, ne PAS mettre a jour le kernel hote). - Reset des overrides serveurs HAproxy FL (vrpeahbst1/vppeahbst1/vipeahbst1) qui pointaient vers base + sdcss-kmod ; ils heritent maintenant du domaine FL.
This commit is contained in:
parent
29f6153370
commit
626f8898e1
74
migrate_patch_excludes_v2_20260507.sql
Normal file
74
migrate_patch_excludes_v2_20260507.sql
Normal file
@ -0,0 +1,74 @@
|
||||
-- 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;
|
||||
Loading…
Reference in New Issue
Block a user