運用
Asterel は単一運用者のランタイムです。個人マシンで動かしている場合でも、ワークスペース、データベース、ローカルのシークレット保管庫は本番状態として扱います。
バックアップ
Section titled “バックアップ”記憶、人格、設定の整合性を保つため、次のものはまとめてバックアップします。
~/.asterel/config.tomlと、ワークスペース固有の設定上書き。- 暗号化されたシークレット保管庫と、シークレット暗号化のメタデータ。
postgresメモリバックエンドを使っている場合は PostgreSQL データベース。- 代替バックエンドを使っている場合は Markdown メモリディレクトリ。
- デーモンで使っているリリース成果物、または正確な commit SHA。
PostgreSQL では、アップグレード前に logical dump を取ります。
pg_dump --format=custom --file=asterel.dump "$ASTEREL_POSTGRES_URL"バックアップは保存時にも暗号化してください。プロバイダーキーを、暗号化されていないバグ報告、CI artifacts、共有ログへコピーしないでください。
-
デーモンとチャネル worker を停止する。
-
設定とシークレット保管庫を先に復元する。
-
PostgreSQL を空のデータベースへ復元する。
Terminal window pg_restore --clean --if-exists --dbname "$ASTEREL_POSTGRES_URL" asterel.dump -
asterel doctorを実行し、memory、gateway、channel、observability の状態を確認する。 -
デーモンを起動し、最初の数ターンは post-turn hook と memory metrics を見る。
シークレットローテーション
Section titled “シークレットローテーション”運用者の引き継ぎ、露出の疑い、プロバイダーダッシュボードでの変更、公開 ingress の設定ミスがあった場合は、シークレットをローテーションします。
- 上流サービスで古い provider / channel / tunnel token を失効させる。
- 設定済みのシークレットストア、または暗号化設定の経路から新しいシークレットを書き込む。シークレット暗号化が有効なときは、平文ファイルを直接編集しない。
- デーモン、または影響するチャネル worker を再起動する。
- 影響する provider または transport の最小 smoke test を実行する。
- ログと metrics で認証失敗がないか確認する。
長時間動くデーモンでは prometheus observability backend を使います。observer は Prometheus text exposition の snapshot を出力できます。公開する場合は localhost か信頼済み管理者だけが scrape できる endpoint に限定してください。
少なくとも次を追います。
- observer の event / error totals。
- post-turn hook status totals。
- memory lifecycle と SLO violation totals。
- signal ingestion と deduplication labels。
- channel worker heartbeat status。
デーモンが traffic を受けているのに metrics が動かない場合は、incident として扱います。ログを取り、必要ならチャネル配送を止め、post-turn update が失敗した memory call や provider call の裏で詰まっていないか確認します。