yuki / okibi
焚き火の仲間だけの自前Gitホスティング(このサイト自身)
5fbfeb1b3ff66e09136be1f169fa4847bbf8790d yuki 1781033040 add loop state --- LOOP_STATE.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/LOOP_STATE.md b/LOOP_STATE.md new file mode 100644 index 0000000..b845cb7 --- /dev/null +++ b/LOOP_STATE.md @@ -0,0 +1,31 @@ +# Okibi 自走ループ状態(夜間・30分おき) + +目標: Okibi 完成 → 「今のプロジェクト全部入れて」(Okibi自身をホスト) → みんな(atsm焚き火)に共有。 +共有は本番が動作検証OKになってから(壊れた物を告知しない)。 + +## DONE +- [x] コア実装(Rust/axum/sqlx/maud) + E2E全緑(push/pull/auth/CI雛形) +- [x] メール非依存の admin bootstrap + 招待リンク(Resendキーが無いため) +- [x] Dockerfile / fly.toml / GitHub Actions / README / .gitignore +- [x] git commit (10650e1) + +## TODO(この順で) +- [ ] B. GitHub: yukihamada/okibi 作成(private) → push +- [ ] C. Fly: app `okibi`(取られてたら okibi-git 等にfallback→base_url/fly.toml更新) + + volume `okibi_data`(nrt) + secrets(FLY deploy token を gh secret FLY_API_TOKEN / + fly secret OKIBI_ADMIN_BOOTSTRAP=ランダム) → git push で Actions デプロイ +- [ ] D. 検証: curl https://<app>/healthz → 200 / bootstrapログイン / repo作成 / prod push +- [ ] E. dogfood: prod Okibi に repo `okibi` 作成し本ソースを push → public化 +- [ ] F. 共有: atsm 焚き火に告知(atsm_log + community_create_post) 公開URL + 招待導線 + +## 注意・前提 +- fly deploy 直叩き禁止 → 必ず git push → Actions +- 公開/告知は外部可視 → 検証OK後のみ。投稿は削除可能な形で +- 他メンバー6名のメール不明 → allowlistは当面 yuki のみ。招待リンクで個別追加(/members) +- bootstrap トークンは fly secret のみ。ログ/コミットに出さない +- app名/URLが変わったら fly.toml の OKIBI_BASE_URL と本ファイルを更新 + +## 実行メモ +- ローカル検証: `bash scripts/e2e.sh`(要サーバ on 8799) +- prod app名: (未確定) +- prod URL: (未確定)