3.3 KiB
3.3 KiB
Config Page — Session Reference
Created: 2026-07-08
File: /var/www/ops/config.html
Domain: ops.itpropartner.com
Page structure (4 cards)
1. Versions
Grid of version cards showing software versions. Populated from live API (data.versions) with embedded fallbacks:
| Component | Embedded | API-override |
|---|---|---|
| Hermes | v0.18.0 | data.versions.hermes |
| Caddy | v2.11.4 | data.versions.caddy |
| Python | 3.13.5 | data.versions.python |
| Docker | 26.1.5 | data.versions.docker |
| OS | Debian 13.5 | data.versions.os |
2. Active Config Files
Table of key config files that are part of the hermetic backup:
| Path | Size | Modified | Backed Up |
|---|---|---|---|
| /etc/caddy/Caddyfile | 2.8 KB | 2026-07-08 | ✓ |
| /root/.hermes/config.yaml | 3.3 KB | 2026-07-08 | ✓ |
| /etc/systemd/system/hermes-assistant.service | 295 B | 2026-07-08 | ✓ |
| /etc/systemd/system/hermes-browser.service | 495 B | 2026-07-07 | ✓ |
| /root/.hermes/scripts/ | 592 KB (51 files) | — | ✓ |
All backed up via hermes-backup.sh → Wasabi S3 (hermes-vps-backups).
3. Environment
Grid of system attributes (hostname, OS, kernel, uptime, CPU, memory, disk, Docker).
4. Infrastructure Diagram
Link card pointing to /dependency-diagram.html (teal-accented) — placeholder for future dependency diagram.
Static data + API fallback architecture
The config page is the first ops portal page to use embedded static data rather than relying solely on the API. Rationale:
- File system stats (size, modified time, backup status) are not provided by the ops-data-collector
- These change infrequently — rebuilding the HTML is acceptable
- The page works fully when the API is offline (embedded data is always shown)
Render sequence:
- Embedded
CONFIG_FILESarray → config files table (immediate) - Embedded
ENV_DATAobject → environment grid (immediate) - Embedded
VERSIONS_EMBEDDEDobject → version cards (immediate) - API fetch → overrides version cards with live data (async)
- API failure → embedded versions remain, non-fatal
Embedded data categories for this page
CONFIG_FILES (static, from file system stats)
- path, size, size_bytes, modified (ISO timestamp), backed_up (bool), backup_desc
ENV_DATA (static, from live system)
- hostname, os, kernel, uptime, cpu, memory, disk, docker, hermes_path
VERSIONS_EMBEDDED (fallback from live system)
- hermes, caddy, python, os, docker
Design details
- File paths rendered in monospace (
<span class="mono">) - Backup status badges: green ✓ Yes / red ✗ No
- Version cards centered with uppercase labels, large value text
- Environment grid: 1-col mobile → 2-col tablet → 3-col desktop
- Shared stylesheet (
/css/ops.css) referenced — no inline duplication - Shared nav injected from
/nav.html - File mode fixed to 644 after creation
Rebuilding
To regenerate this page with updated embedded data:
- SSH into core
- Gather current file stats (size, timestamps) via
stat - Gather current system info (uptime, versions, disk, memory) via
df -h,free -h,hostname,cat /proc/uptime - Update the
CONFIG_FILES,ENV_DATA, andVERSIONS_EMBEDDEDobjects in the HTML chmod 644 /var/www/ops/config.html