Diff -- /var/www/vhosts/3dshawn.com/site1/TEMPLATES/settings.html

O Operator
Diff

/var/www/vhosts/3dshawn.com/site1/TEMPLATES/settings.html

modified on local at 2026-07-12 00:35:30

Added
+8
lines
Removed
-0
lines
Context
101
unchanged
Blobs
from 7f92daebf65c
to cec92d338ed6
Restore this content →
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.
11<div class="page-head">
22 <span class="page-eyebrow"><span class="dot"></span> Configure</span>
33 <h1 class="page-title">Settings</h1>
44 <p class="page-subtitle">Installation-level configuration. Read from <code>/etc/drift_sense/drift_sense.conf</code> -- edit that file to change values, then restart the daemons.</p>
5</div>
6
7<div class="ds-guide">
8 <div class="dsg-icon">i</div>
9 <div>
10 <span class="dsg-title">What's live-editable vs static:</span>
11 The <strong>global scan settings</strong> below (ignore list, file-type filter, max size) are DB-backed and take effect on the very next scanner tick &mdash; no daemon restart needed. Global ignore patterns are <strong>UNION'd</strong> <span class="ds-help" data-help-title="UNION vs override" data-help-body="For ignore patterns: both global and per-monitor lists apply, so if global says <code>*.log</code> and a monitor says <code>tmp/</code>, both are excluded. For file-type filter: per-monitor wins if set (empty = fall back to global). For max file size: per-monitor wins if set."></span> with each monitor's own list. Anything under <em>Resolved configuration</em> requires editing the conf file.
12 </div>
513</div>
614
715<div class="dash-grid" style="grid-template-columns:repeat(3,1fr);margin-bottom:16px">
816 <div class="module glow-teal">
917 <div class="module-head"><div class="left"><div class="module-title">BLOB_STORE size</div><span class="module-subtitle">Unique content states.</span></div></div>
1018 <div class="module-body kpi kpi-teal"><div class="num">$blob_ct</div><div class="lbl">unique blobs</div></div>
1119 </div>
1220 <div class="module glow-emerald">
1321 <div class="module-head"><div class="left"><div class="module-title">Compression ratio</div><span class="module-subtitle">Uncompressed vs on-disk.</span></div></div>
1422 <div class="module-body kpi kpi-emerald"><div class="num">$ratio</div><div class="lbl">savings</div></div>
1523 </div>
1624 <div class="module glow-sky">
1725 <div class="module-head"><div class="left"><div class="module-title">Dedup references</div><span class="module-subtitle">How many FILE_CHANGES rows point at BLOB_STORE.</span></div></div>
1826 <div class="module-body kpi kpi-sky"><div class="num">$total_refs</div><div class="lbl">references</div></div>
1927 </div>
2028</div>
2129
2230<div class="dash-grid" style="grid-template-columns:1fr 1fr;margin-bottom:16px">
2331 <div class="module glow-sky">
2432 <div class="module-head"><div class="left">
2533 <div class="module-title">Auto-purge plan (30d)</div>
2634 <span class="module-subtitle">Dry-run runs daily at 03:15 &mdash; <a href="/purge_log.cgi" style="color:var(--accent-hi)">full log</a></span>
2735 </div></div>
2836 <div class="module-body kpi kpi-sky">
2937 <div class="num">$purge_dry_ct</div>
3038 <div class="lbl">blobs would be freed</div>
3139 <div class="sub"><strong>$purge_dry_bytes</strong> reclaimable &middot; last run <span class="ts" data-ts="$last_purge_epoch" data-fmt="relative">$last_purge_h</span></div>
3240 </div>
3341 </div>
3442 <div class="module glow-amber">
3543 <div class="module-head"><div class="left">
3644 <div class="module-title">Live purges (30d)</div>
3745 <span class="module-subtitle">Actual disk reclaimed once live mode is on.</span>
3846 </div></div>
3947 <div class="module-body kpi kpi-amber">
4048 <div class="num">$purge_live_ct</div>
4149 <div class="lbl">blobs deleted</div>
4250 <div class="sub"><strong>$purge_live_bytes</strong> reclaimed</div>
4351 </div>
4452 </div>
4553</div>
4654
4755[if:$saved]
4856<div class="banner banner-ok" style="margin:0 0 16px;padding:10px 14px;border-radius:10px;background:rgba(52,211,153,.10);border:1px solid rgba(52,211,153,.35);color:#a7f3d0;font-size:13px">
4957 Global scan settings saved. Applies to the very next scanner tick.
5058</div>
5159[/if]
5260
5361<div class="module glow-amber" style="margin-bottom:16px">
5462 <div class="module-head"><div class="left">
5563 <div class="module-icon"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg></div>
5664 <div class="module-title">Global scan settings</div>
5765 <span class="module-subtitle">Applied to every monitor -- portfolio-wide. Ignore patterns are UNION'd with each monitor's own list. File-type filter is used only when a monitor's own filter is empty.</span>
5866 </div></div>
5967 <div class="module-body">
6068 <form method="post" action="/settings.cgi" style="display:flex;flex-direction:column;gap:14px">
6169 <input type="hidden" name="save_globals" value="1">
6270
6371 <label style="display:flex;flex-direction:column;gap:4px">
6472 <span class="rb-label">Global ignore patterns
6573 <span class="dim" style="text-transform:none;letter-spacing:0;font-size:10.5px">&mdash; one per line OR comma-separated. Glob wildcards <code>*</code>, <code>?</code>, and <code>**</code> supported.</span>
6674 </span>
6775 <textarea name="global_ignore_list" rows="10" placeholder="*.swp&#10;*.tmp&#10;*.bak&#10;node_modules/*&#10;.git/*&#10;logs/*"
6876 style="background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-family:var(--mono);font-size:11.5px;line-height:1.6;resize:vertical">$global_ignore_pretty</textarea>
6977 </label>
7078
7179 <div style="display:flex;gap:12px">
7280 <label style="flex:2;display:flex;flex-direction:column;gap:4px">
7381 <span class="rb-label">Global file-type filter <span class="dim" style="text-transform:none;letter-spacing:0;font-size:10.5px">(blank = all types)</span></span>
7482 <input type="text" name="global_file_type_filter" value="$global_file_type_filter" placeholder="pl,pm,cgi,html,css,js,sql,conf,md"
7583 style="background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-family:var(--mono);font-size:12px">
7684 </label>
7785 <label style="flex:1;display:flex;flex-direction:column;gap:4px">
7886 <span class="rb-label">Global max file size (bytes)</span>
7987 <input type="number" name="global_max_file_size_bytes" value="$global_max_file_size_bytes" min="0"
8088 style="background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px">
8189 </label>
8290 </div>
8391
8492 <div style="display:flex;justify-content:flex-end">
8593 <button type="submit" class="tr-chip is-active" style="border:none;padding:8px 18px">Save globals</button>
8694 </div>
8795 </form>
8896 </div>
8997</div>
9098
9199<div class="module glow-teal">
92100 <div class="module-head"><div class="left"><div class="module-title">Resolved configuration</div><span class="module-subtitle">Merged from conf file + code defaults. Secrets redacted.</span></div></div>
93101 <div class="module-body tight">
94102 <table class="tbl">
95103 <thead><tr><th style="width:260px">Key</th><th>Value</th></tr></thead>
96104 <tbody>
97105 [loop:@cfg_rows]<tr><td class="mono"><strong>$key</strong></td><td class="mono dim">$value</td></tr>[/loop]
98106 </tbody>
99107 </table>
100108 </div>
101109</div>