Skip to content

Repo / Service / Worker

Repo

Repo は deploy の source provenance です。Takos は repo-local な .takos/app.yml と、そこから参照される workflow artifact を使って app deployment を解決します。

Repo の主要フィールド

fielddescription
namerepository 名
visibilitypublic / private
default_branchデフォルトブランチ
git_enabledGit 操作の有効/無効
forked_from_idfork 元の repo ID (任意)

Repo は Pull Request モデルも持ち、AI review を含む code review を space 内で行えます。

Service

Service は internal model での実行単位です。current app manifest では spec.services がその入口です。

Service status

Service は次の状態を持ちます。

status説明
pending作成直後
buildingbuild 中
deployeddeploy 完了
faileddeploy 失敗
stopped停止中

Service の target

現在の public manifest では worker service が正本です。一方で internal routing / runtime model では次の target を扱います。

  • worker-backed service — canonical な tenant artifact
  • external HTTP endpointhttp-url target
  • container host 経由の runtime — OCI 系 backend

そのため「app manifest の public contract」と「service-centric な internal model」は一致しつつも同一ではありません。

Service の制限

Space あたり最大 100 service です。

Worker

Worker は public deploy/unit として見える surface です。利用者から見ると takos deployapp deployment が入口ですが、内部では app -> service -> route -> runtime の構造に分解されます。

Worker は Service の public-facing alias です。API 上の /api/workers は内部的に service を操作します。

App

App は deploy された application の identity です。

fielddescription
app_typeplatform / builtin / custom
worker_id紐づく service/worker
takos_client_keyTakos client 識別子

App は deploy のたびに更新され、service / route / resource / OAuth / MCP の reconcile 結果を保持します。

Deployment

Deployment は service に対する 1 回の deploy 結果です。

Deploy state

state説明
pendingdeploy 開始前
uploading_bundlebundle アップロード中
creating_resourcesresource 作成中
deploying_workerworker deploy 中
setting_bindingsbinding 設定中
routingrouting 設定中
completeddeploy 完了
faileddeploy 失敗
rolled_backrollback 済み

Routing status

status説明
active現在のアクティブな deployment
canarycanary traffic を受ける deployment
rollbackrollback 対象の deployment
archivedアーカイブ済み

Deployment provider

provider説明
workers-dispatchCloudflare Workers (WFP)
ociOCI container (Docker)
ecsAWS ECS
cloud-runGoogle Cloud Run
k8sKubernetes

Canary deployment

canary strategy を使うと、新しい deployment にトラフィックの一部だけを流せます。routing_weight で割合を制御します。container-image deploy では canary は使えません。

Custom Domain

Service に独自ドメインを紐づけられます。

status説明
pending作成直後
verifyingDNS 検証中
dns_verifiedDNS 検証完了
ssl_pendingSSL 証明書待ち
active有効

CNAME / TXT による DNS 検証を経て、Cloudflare custom hostname として登録されます。

Route

Route は service への入口です。app manifest では spec.routes[] として宣言し、deploy 時に hostname/path と結びつきます。

hostname ベースの routing は KV store (HOSTNAME_ROUTING) と Durable Object (ROUTING_DO) で管理されます。

public と internal の境界

current docs では次を区別します。

  • public deploy surface: repo/ref + .takos/app.yml + app-deployments
  • lower-level/internal surface: service deployment details, provider-specific routing

old docs にあった POST /services/:id/deployments 中心の説明は lower-level surface として残っていても、repo-local app deploy の primary contract ではありません。