Watchdog
$_vv_wd_me . '_WATCHDOG_SCAN_IGNORE', 'kind' => 'list', 'check' => false,
'title' => 'Scan ignore', 'unit' => '',
'hint' => 'Left alone completely — no strikes, no restarts, no unhealthy or OOM reports. '
. 'For containers you knowingly run broken or stopped. It silences real faults as '
. 'readily as noise, so it is the wrong tool for one that is merely loud.'],
['key' => $_vv_wd_me . '_WATCHDOG_CONTAINERS', 'kind' => 'map', 'check' => true,
'title' => 'Memory limits (Tier 1)', 'unit' => 'MB',
'hint' => 'Restarted when it holds more than this. Tier 1 is per container and acts before '
. 'any pressure tier does.'],
['key' => $_vv_wd_me . '_RW_PAUSE_CONTAINERS', 'kind' => 'list', 'check' => true,
'title' => 'Pause at medium pressure', 'unit' => '',
'hint' => 'Paused — not stopped — while RAM sits below the medium threshold, and resumed on '
. 'recovery. Safe for anything that can lose a few minutes.'],
['key' => $_vv_wd_me . '_RW_STOP_CONTAINERS', 'kind' => 'list', 'check' => true,
'title' => 'Stop at hard pressure', 'unit' => '',
'hint' => 'Stopped outright at the hard threshold, and not restarted automatically. The last '
. 'step before the memory shutdown.'],
['key' => $_vv_wd_me . '_WATCHDOG_REQUIRED_CONTAINERS', 'kind' => 'list', 'check' => true,
'title' => 'Required', 'unit' => '',
'hint' => 'Must be running. Missing is a strike whether or not the container is being '
. 'watched for anything else.'],
];
$_vv_wd_fields = [];
foreach (vv_conf_all_groups($_vv_wd_file) as $_g) {
foreach ($_g['fields'] as $_f) $_vv_wd_fields[$_f['key']] = $_f;
}
$_vv_wd_lists = [];
foreach ($_vv_wd_defs as $_d) {
$_f = $_vv_wd_fields[$_d['key']] ?? null;
if (!$_f) continue; // key absent from this host's conf — draw nothing
$_vv_wd_lists[] = $_d + [
'file' => $_f['file'] ?? $_vv_wd_file,
'type' => $_f['type'], // assoc_array | array — the writer splices on this
'body' => $_f['value'],
];
}
?>
'varaverk',
'compact' => true,
'title' => 'Assistant',
'scopeLabel' => 'Watchdog',
'empty' => 'Ask about a strike, a restart, or a threshold on this page. '
. 'Why? on any strike asks against the orchestrator\'s log.',
'placeholder' => 'Ask about what is on this page…',
]); ?>