Penthouse(penthouse.plfumg.com)はシステム管理者向けの管理アプリケーションです。インフラ監視、アカウント管理、組織管理の機能を提供します。
メール+パスワード、Google OAuth、パスキーによるログイン。管理者ロール(admin)が必要。
管理者ロールを持たないユーザーがアクセスした場合に表示。
| 項目 | 内容 |
|---|
| タイトル | ダッシュボード |
| 機能 | アカウント設定、アカウント管理、組織管理、OIDC設定、SCIM設定へのカード |
| レイアウト | 4カラムグリッド |
| 項目 | 内容 |
|---|
| タイトル | アカウント設定 |
| 機能 | パスキー管理、Google OAuth 連携、パスワード変更/設定/無効化 |
| 代理認証 | 代理認証検出 + 解除ボタン |
| セッション | サインアウト |
| 項目 | 内容 |
|---|
| タイトル | アカウント管理 |
| コンポーネント | AccountTable, CreateAccountModal, EditAccountModal |
| 機能 | ユーザー一覧、検索/フィルタ、新規作成、編集、ロール変更 |
| 項目 | 内容 |
|---|
| タイトル | 組織管理 |
| タブ | すべて / グループ / 店舗 |
| 機能 | 組織一覧(カード表示)、検索、グループ作成、店舗作成 |
| purelovers | 店舗作成時に purelovers ID で自動情報取得 |
| 項目 | 内容 |
|---|
| タイトル | (組織名) |
| タブ | 概要 / メンバー / ロール |
| 概要 | ID、slug、作成日、所属グループ |
| メンバー | メンバー一覧、追加、削除、ロール割当 |
| ロール | カスタムロール作成・一覧 |
| 操作 | 削除(カスケード対応)、グループ移動、プロフィール編集 |
| 項目 | 内容 |
|---|
| タイトル | 代理ログイン中 |
| 機能 | 警告表示、代理ログイン終了ボタン |
| 遷移 | 終了後 /admin にリダイレクト |
| 項目 | 内容 |
|---|
| タイトル | 管理ダッシュボード |
| セクション | コスト概要(月次)、Workers メトリクス(24h)、DB メトリクス(月次) |
| アクション | インフラ詳細へのリンク、ユーザー追加、組織作成 |
| データ | getWorkersMetrics(), getAllServicesCost(), getDbOperationsMetrics() |
| 項目 | 内容 |
|---|
| タイトル | 料金 |
| セクション | 月次コスト合計、サービス別コスト内訳、プラン詳細 |
| 対象サービス | Workers, Durable Objects, Queues, Analytics Engine, R2, KV, Database |
| 機能 | コスト詳細テーブル、プラン情報モーダル、ゲージ表示 |
| 項目 | 内容 |
|---|
| タイトル | Cloudflare Workers |
| セクション | Workers 概要(24h)、ワーカー別メトリクス、サービス利用状況(月次) |
| メトリクス | リクエスト数、CPU時間、レスポンス時間、エラー数 |
| ゲージ | Workers, DO, Queues, R2, KV の利用量/制限 |
| 項目 | 内容 |
|---|
| タイトル | Database |
| セクション | 月次概要、利用ゲージ、詳細統計 |
| メトリクス | オペレーション数、クエリレイテンシ、エラー数 |
| 内訳 | サービス別、モデル別、オペレーション種別 |
| 項目 | 内容 |
|---|
| タイトル | SQL Explorer |
| タブ | クエリエディタ / 最近のログ / スロークエリ / 時間帯別統計 / エンドポイント別 |
| 機能 | インタラクティブ SQL 実行、DB ログ閲覧、パフォーマンス分析 |
| データ | getAnalyticsTables(), getOperationsByHour(), getEndpointStats() |
| 項目 | 内容 |
|---|
| タイトル | ドメインブラックリスト |
| 機能 | グローバルブラックリストの追加/削除、検索、ワイルドカード対応 |
| フォーマット | *.example.com 形式 |
| 項目 | 内容 |
|---|
| タイトル | OIDC設定 |
| 機能 | Issuer URL 表示、クライアント登録/編集/削除 |
| クライアント設定 | 名前、Client ID、Redirect URI、Scope |
| 項目 | 内容 |
|---|
| タイトル | SCIM設定 |
| 機能 | SCIM エンドポイント表示、トークン管理 |
| トークン操作 | 作成、再生成、削除 |
| セキュリティ | トークンは作成時のみ表示 |
/admin 配下のページは専用のサイドバーナビゲーションを持ちます。
| メニュー | パス | 状態 |
|---|
| ダッシュボード | /admin | 稼働中 |
| 料金 | /admin/billing | 稼働中 |
| Cloudflare | /admin/cloudflare | 稼働中 |
| Database | /admin/database | 稼働中 |
| SQL Explorer | /admin/sql | 稼働中 |
| ドメインブラックリスト | /admin/domain-blacklist | 稼働中 |
| アカウント管理 | /admin/accounts | 移行中 |
| 組織管理 | /admin/organizations | 移行中 |
| OIDC設定 | /admin/oidc | 稼働中 |
| SCIM設定 | /admin/scim | 稼働中 |
| 技術 | 用途 |
|---|
| SvelteKit | ルーティング、SSR、Remote Functions |
| Svelte 5 | Runes ($state, $derived, $effect) |
| daisyUI 5 | UIコンポーネント |
| Tailwind CSS v4 | スタイリング |
| Lucide Svelte | アイコン |
| better-auth/svelte | 認証クライアント |
Penthouse は user.role === 'admin' のユーザーのみアクセス可能です。一般ユーザーがアクセスした場合は /unauthorized にリダイレクトされます。