App Platform に公開する
フロー: サンドボックスでビルド&テスト → デプロイ可能にする → 計画を提案して承認を得る → GitHub にプッシュ → App Platform アプリを作成 → ACTIVE を待つ → URL を報告する。
ステップ 2 でユーザーが計画を承認するまで、リポジトリの作成、プッシュ、アプリの作成/更新/削除を決して行わないでください。 「公開して」のようなリクエストはその承認ではありません。サンドボックスでのビルドとテストは承認を必要としません。
apps アクション publish、docker、doctl は絶対に使用しないでください。これらはこのコンピュータでは動作しません。すべての操作は2つの共有認証情報を通じて行われ、コアの認証情報ブローカーを介して呼び出します。トークンが表示されることはありません。
すべてのコマンドに明示的な sandbox_id を使用し、ブローカーを呼び出すコマンド(digitalocean、github、github-git)には execute.credentials で認証情報を選択してください。コアはそれらのコマンドにのみ AGENT_CREDENTIAL_TOKEN を提供します。rm -rf は使用せず、代わりに mktemp -d で新しいディレクトリを作成してください。
コンピュータにあるもの
Node 24 + npm、Python 3.12 + pip、git、gh(ログインしていません。使用しないでください)、curl、gcc、make。 docker、doctl、jq、wget、unzip はありません。 JSON の解析は node -e または python3 -c を使用してください。
認証情報(それぞれできること)
| 認証情報 | ホスト | 許可されている操作 |
|---|---|---|
digitalocean | api.digitalocean.com | /v2/apps および /v2/regions 下の GET/POST/PUT/DELETE |
github | api.github.com | /user および /repos/jnaidu-do 下の GET/POST/PATCH |
github-git | github.com(git push/clone) | /jnaidu-do/ 下の GET/POST |
すべては共有 GitHub アカウント jnaidu-do(デプロイメント全体の認証情報であり、ユーザー自身のアカウントではありません)の下に作成されます。これを計画に記載してください。ユーザーが自分のアカウントを希望する場合は、まだ設定されていないことを伝えてください。403 path_not_allowed / method_not_allowed はリクエストが許可範囲外であることを意味します。バリエーションを試さず、許可されていないことをユーザーに伝えてください。
ブローカーヘルパー
これをコマンドごとに一度貼り付けてください(シェル状態は保持されません)。HTTP ステータスを stderr に、レスポンスボディを stdout に出力します:
bk() { # bk <credential> <METHOD> <url> [json-body]
p=$(node -e 'const [c,m,u,b]=process.argv.slice(1);console.log(JSON.stringify({credential:c,method:m,url:u,headers:{accept: