Skip to content

Explore multi-tenant public service architecture #62

@liplus-lin-lay

Description

@liplus-lin-lay

概要

現在の構成はユーザーが自分で Cloudflare Worker をデプロイする個人用モデル。
公開サービスとして1つの Worker を運用し、誰でも .mcpb インストールだけで使えるようにする。

理想の UX

  1. Claude Desktop で .mcpb をインストール
  2. GitHub アカウントで OAuth 認証
  3. 監視対象リポジトリを選ぶ
  4. 完了 — webhook イベントが流れ始める

ユーザーは Cloudflare のことを知る必要がない。

設計課題

認証・オンボーディング

  • GitHub App or OAuth でユーザーの GitHub アカウントと連携
  • GitHub App を使えば webhook の自動登録も可能

データ分離(マルチテナント)

  • ユーザーごとに DO インスタンスを分離
  • idFromName(userId) でテナント分離
  • 他人の webhook データが見えてはいけない

コスト・スケーラビリティ

  • Cloudflare Workers 無料枠: 100,000 req/day, 10ms CPU
  • DO 無料枠: 1M req/month, 1GB storage
  • 何ユーザーまで無料枠で捌けるか試算が必要

セキュリティ

  • webhook 署名検証はユーザーごとの secret で行う
  • OAuth トークンの安全な保管
  • rate limiting

SSE / チャンネル通知

  • 公開サーバーでも SSE エンドポイントは認証付きで提供
  • ローカルブリッジは Worker URL + ユーザートークンで接続

参考

refs

Metadata

Metadata

Assignees

No one assigned

    Labels

    speclanguage or system specification

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions