wulf-pulse/migrations/035_update_veeam_pipeline_b2_fetch.sql

51 lines
2.2 KiB
MySQL
Raw Permalink Normal View History

-- Migration 035: Update Veeam Backup Failure pipeline to use B2 storage for diagnostic results
-- Inserts a fetch_b2_result step after rmm_get_job_results and updates references
DO $$
DECLARE
v_pipeline_id INTEGER;
BEGIN
SELECT id INTO v_pipeline_id FROM webhook_pipelines WHERE name = 'Veeam Backup Failure → Smart Diagnostic Ticket';
IF v_pipeline_id IS NULL THEN
RAISE NOTICE 'Veeam pipeline not found — skipping';
RETURN;
END IF;
-- Shift steps 10-13 → 11-14 to make room for the new fetch_b2_result step at position 10
-- Update in reverse order to avoid unique constraint conflicts on (pipeline_id, step_order)
UPDATE pipeline_steps SET step_order = 14 WHERE pipeline_id = v_pipeline_id AND step_order = 13;
UPDATE pipeline_steps SET step_order = 13 WHERE pipeline_id = v_pipeline_id AND step_order = 12;
UPDATE pipeline_steps SET step_order = 12 WHERE pipeline_id = v_pipeline_id AND step_order = 11;
UPDATE pipeline_steps SET step_order = 11 WHERE pipeline_id = v_pipeline_id AND step_order = 10;
-- Insert fetch_b2_result step at position 10
INSERT INTO pipeline_steps (pipeline_id, step_order, step_type, name, config)
VALUES (
v_pipeline_id, 10, 'fetch_b2_result', 'Download diagnostic results from B2',
'{
"object_key": "{{context.job_results}}",
"output_key": "diagnostic_results"
}'::jsonb
);
-- Update AI analyze step (now step 11): replace {{context.job_results}} with {{context.diagnostic_results}}
UPDATE pipeline_steps
SET config = jsonb_set(
config,
'{prompt}',
to_jsonb(replace(config->>'prompt', '{{context.job_results}}', '{{context.diagnostic_results}}'))
)
WHERE pipeline_id = v_pipeline_id AND step_type = 'ai_analyze';
-- Update create_ticket step (now step 12): replace {{context.job_results}} with {{context.diagnostic_results}}
UPDATE pipeline_steps
SET config = jsonb_set(
config,
'{template,description}',
to_jsonb(replace(config->'template'->>'description', '{{context.job_results}}', '{{context.diagnostic_results}}'))
)
WHERE pipeline_id = v_pipeline_id AND step_type = 'create_ticket';
RAISE NOTICE 'Veeam pipeline updated: inserted fetch_b2_result at step 10, shifted steps 10-13 → 11-14, updated references';
END $$;