Operations
Operations
Section titled “Operations”Asterel is a single-operator runtime. Treat the workspace, database, and local secret vault as production state even when running on a personal machine.
Backup
Section titled “Backup”Back up these artifacts together so memory, persona, and configuration remain consistent:
~/.asterel/config.tomland any workspace-local config overrides.- The encrypted secret vault and secret-encryption metadata.
- PostgreSQL database when using the
postgresmemory backend. - Markdown memory directory when using the fallback backend.
- Release artifact or exact commit SHA used by the daemon.
For PostgreSQL, use a logical dump before upgrades:
pg_dump --format=custom --file=asterel.dump "$ASTEREL_POSTGRES_URL"Keep backups encrypted at rest. Do not copy provider keys into unencrypted bug reports, CI artifacts, or shared logs.
Restore
Section titled “Restore”-
Stop the daemon and channel workers.
-
Restore config and the secret vault first.
-
Restore PostgreSQL into an empty database:
Terminal window pg_restore --clean --if-exists --dbname "$ASTEREL_POSTGRES_URL" asterel.dump -
Start
asterel doctorand confirm memory, gateway, channel, and observability status. -
Start the daemon and watch post-turn hook and memory metrics for the first few turns.
Secret rotation
Section titled “Secret rotation”Rotate secrets after operator handoff, suspected exposure, provider dashboard changes, or public ingress misconfiguration.
- Revoke the old provider/channel/tunnel token at the upstream service.
- Write the new secret through the configured secret store or encrypted config path; avoid editing plaintext files when secret encryption is enabled.
- Restart the daemon or reload the affected channel worker.
- Run a minimal smoke test for the affected provider or transport.
- Check logs and metrics for authentication failures.
Monitoring
Section titled “Monitoring”Use the prometheus observability backend when running long-lived daemons. The
observer can render Prometheus text exposition snapshots; expose them only on a
localhost or trusted-admin scrape endpoint. Track at minimum:
- observer event/error totals;
- post-turn hook status totals;
- memory lifecycle and SLO violation totals;
- signal ingestion and deduplication labels;
- channel worker heartbeat status.
If metrics stop changing while the daemon is still receiving traffic, treat that as an incident: capture logs, stop channel delivery if needed, and verify that post-turn update is not stuck behind a failing memory or provider call.