TiedWorkspace 管理 — 運用 / デプロイ
apps/tied-workspace-admin (Worker tied-workspace-admin) の開発・デプロイ・環境変数。
バインディング / 環境変数
apps/tied-workspace-admin/wrangler.jsonc で定義する。型は worker-configuration.d.ts。
| 種別 | 名前 | 用途 |
|---|---|---|
| D1 | INVITE_DB (tied-workspace) | invite_settings (読書) / invitations (読取) |
| D1 | AUTH_DB (tied-auth) | 管理 UI の better-auth |
| var | BETTER_AUTH_URL | アプリのオリジン (OIDC コールバック生成) |
| secret | BETTER_AUTH_SECRET | better-auth のセッション署名鍵 |
| secret | SLACK_CLIENT_ID / SLACK_CLIENT_SECRET | Sign in with Slack (OIDC) |
secret は wrangler secret put <NAME> で設定する (コードや wrangler.jsonc に書かない)。
bash
cd apps/tied-workspace-admin
bunx wrangler secret put BETTER_AUTH_SECRET
bunx wrangler secret put SLACK_CLIENT_ID
bunx wrangler secret put SLACK_CLIENT_SECRETローカル開発では apps/tied-workspace-admin/.dev.vars に同じキーを置く (コミットしない)。
Sign in with Slack の OIDC リダイレクト URI には、このアプリのオリジンの /api/auth/oauth2/callback/slack を Slack App 側に登録する (invite-web とは別オリジンのため、admin のコールバック URL を追加する)。
ローカル開発
bash
# 依存インストール (リポジトリルート)
bun install
# D1 のローカル状態にスキーマを適用 (Miniflare)
bunx wrangler d1 migrations apply tied-workspace --local \
--persist-to apps/tied-workspace-admin/.wrangler/state -c packages/d1/wrangler.jsonc
bunx wrangler d1 migrations apply tied-auth --local \
--persist-to apps/tied-workspace-admin/.wrangler/state -c packages/d1/wrangler.jsonc
# 開発サーバ
bun run --filter @tied-workspace/admin dev/settings で招待リンク・メール文面を設定すると、公開フォーム (invite-web) が その招待リンクを配信できるようになる。
デプロイ
bash
bun run --filter @tied-workspace/admin deploy # react-router build && wrangler deployCI は .github/workflows/deploy-tied-workspace-admin.yml。PR で型チェック + ビルド、 main への push で本番デプロイする。D1 スキーマの適用はアプリと独立した deploy-d1.yml が packages/d1/** の変更で行う。
公開ドメイン admin.tied-workspace.com は Cloudflare 側でカスタムドメインの紐付けが必要。