クイックスタート
ふだんは dev:up が起こす
Section titled “ふだんは dev:up が起こす”dashboard は、単体では何も見せません。
読む相手(台帳の API と開発用 issuer)と、検証と中身に答える daemon が要ります。
それをまとめて起こすのが capture-ledger(どの URL を撮るかを決め、撮れたものを記録する台帳)の dev:up で、dashboard もその一部として起こされます。
cd ../capture-ledgerpnpm run dev:up # 終わると dashboard の URL を出すopen http://127.0.0.1:7080/dev:up は、この repo が capture-ledger の隣(../dashboard)に在るものとして起こします。
別の場所に置いたなら pnpm run dev:up --dashboard <path> です。
スタックの起こし方の全体は、capture-ledger のクイックスタートに在ります。
| したいこと | capture-ledger で打つもの |
|---|---|
| dashboard だけを起こし直す | pnpm run dev:up --from dashboard |
| 何が立っているかを見る | pnpm run dev:status |
| 止める | pnpm run dev:down(ホストで動かしたものも止める) |
dashboard だけを直すとき
Section titled “dashboard だけを直すとき”dashboard を直すだけなら、この repo で起こします。 npm の依存を持たないので、install は要りません。
npm run dev # http://127.0.0.1:7080/台帳の API と issuer は立っている必要があります(dev:up が起こしたもので足ります)。
「検証」と「中身」には daemon も要ります。
台帳のスタックを起こしたくなければ、サンドボックスで開けます。
npm run sandbox が、台帳の代役と本物の daemon をコンテナで起こし、dashboard を 7081 で開きます。
public/ の変更は、ブラウザを読み直すだけで効きます(サーバは要求のたびにディスクから読みます)。
src/ を変えたら起こし直してください。
dev:up が起こした dashboard が 7080 を握っているなら、npm run dev はそう言って終わります(下の表)。
並べて動かすなら、口をずらします(DASHBOARD_PORT=7081 npm run dev)。
名乗りに許可を付ける
Section titled “名乗りに許可を付ける”dashboard は、既定ではこの機械のユーザー名で台帳に名乗ります(設定の DASHBOARD_SUBJECT)。
その名前に、組織のクロールの許可が要ります。
cd ../capture-ledgerpnpm run fga:grant submitter "$(whoami)" acme # 1 度だけcapture-ledger のクイックスタートをたどったなら、そこで済んでいます。
許可が無いと、画面の上に赤で not found と出て、一覧は空のままです。
台帳は、許可の無い名乗りにクロールの一覧を空で返し、スクリプトには 404 を返します。
dashboard はその 404 を受けて、一覧を描かずに止まります。
出た文から直す
Section titled “出た文から直す”| どこに | 出る文 | 直し方 |
|---|---|---|
| 画面の上(赤) | not found |
名乗りに許可が無い。上の fga:grant |
| 画面の上(赤) | … に届かない (…)。capture-ledger で pnpm run oidc:issuer は動いているか? |
開発用 issuer が立っていない。dev:up で起こす |
| 画面の上(赤) | … が名乗りを断った (…)。… |
issuer が名乗りを断った。issuer の端末を見る |
| 画面の上(赤) | … に届かない (…)。capture-ledger で pnpm run api は動いているか? |
台帳の API が立っていない。dev:up で起こす |
| 検証の欄・中身の画面 | … に届かない (…)。capture-ledger で pnpm run dev:up --from validator は済んでいるか? |
daemon が立っていない。言われたとおりに打つ |
| 名乗りの欄 | dashboard 自身に届きません |
dashboard のサーバが止まっている。起こし直す |
| 足元 | 取りに行けませんでした(上の表は最後に描けたもの) |
理由は画面の上の赤い文。表は最後に描けたものを残している |
| スクリプトの画面(赤) | 台帳にスクリプトがありません。… |
走らせるスクリプトが台帳に無い。赤い文の中のコマンドで取り込む |
| 新しいクロールの画面の「始める」の下 | 404 —— not found |
名乗りにクロールを始める許可が無い。上の fga:grant |
| 新しいクロールの画面の「始める」の下 | 404 —— Route POST:/api/crawls not found |
台帳がクロールの投げ先(Windmill)を知らない。dev:up のスタックなら在る |
| クロールの画面(移る) | 走行中の行に印 | 409。走っているのは全体で 1 本まで。印の付いた行が終わるのを待つ |
| 端末 | 127.0.0.1:7080 は、既に動いている dashboard です (pid …)。 |
開くだけでよい。起こし直すなら pnpm run dev:up --from dashboard |
| 端末 | 127.0.0.1:7080 は別のものが握っています … |
pnpm run dev:status で正体を見て、pnpm run dev:down で片付ける |
dashboard は、失敗しても表を消しません。 空の表は「見えるものが無い」と読めてしまい、「取りに行けない」と区別が付かないからです。