API リファレンス
App Factory
登録したアプリとその配信、イメージの署名と SBOM。
App Factory。登録したアプリ(factory/v1alpha1 Application)と、その配信(静的なファイルの一式)、コンテナのイメージの署名と SBOM。 最新の配信は、入口の /apps/{組織}/{プロジェクト}/{環境}/{アプリ}/ で認証なしに出す(アプリの画面からの API の呼出しは、ふつうの入口を通る)
説明は公開 API の契約(OpenAPI)から生成しています。
エンドポイント
Section titled “エンドポイント”listApplications
Section titled “listApplications”GET/v1/factory/applications
definitions:read が必要。有効なバージョンのアプリと、いま出している配信
- 200 —
object: アプリ - default —
Problem: RFC 9457 Problem Details
listDeployments
Section titled “listDeployments”GET/v1/factory/applications/{name}/deployments
definitions:read が必要。新しい順に 20 件
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
name |
path | string | はい |
- 200 —
object: 配信 - default —
Problem: RFC 9457 Problem Details
deployApplication
Section titled “deployApplication”POST/v1/factory/applications/{name}/deployments
definitions:release が必要。ファイルの一式(index.html を含む 200 件・10 MiB まで。中身は base64)を置き、 そのアプリの最新の配信にする。配れるのは決めた拡張子(HTML・JS・CSS・JSON・画像・フォント・テキスト)だけ。 spec.image を持つアプリには置けない(CONFLICT)。イメージは公開ゲートを通して登録する
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
name |
path | string | はい | |
Idempotency-Key |
header | string | 副作用を伴う POST ではサーバーが必須にする。SDK は無ければ自動で付けるので、型では省略できる |
リクエストの本文
Section titled “リクエストの本文”application/json
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
files |
object[] | はい |
- 201 —
Deployment: 配信 - default —
Problem: RFC 9457 Problem Details
listAppBuilds
Section titled “listAppBuilds”GET/v1/factory/builds
definitions:read が必要。ビルドの記録を新しい順に 20 件。app を省くとプロジェクトのすべてのアプリのビルドを返す (最初のビルドは Application を有効にする前に動くため)
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
app |
query | string |
- 200 —
object: ビルド - default —
Problem: RFC 9457 Problem Details
checkAppBuild
Section titled “checkAppBuild”POST/v1/factory/builds
definitions:release が必要。ビルドの前にソースの一式を確かめて、結果を記録する。違反があれば status が refused の記録を返す。 ソースは保存しない。結果のイメージは、署名の Statement の predicate.build で記録に結び付く。 検査から 1 時間のうちにイメージを登録しないと、記録は expired になり、そのビルドのイメージは受けない
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
Idempotency-Key |
header | string | 副作用を伴う POST ではサーバーが必須にする。SDK は無ければ自動で付けるので、型では省略できる |
リクエストの本文
Section titled “リクエストの本文”application/json
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
app |
string | はい | |
commit |
string | 作業ツリーが手元のコミットと同じときの、そのコミット | |
toolchain |
BuildToolchain | はい | |
files |
object[] | はい |
- 201 —
AppBuild: ビルドの記録 - default —
Problem: RFC 9457 Problem Details
getAppBuild
Section titled “getAppBuild”GET/v1/factory/builds/{id}
definitions:read が必要
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
id |
path | string | はい |
- 200 —
AppBuild: ビルドの記録 - default —
Problem: RFC 9457 Problem Details
listAppImages
Section titled “listAppImages”GET/v1/factory/images
definitions:read が必要。この環境に登録したイメージを新しい順に 100 件
- 200 —
object: イメージ - default —
Problem: RFC 9457 Problem Details
registerAppImage
Section titled “registerAppImage”POST/v1/factory/images
definitions:release が必要。公開ゲートを通ったことの署名(DSSE の封筒)と SBOM を確かめて登録する。 同じ digest を登録し直すと、署名と SBOM を置き換える。Application の image.digest は、登録した digest でなければ有効にできない
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
Idempotency-Key |
header | string | 副作用を伴う POST ではサーバーが必須にする。SDK は無ければ自動で付けるので、型では省略できる |
リクエストの本文
Section titled “リクエストの本文”application/json
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
attestation |
ImageAttestation | はい | |
sbom |
string | はい | CycloneDX の JSON の base64 |
- 201 —
AppImage: 登録したイメージ - default —
Problem: RFC 9457 Problem Details
getAppImage
Section titled “getAppImage”GET/v1/factory/images/{digest}
definitions:read が必要。登録したイメージ。なければ NOT_FOUND
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
digest |
path | string | はい |
- 200 —
AppImage: イメージ - default —
Problem: RFC 9457 Problem Details
getAppImageSbom
Section titled “getAppImageSbom”GET/v1/factory/images/{digest}/sbom
definitions:read が必要。登録した SBOM をそのまま返す
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
digest |
path | string | はい |
- 200 —
object: CycloneDX の JSON - default —
Problem: RFC 9457 Problem Details
getAppImageRegistration
Section titled “getAppImageRegistration”GET/v1/factory/images/{digest}/registration
definitions:read が必要。登録した署名と SBOM を、登録の要求の本文と同じ形で返す。昇格先の環境がこれを登録し、 自分の信頼する鍵で確かめ直す。署名の保存を始める前に登録したイメージは NOT_FOUND
パラメーター
Section titled “パラメーター”| 名前 | 場所 | 型 | 必須 | 説明 |
|---|---|---|---|---|
digest |
path | string | はい |
- 200 —
object: 署名と SBOM - default —
Problem: RFC 9457 Problem Details