Skip to content
HaneDOCS日本語

API reference

App Factory

Registered apps, their deployments, image signatures and SBOMs.

Generated from the public API contract (OpenAPI). Descriptions in the contract are written in Japanese.

GET /v1/factory/applications
GET /v1/factory/applications/{name}/deployments
POST /v1/factory/applications/{name}/deployments
GET /v1/factory/builds
POST /v1/factory/builds
GET /v1/factory/builds/{id}
GET /v1/factory/images
POST /v1/factory/images
GET /v1/factory/images/{digest}
GET /v1/factory/images/{digest}/sbom
GET /v1/factory/images/{digest}/registration

GET/v1/factory/applications

definitions:read が必要。有効なバージョンのアプリと、いま出している配信

  • 200 — object: アプリ
  • default — Problem: RFC 9457 Problem Details

GET/v1/factory/applications/{name}/deployments

definitions:read が必要。新しい順に 20 件

Name In Type Required Description
name path string yes
  • 200 — object: 配信
  • default — Problem: RFC 9457 Problem Details

POST/v1/factory/applications/{name}/deployments

definitions:release が必要。ファイルの一式(index.html を含む 200 件・10 MiB まで。中身は base64)を置き、 そのアプリの最新の配信にする。配れるのは決めた拡張子(HTML・JS・CSS・JSON・画像・フォント・テキスト)だけ。 spec.image を持つアプリには置けない(CONFLICT)。イメージは公開ゲートを通して登録する

Name In Type Required Description
name path string yes
Idempotency-Key header string 副作用を伴う POST ではサーバーが必須にする。SDK は無ければ自動で付けるので、型では省略できる

application/json

Name Type Required Description
files object[] yes
  • 201 — Deployment: 配信
  • default — Problem: RFC 9457 Problem Details

GET/v1/factory/builds

definitions:read が必要。ビルドの記録を新しい順に 20 件。app を省くとプロジェクトのすべてのアプリのビルドを返す (最初のビルドは Application を有効にする前に動くため)

Name In Type Required Description
app query string
  • 200 — object: ビルド
  • default — Problem: RFC 9457 Problem Details

POST/v1/factory/builds

definitions:release が必要。ビルドの前にソースの一式を確かめて、結果を記録する。違反があれば status が refused の記録を返す。 ソースは保存しない。結果のイメージは、署名の Statement の predicate.build で記録に結び付く。 検査から 1 時間のうちにイメージを登録しないと、記録は expired になり、そのビルドのイメージは受けない

Name In Type Required Description
Idempotency-Key header string 副作用を伴う POST ではサーバーが必須にする。SDK は無ければ自動で付けるので、型では省略できる

application/json

Name Type Required Description
app string yes
commit string 作業ツリーが手元のコミットと同じときの、そのコミット
toolchain BuildToolchain yes
files object[] yes
  • 201 — AppBuild: ビルドの記録
  • default — Problem: RFC 9457 Problem Details

GET/v1/factory/builds/{id}

definitions:read が必要

Name In Type Required Description
id path string yes
  • 200 — AppBuild: ビルドの記録
  • default — Problem: RFC 9457 Problem Details

GET/v1/factory/images

definitions:read が必要。この環境に登録したイメージを新しい順に 100 件

  • 200 — object: イメージ
  • default — Problem: RFC 9457 Problem Details

POST/v1/factory/images

definitions:release が必要。公開ゲートを通ったことの署名(DSSE の封筒)と SBOM を確かめて登録する。 同じ digest を登録し直すと、署名と SBOM を置き換える。Application の image.digest は、登録した digest でなければ有効にできない

Name In Type Required Description
Idempotency-Key header string 副作用を伴う POST ではサーバーが必須にする。SDK は無ければ自動で付けるので、型では省略できる

application/json

Name Type Required Description
attestation ImageAttestation yes
sbom string yes CycloneDX の JSON の base64
  • 201 — AppImage: 登録したイメージ
  • default — Problem: RFC 9457 Problem Details

GET/v1/factory/images/{digest}

definitions:read が必要。登録したイメージ。なければ NOT_FOUND

Name In Type Required Description
digest path string yes
  • 200 — AppImage: イメージ
  • default — Problem: RFC 9457 Problem Details

GET/v1/factory/images/{digest}/sbom

definitions:read が必要。登録した SBOM をそのまま返す

Name In Type Required Description
digest path string yes
  • 200 — object: CycloneDX の JSON
  • default — Problem: RFC 9457 Problem Details

GET/v1/factory/images/{digest}/registration

definitions:read が必要。登録した署名と SBOM を、登録の要求の本文と同じ形で返す。昇格先の環境がこれを登録し、 自分の信頼する鍵で確かめ直す。署名の保存を始める前に登録したイメージは NOT_FOUND

Name In Type Required Description
digest path string yes
  • 200 — object: 署名と SBOM
  • default — Problem: RFC 9457 Problem Details