デプロイ運用手順
適用範囲
リポジトリ内の Docker Compose ファイルは開発・デモ用のトポロジーであり、本番環境の堅牢化ガイドではない。本番デプロイには、管理されたシークレット、TLS 終端、バックアップ・リストア手順、ネットワークセグメンテーション、及び組織固有の規制対応管理が必要である。
本番環境で必須の管理策
MERLON_ENV=productionを設定し、認証を有効化する。- 外部 TLS は信頼できるイングレスまたはリバースプロキシで終端する。API は本番環境において TLS 設定のない Engine 接続を拒否する。
- データベースパスワード、ブートストラップトークン、JWT 材料、暗号鍵はシークレットマネージャに保存し、コミットしたり本番用の値を
.envファイルに配置したりしないこと。 - ローカル開発環境以外では
MERLON_SEED=falseを維持する。 - PostgreSQL、Engine の gRPC エンドポイント、API の
/metrics、Engine のメトリクスポート(9090)は、プライベートネットワークまたは認証済みの監視基盤に限定する。 MERLON_ENCRYPTION_KEY_RINGをバックアップし、復旧手順がデータベースデータと必要な鍵材料の両方をリストアできることを検証する。
設定検証
ロールアウト前に、起動ログまたは ConfigService から Engine 設定ダイジェストを記録し、承認済みのルールファイルをリリース証跡とともに保管する。ADR-0012 を参照。
監査ログのデータベースロール
アプリケーションのデータベースロールは audit_logs に対する UPDATE 権限や DELETE 権限を持つべきではない。読み取り専用の監査アクセスは別ロールを通じて付与し、対象環境で権限付与を検証する。ロールテンプレートの例は本ディレクトリ内の audit-hardening.sql.example を参照。