Auth stack certs tab, arrs db fallbacks, cert monitor cache, conf parser fix
- Auth stack: fold cert monitor into Auth Stack page as fourth tab (Certs); remove standalone cert page and top-level tab - cert_monitor.sh: write JSON status cache to State_Files/cert_status.json after each run; expose per-domain days/expiry via _CERT_DAYS/_CERT_EXPIRY globals - api/cert.php: new — serves cached cert status; falls back to configured domains as UNKN when no cache exists; POST action=run triggers live check - arrs db fallbacks: vv_arr_cleanup_stats/discovery_stats/recovery_stats now read from data/*.db files when log JSON files don't yet exist - config.php vv_conf_vars(): unescape bash \$ → $ so passwords with dollar signs read correctly from conf files - host1.conf: fill in HOST1_NPM_USER/PASS and HOST1_LLDAP_USER/PASS - Partnership adapter pattern: Unraid-specific container logic extracted to Plugin/unraid/Partnership/; platform-agnostic structure stays in Partnership/ - First-run wizard: uniform multi-step flow for all hosts; HOST2 pull moved to checklist; auto SSH keygen and API key creation on save - api/checklist.php: live setup checklist with pull_master action - Fullscreen toggle: hide Unraid header/menu; state persists via localStorage
This commit is contained in:
@@ -151,7 +151,7 @@ function vv_cpu_per_core(): array {
|
||||
$raw[$m[1]] = [(int)$m[2],(int)$m[3],(int)$m[4],(int)$m[5],(int)$m[6],(int)$m[7],(int)$m[8]];
|
||||
}
|
||||
|
||||
$stateFile = '/tmp/vv_cpu_stat.json';
|
||||
$stateFile = VV_CACHE_DIR . '/vv_cpu_stat.json';
|
||||
$prev = file_exists($stateFile) ? (json_decode(file_get_contents($stateFile), true) ?: []) : [];
|
||||
// Atomic write — concurrent fast/slow polls read a consistent snapshot
|
||||
$tmp = $stateFile . '.tmp';
|
||||
@@ -292,7 +292,7 @@ function vv_network_stats(): array {
|
||||
break;
|
||||
}
|
||||
|
||||
$stateFile = '/tmp/vv_net_stat.json';
|
||||
$stateFile = VV_CACHE_DIR . '/vv_net_stat.json';
|
||||
$now = ['rx' => $rxBytes, 'tx' => $txBytes, 'ts' => microtime(true)];
|
||||
$prev = file_exists($stateFile) ? (json_decode(file_get_contents($stateFile), true) ?: []) : [];
|
||||
$tmp = $stateFile . '.tmp';
|
||||
@@ -536,7 +536,7 @@ function vv_array_disks(): array {
|
||||
}
|
||||
|
||||
function vv_disk_io_rates(): array {
|
||||
$snapFile = '/tmp/vv_diskio_snap.json';
|
||||
$snapFile = VV_CACHE_DIR . '/vv_diskio_snap.json';
|
||||
$now = microtime(true);
|
||||
|
||||
// Read current whole-disk stats from /proc/diskstats
|
||||
@@ -631,7 +631,7 @@ function vv_remote_hosts_stats(): array {
|
||||
continue;
|
||||
}
|
||||
|
||||
$cacheFile = "/tmp/vv_remote_{$id}.json";
|
||||
$cacheFile = VV_CACHE_DIR . "/vv_remote_{$id}.json";
|
||||
if (file_exists($cacheFile) && (time() - filemtime($cacheFile)) < 30) {
|
||||
$cached = json_decode(file_get_contents($cacheFile), true);
|
||||
if ($cached) { $results[$id] = $cached; continue; }
|
||||
@@ -727,7 +727,7 @@ function vv_parse_bash_array(string $raw, string $varName): array {
|
||||
|
||||
function vv_transcode_sessions(): array {
|
||||
$v = vv_conf_vars();
|
||||
$stateDir = rtrim($v['STATE_DIR'] ?? '/boot/config/plugins/varaverk/State_Files', '/');
|
||||
$stateDir = rtrim($v['STATE_DIR'] ?? STATE_DIR, '/');
|
||||
$stateFile = "$stateDir/transcode_state.db";
|
||||
if (!file_exists($stateFile)) return ['available' => false];
|
||||
|
||||
@@ -773,7 +773,7 @@ function vv_transcode_sessions(): array {
|
||||
// Last cleanup values from transcode management log
|
||||
$lastRdFreed = null;
|
||||
$lastSsdFreed = null;
|
||||
$logFile = '/var/log/varaverk/Orchestrators/transcode_management.log';
|
||||
$logFile = LOG_DIR . '/Orchestrators/transcode_management.log';
|
||||
if (file_exists($logFile)) {
|
||||
$lines = file($logFile, FILE_IGNORE_NEW_LINES) ?: [];
|
||||
foreach (array_reverse($lines) as $line) {
|
||||
|
||||
Reference in New Issue
Block a user