Skip to content

kyogaku-dendo/sora

Repository files navigation

Sora (驚額の殿堂 サーバーサイド)

走らせ方 (ローカル)

必要なもの

  • npm
  1. DB初期化
npx wrangler d1 execute sora --file=./schema.sql --local
  1. yagi向けトークン設定(ローカルの場合test.shと合わせる) ビルド前に設定しておく必要があります。
export YAGI_TOKEN=628BC5E9-8B13-40A8-8EE3-D3369A28A613
  1. サーバー起動
npx wrangler dev
  1. テスト
./test.sh

最後の6行は400系のエラーを返すものです。

トークン

Yagi(店内POS)から呼ばれる想定のセンシティブなAPIにはトークン認証が存在します。このトークンはビルド時の環境変数で埋め込むことができるほか、設定しない場合はデフォルト値になります。デフォルト値はtest.shに設定されているものと同様です:

YAGI_TOKEN=628BC5E9-8B13-40A8-8EE3-D3369A28A613

OpenAPIスキーマ

OpenAPI互換スキーマがschema.jsonに存在します。

アーキテクチャ・デプロイ

soraはCloudflare Workers + Cloudflare D1で動作することを前提とし、後段のrouter + handlerにaxumを利用しています。wranglerを利用してローカルで動作することもできますが、実際にローカル動作を行う場合はaxum + rusqliteなどへの置き換えを推奨します。

デプロイ

まず、wranglerに認証情報を登録します:

$ npx wrangler login
# ブラウザが開きます

次に、D1のデータベースを作成します:

$ npx wrangler d1 create sora

作成したDBのUUIDをwrangler.tomlに設定します:

...
database_name = "sora"
database_id = "00000000-0000-0000-0000-000000000000"

DBのスキーマを流し込みます:

$ npx wrangler d1 execute sora --file=./schema.sql --remote

workersにデプロイします:

$ npx wrangler deploy

GitHub Actions

GitHub Actionsを有効にしていると、masterにpushした時に自動でデプロイされるようになっています。その際にsecretsに以下の値の設定が必要です:

  • CLOUDFLARE_API_TOKEN
  • CLOUDFLARE_ACCOUNT_ID
  • YAGI_TOKEN

About

驚額の殿堂3 サーバーサイド

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors