Skip to content
This repository was archived by the owner on Aug 11, 2026. It is now read-only.
This repository was archived by the owner on Aug 11, 2026. It is now read-only.

PENDING: docs(hermes-agent): add deployment, backup, upgrade, incident-response, and operator SOP #678

Description

@ahliweb

Parent epic: #668
Depends on: #669, #670, #671, #672, #673, #674, #675, #676, #677

Context

Hermes is a separately versioned stateful service with profile directories, credentials, memory, sessions, skills, cron jobs, Telegram gateway state, and an API server. Safe production operation needs explicit deployment and recovery procedures that do not compromise the AWCMS-Mini Bun-only/runtime boundary.

Objective

Document and provide validated operator assets for deploying and operating Hermes beside AWCMS-Mini on Coolify, systemd, or containers.

Scope

  • Separate-service topologies for:
    • one AWCMS app + one Hermes profile;
    • one AWCMS app + multiple Hermes profiles/gateways;
    • shared host with isolated internal networking;
    • separate Hermes host.
  • Coolify: create Hermes as a separate resource/application, internal DNS/origin, health check, secrets, persistent volume, resource limits, and no public API-server exposure unless explicitly secured.
  • Container/systemd examples under deploy/hermes/ that do not modify the Astro/Bun runtime and do not start by default in offline/LAN deployments.
  • Pin Hermes version/image digest; document compatibility matrix with the AWCMS module version and OpenCode Go/MiMo profile.
  • Provision profile/model/Telegram configuration through the operator workflow; AWCMS produces placeholders/guidance only.
  • Backup scope for profile config, encrypted credential stores where applicable, memory/session/skills/cron/state, plus AWCMS PostgreSQL records.
  • Restore drill, RPO/RTO, integrity verification, and selective per-profile restore.
  • Upgrade: backup, staging verification, health/model/Telegram/capability smoke test, rolling profile sequence, rollback.
  • Secret rotation for OpenCode Go key, Hermes API-server key, AWCMS agent-tool HMAC/service credential, Telegram bot token, and webhook secret.
  • Incident playbooks for leaked secret, compromised Telegram bot, prompt injection/tool abuse, cross-tenant suspicion, runaway usage, provider outage, corrupt state, failed upgrade, and accidental high-impact action.
  • Data-processing/privacy checklist for prompts, personal data, cross-border provider use, retention, and deletion.
  • Production preflight/checklist integration and evidence collection.
  • Operator/user guide for dashboard states, unknown/unverified telemetry, approval, incident acknowledgement, and limitations.

Security requirements

  • No real secrets, account IDs, chat IDs, production domains, or customer data in examples.
  • No Docker socket or privileged container requirement.
  • Runtime service accounts/files/volumes use least privilege.
  • API server and database remain on internal networks; PostgreSQL is not exposed publicly.
  • Backup encryption keys are separate from application/provider keys.
  • Restore and token-rotation actions are logged operationally.

Acceptance criteria

  • Coolify, container, and systemd paths are actionable and mutually consistent.
  • Offline/LAN default remains unchanged.
  • Multi-profile port/token/volume isolation is documented.
  • Backup and restore drill has explicit verification criteria.
  • Upgrade/rollback and compatibility matrix are documented.
  • All relevant secret-rotation and incident playbooks exist.
  • Privacy/AI risk checklist references UU PDP, PP 71/2019, ISO/IEC 27001 family, ISO/IEC 42001, ISO/IEC 23894, and ISO/IEC 42005 without claiming certification.
  • Documentation links are added to the AWCMS-Mini docs index.
  • Examples pass syntax/config validation where applicable.
  • bun run check:docs and bun run check pass.

Out of scope

  • Deploying a production Hermes instance from this issue.
  • Creating provider/Telegram accounts.
  • Formal certification or legal opinion.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions