Coraza WAF と OWASP CRS をベースにした、リバースプロキシ / API ゲートウェイ。 ローカルプレビューでは Gateway と Center を一緒に起動し、ルール配信、Runtime Apps、 daemon 配備、Remote SSH まで同じ流れで確認できます。
# Gateway と Center をまとめて起動 $ GATEWAY_PREVIEW_PERSIST=1 \ CENTER_PREVIEW_PERSIST=1 \ make fleet-preview-up → Gateway UI: http://localhost:9090/tukuyomi-ui → Center UI: http://localhost:9092/center-ui → CRS ensure · DB migrate · preview DB ✓ Gateway and Center are ready # Center Protected 構成も同じターゲットで確認 $ CENTER_PROTECTED_PREVIEW=1 make fleet-preview-up $ _
ルーティング、WAF、レート制御、Bot 対策、Runtime Apps、ジョブスケジューラ。 さらに Center が設定配信、ランタイム配布、Remote SSH、ログ集約を担当します。
ModSecurity 互換ルールエンジンを Go 実装の Coraza で動かし、OWASP CRS 4.x を前提にチューニング可能。
Upstreams → Backend Pools → Routes の三層モデル。round_robin の重み付け、ドレイン、無効化を runtime で。
レートリミット、国別制御、Bot 検出、セマンティック判定、IP レピュテーション。アプリエッジ側で適用。
TypeScript 製の管理画面と OpenAPI 仕様の Admin API を同梱。設定の編集、ルール管理、Probe まで一画面で。
php-fpm、perl(psgi)、daemon を Runtime Apps として登録。Center からパッケージ配備と手動ロールバックを実行できます。
現場に散らばった tukuyomi ノードを Center から一元管理。承認、設定スナップショット、WAF ルール、ランタイム、アプリ配備を扱えます。
Web アプリ、Perl PSGI ハンドラ、長期常駐のデーモンプロセスまで Runtime Apps として登録。 Center から ZIP パッケージを配備し、Gateway 側で release を切り替える運用まで確認できます。
Gateway は公開トラフィックを受け、WAF / 認可 / ルーティング / レート制御を適用します。 Center は Gateway へ設定、WAF bundle、Runtime artifact、アプリパッケージを配信します。
Public と Admin を別ポートに分離するスプリットリスナー構成も可。9090 や 443 で待ち受けを切り替えできます。
OWASP CRS 4.x をベースに、Override Rules と Bypass で誤検知を運用ベースで抑えられる。FP Tuner API で継続調整。
レート制限、Geo、Bot、IP レピュテーション、セマンティック判定。Request Security Plugin のモデルで拡張可能。
Upstreams を Backend Pools に束ね、Route が action.backend_pool でバインド。runtime オーバーライドも対応。
PHP-FPM / PSGI / daemon は Runtime Apps として管理。Center からの配備は Gateway のポーリングで 1 件ずつ安全に反映します。
エッジや VPS に配置された tukuyomi Gateway を Center が束ね、 承認、設定スナップショット、ルール配信、ランタイムビルド、アプリ配備を 1 つの画面から扱います。
Gateway は Center へ登録申請し、承認後にポーリングでステータスを更新。OS、ランタイム、設定スナップショットも集約します。
Proxy Rules、WAF bundle、TLS、アクセス制御を Center で管理。Gateway は pending request を取得して反映します。
Center で対象 OS 向け Runtime artifact をビルドし、Runtime App Deploy で ZIP パッケージの配備と手動ロールバックを行います。
必要なときだけ保守用 Web ターミナルを開き、daemon-supervisor のローテート済みログを Center から取得できます。
fleet-preview-up は Gateway preview と Center preview をまとめて起動します。
Center Protected 構成も同じ入口から確認できます。
# 01 · リポジトリを取得 $ git clone https://github.com/vril-dev/tukuyomi.git $ cd tukuyomi → workspace ready
Gateway 単体、Center 単体、Center Protected の 3 ロールを install role で選択。 検証は Docker preview、本番は systemd の常駐プロセスとして導入できます。
Go 製の 1 バイナリを systemd で常駐。WAF とリバースプロキシの公開入口を担当。
Gateway と Center を同時に起動。登録、承認、配信、Runtime Apps の流れを手元で確認。
Center を Gateway で保護し、/center-ui、/center-manage-api、/center-api を分けて公開。
Center 側で対象 OS 向け Runtime をビルドし、Gateway がポーリングで取得して配置。
Operator reference、Center 登録、Runtime Apps、Remote SSH、TLS、WAF チューニング、 ベンチマーク、リグレッションマトリクスまで揃っています。
tukuyomi は、 公開入口でトラフィックを受け止め、WAF、ルーティング、ランタイム運用、Center からの配信を ひとつの運用面にまとめるためのプロダクトです。
Gateway が現場で実行し、Center が承認・配信・監査を担う。 ローカルプレビューから VPS の Center Protected 構成まで、同じ考え方で扱える境界を目指します。
tukuyomi の導入支援、Web /業務システムの開発、既存サービスの改善や試作も承っています。