-- +goose Up
-- +goose StatementBegin

-- Per-Backend WebSocket-Toggle. Wenn aktiv rendert der HAProxy-Renderer
-- `timeout tunnel 1h` IN dem Backend-Block, sodass HTTP-Upgrade-
-- Verbindungen (noVNC, VS-Code-SSH, AsyncAPI-Streams) nicht vom
-- defaults-Timeout-Server=60s gekappt werden. Backends ohne WS-Workload
-- behalten kurze Timeouts — gut für Connection-Hygiene.

ALTER TABLE backends
    ADD COLUMN IF NOT EXISTS websocket BOOLEAN NOT NULL DEFAULT FALSE;

-- Erhalte das alte Verhalten für bekannte WebSocket-Pools: alles was
-- Proxmox / vm-Pool / Konsole im Namen hat bekommt websocket=true.
-- Falls der Operator das nicht will → einfach im UI ausschalten.
UPDATE backends
   SET websocket = TRUE
 WHERE name ILIKE '%vm%pool%'
    OR name ILIKE '%proxmox%'
    OR name ILIKE '%console%'
    OR name ILIKE '%vnc%';

-- +goose StatementEnd

-- +goose Down
-- +goose StatementBegin
ALTER TABLE backends DROP COLUMN IF EXISTS websocket;
-- +goose StatementEnd
