Skip to content

Worker Endpoint 0.1.0

有効なデプロイを、Hostが割り当てたHTTPSアドレスで公開します。

公開パッケージの内容を取得して検証済みです。

Hostの対応や受け入れ判断は、パッケージの公開とは別です。このバージョンを使う前に、利用先のHostで確認してください。

使い方

ホスト名は指定しません。Hostが返すアドレスは、この接続のUIDが同じならデプロイが変わっても維持されます。

関連するForms: ModuleWorker 0.1.0 · WorkerDeployment 0.2.0 · WorkerCustomDomain 0.1.0

定義の説明(英語原文)

Makes one Module Worker reachable over HTTPS at an address the HOST assigns, with no customer-owned domain and no DNS of the author's. The desired state is the worker and nothing else: the author asks for reachability, and where that reachability lives is the host's decision, exactly as an account, a region, and a vendor subdomain are. Requests arriving at the address invoke the fetch handler of the worker's ACTIVE DEPLOYMENT, so promotion and rollback move what answers without the endpoint being re-applied and without its address changing. The scheme is https and the path root is `/`; TLS is not an option a host may decline, because an address that is only reachable in plaintext is a different promise from the one this Form makes. A worker has AT MOST ONE endpoint: two would be two addresses for one service with nothing saying which is canonical, and the second is refused. The assigned address is published as outputs — a portable author may rely on a value being returned, on its scheme being https, and on it routing to the active deployment, and on nothing about its SHAPE: which subdomain, which apex, and how long the label is are host detail no portable configuration may parse or reconstruct. The address is IMMUTABLE for the lifetime of the endpoint's attachment UID. It MUST NOT change on deployment promotion, on status refresh, on a host's internal placement change, or on a backend migration; a host that needs to change the address deletes the endpoint and the author creates a new one, which is a new attachment with a new UID.

設定項目

項目名とスキーマ内の説明は、パッケージに含まれる英語の原文です。日本語の解説は定義に要件を追加するものではありません。

worker

必須 · object

Module Worker whose active deployment answers requests at the assigned address. Changing it replaces the endpoint.

  • additionalProperties: false

設定の例

パッケージに含まれるfixtures/desired.jsonをそのまま掲載しています。完全なHost APIリクエストやOpenTofuの設定ではありません。例のリソース参照とArtifactのダイジェストは、実際の値に置き換えてください。このJSONだけでリソースが作成されることはありません。

json
{
  "worker": {
    "apiVersion": "edge.forms.takoform.com",
    "kind": "ModuleWorker",
    "name": "module-worker"
  }
}

例の原文を見る

設定のスキーマ全文(英語原文)

入れ子の項目、選択肢、すべてのスキーマ制約を以下に掲載しています。Hostが検証する意味上の規則は、定義の説明にも記載されています。

json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Makes one Module Worker reachable over HTTPS at an address the HOST assigns, with no customer-owned domain and no DNS of the author's. The desired state is the worker and nothing else: the author asks for reachability, and where that reachability lives is the host's decision, exactly as an account, a region, and a vendor subdomain are. Requests arriving at the address invoke the fetch handler of the worker's ACTIVE DEPLOYMENT, so promotion and rollback move what answers without the endpoint being re-applied and without its address changing. The scheme is https and the path root is `/`; TLS is not an option a host may decline, because an address that is only reachable in plaintext is a different promise from the one this Form makes. A worker has AT MOST ONE endpoint: two would be two addresses for one service with nothing saying which is canonical, and the second is refused. The assigned address is published as outputs — a portable author may rely on a value being returned, on its scheme being https, and on it routing to the active deployment, and on nothing about its SHAPE: which subdomain, which apex, and how long the label is are host detail no portable configuration may parse or reconstruct. The address is IMMUTABLE for the lifetime of the endpoint's attachment UID. It MUST NOT change on deployment promotion, on status refresh, on a host's internal placement change, or on a backend migration; a host that needs to change the address deletes the endpoint and the author creates a new one, which is a new attachment with a new UID.",
  "properties": {
    "worker": {
      "additionalProperties": false,
      "description": "Module Worker whose active deployment answers requests at the assigned address. Changing it replaces the endpoint.",
      "properties": {
        "apiVersion": {
          "const": "edge.forms.takoform.com",
          "type": "string"
        },
        "kind": {
          "const": "ModuleWorker",
          "type": "string"
        },
        "name": {
          "maxLength": 63,
          "minLength": 1,
          "pattern": "^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$",
          "type": "string"
        }
      },
      "required": [
        "apiVersion",
        "kind",
        "name"
      ],
      "type": "object",
      "x-takoform-required-entrypoint": "fetch",
      "x-takoform-required-interface": {
        "apiVersion": "interfaces.takoform.com/v1alpha1",
        "name": "worker.runtime",
        "schemaDigest": "sha256:ed2f8211aac5be94488d391945ca6aca7627a4ecbd261e39790093e887feae08",
        "version": "1.1.0"
      }
    }
  },
  "required": [
    "worker"
  ],
  "title": "Worker Endpoint desired state",
  "type": "object"
}

ライフサイクル

役割: attachment

  • create
  • read
  • delete
  • import
  • observe

提供するInterface

ありません。

パッケージ参照

項目
KindWorkerEndpoint
Package digestsha256:e68431e901e44768b9ceb4a4b95fc0d12a9930decd505c56cfe26ad9f51bdc3a
Schema digestsha256:732f60aba45ce360d5ebbc6ac2e55fe4d59b65d353f4628e93960d71fbc2870f
Tagforms/k-mvsgozjomzxxe3ltfz2gc23pmzxxe3jomnxw2l2xn5zgwzlsivxgi4dpnfxhi/sha256-e68431e901e44768b9ceb4a4b95fc0d12a9930decd505c56cfe26ad9f51bdc3a
Source pathforms/releases/k-mvsgozjomzxxe3ltfz2gc23pmzxxe3jomnxw2l2xn5zgwzlsivxgi4dpnfxhi/sha256-e68431e901e44768b9ceb4a4b95fc0d12a9930decd505c56cfe26ad9f51bdc3a
署名セットe7f8a39311dd011b8467e97e7f300cabb9a6b06c

変更不可のパッケージを開く

4項目のFormRef
json
{
  "apiVersion": "edge.forms.takoform.com",
  "kind": "WorkerEndpoint",
  "definitionVersion": "0.1.0",
  "schemaDigest": "sha256:732f60aba45ce360d5ebbc6ac2e55fe4d59b65d353f4628e93960d71fbc2870f"
}