Files

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:

  1. Embedded CONFIG_FILES array → config files table (immediate)
  2. Embedded ENV_DATA object → environment grid (immediate)
  3. Embedded VERSIONS_EMBEDDED object → version cards (immediate)
  4. API fetch → overrides version cards with live data (async)
  5. 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:

  1. SSH into core
  2. Gather current file stats (size, timestamps) via stat
  3. Gather current system info (uptime, versions, disk, memory) via df -h, free -h, hostname, cat /proc/uptime
  4. Update the CONFIG_FILES, ENV_DATA, and VERSIONS_EMBEDDED objects in the HTML
  5. chmod 644 /var/www/ops/config.html