ADR-0004: audit-svc を単独リポで管理¶
ステータス: Accepted 決定日: 2026-04-20 決定者: @kackey621 関連 Issue: #19
コンテキスト¶
recerdo-core の description に API Gateway, Authentication, Audit and control all services と記載されていたため、audit が core 内包の可能性があった。一方 docs/microservice/audit-svc.md は 単独マイクロサービス として Draft 定義されていた。
決定¶
Option A: 単独リポ recerdo-audit で管理する。
論拠¶
- ユーザーの既成事実: 2026-04-19 に
recerdo-auditrepo が作成済 (旧-recerdo-auditを ADR-0001 準拠で rename 済) - 障害ドメイン分離: audit の Append-Only 不変条件・GDPR Retention 要件は、Gateway/Auth (core 内) の責務と直交する
- スケール特性: 監査ログの書込頻度は全サービス合計であり、core と同じ deployment 単位だと hot-spot になる
- core の description 修正: 「Audit」を description から削除し、Gateway + Auth のみ担う方向で更新する (別 Issue / PR で実施)
Option B (core 内包) を不採用とする理由¶
- core の障害 (Gateway / Auth) が audit 書込にも波及する
- core の責務が肥大化し、マイクロサービス設計原則に反する
- audit のみ独立 Retention Policy / GDPR 対応が必要で、運用単位が合わない
実施アクション¶
-
recerdo-auditbootstrap 開始 (既に issue #1 作成済) -
recerdo-corerepo description から "Audit" を削除 (別 chore issue で対応) - docs/microservice/audit-svc.md のステータスを Draft → Approved に昇格
- core 側から audit-svc への QueuePort 契約を確定