Commit Graph
12 Commits
Author SHA1 Message Date
Junv (via Hermes) a8a09c6675 fix(demo-service): restore admin UI, add canvas error page for 401/403/404
- admin-ui.html extracted from git history
- Caddy handle_errors serves canvas page for all HTML errors
- Error page served directly by Caddy (correct status code preserved)
- Republished hermes-stats and my-awesome-demo
- Modular file structure: _config.py, _loaders.py, admin-ui.html, error-page.html
2026-06-14 11:36:04 +10:00
Junv (via Hermes) 10a055d37c feat(demo-service): canvas particle animation error page
- Chill canvas animation with floating particles + connections
- 'This page isnt available right now' friendly message
- Modular file structure: _config.py + _loaders.py for env vars and HTML
- No login method exposed on error page
2026-06-14 11:29:42 +10:00
Junv (via Hermes) 0dfb2eaa36 feat(demo-service): minimal SVG-animated access-restricted page
- Replaces login page with pure SVG animation (no login buttons)
- Animated lock icon, pulsing dots, orbiting ring, breathing circles
- Lightweight — zero dependencies, pure CSS/SVG
2026-06-14 11:22:09 +10:00
Junv (via Hermes) ad75449e0d feat(demo-service): beautiful login-required page for /admin
- Replaces 401 JSON with styled HTML error page
- Glassmorphism card with Pocket ID SSO sign-in button
- New sites default to draft (published: false)
2026-06-14 11:20:30 +10:00
Junv (via Hermes) b694a317d4 fix(demo-service): site title opens new tab unless disabled 2026-06-14 11:15:29 +10:00
Junv (via Hermes) 7edfe2cfa4 fix(demo-service): always render site name as clickable link
- Published sites: link to public URL
- Draft sites: link with dashed underline → opens preview modal
2026-06-14 11:11:36 +10:00
Junv (via Hermes) 4dce2be3d4 feat(demo-service): add publish/unpublish draft system with preview
- Sites now start as drafts (published: false) — hidden from public
- Publish endpoint makes site live at demo.junv.cc/<name>
- Unpublish hides it back to draft
- Preview endpoint serves draft HTML to authenticated users
- Caddy blocks .draft/.bak files (defense-in-depth)
- Backward compatible: existing sites default to published
- sync_visibility() handles all state transitions
2026-06-14 11:10:25 +10:00
Junv (via Hermes) 3e36501eba fix: Caddy routing for /admin without trailing slash 2026-06-14 10:59:14 +10:00
Junv (via Hermes) d4484e6750 feat: add Demo Service — Caddy + FastAPI for hosting demo sites at demo.junv.cc
- Caddy as static file server + reverse proxy
- FastAPI management API with Pocket ID SSO
- Web UI at demo.junv.cc/admin
- Agent API with Bearer token auth
- Demo sites accessible at demo.junv.cc/<folder-name>
- NFS PVC for persistent storage
- Enable/disable per-site
2026-06-14 10:57:36 +10:00
Junv (via Hermes) 3a860bb486 remove: K8s security-audit cronjob (path not available on node, switching to Hermes cron) 2026-06-13 15:26:14 +10:00
Junv (via Hermes) e99ec79ae5 add: cronjob for weekly security audit (Sat 7:50 AM) 2026-06-13 15:20:38 +10:00
Junv (via Hermes) a8b6890a99 chore: upgrade Docker images batch — June 2026
Updates 7 Docker images across the infrastructure manifests (PG14 kept as-is):

  media/jackett.yaml
    linuxserver/jackett: 0.24.1124 → 0.24.1985 (patch)

  media/media.yaml
    linuxserver/qbittorrent: version-5.1.2-r4 → version-5.2.1_v2.0.12 (major 5.1→5.2)

  home-apps/n8n.yaml
    n8nio/n8n: 2.15.0 → 2.23.1 (minor)

  db/qdrant.yaml
    qdrant/qdrant: v1.16-unprivileged → v1.18.1-unprivileged (minor)

  kube-vip/daemonset.yaml
    kube-vip/kube-vip: v0.4.4 → v0.9.2 (conservative, stayed within v0.x)

  on-demand/once-etcd-job.yaml
    etcd: 3.5.1-0 → 3.5.30-0 (patch)

  adhoc-config/oauth2-proxy.yaml
    oauth2-proxy/oauth2-proxy: v7.6.0 → v7.15.2 (minor)

Note: postgres:14 kept unchanged per PR review feedback.
kube-vip kept at v0.9.2 (latest v0.x) instead of v1.2.0 to avoid
v0→v1 breaking changes.
2026-06-01 16:52:51 +10:00