API: Releases
Generated from openapi.json 0.1.0-draft (draft)
The release pointer every scale-out and healing action boots from.
Create a release and move the group's current pointer to it
post/groups/{groupId}/releases
Records a release and makes it the group's current release. Every scale-out and every healing action boots from current; :latest is never used. The group's generation is incremented, which discards scaling decisions made against the previous release, and the group.release_changed event is sent.
Parameters
| Parameter | Type | Description |
|---|---|---|
| groupId (path)* | string | Group identifier, a ULID prefixed with grp_. Example: grp_01J8X4V9K2N7Q3R5S6T7V8W9XB. |
* required
Request body
| Field | Type | Description |
|---|---|---|
| ref* | string | The artefact to boot from: a Hetzner snapshot id, an image digest or a Coolify deployment reference, depending on the group's adapter. |
| build_id | string | The customer's own build identifier for this release; nodes report it so stale nodes can be found. |
* required
{
"ref": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"build_id": "4711"
}Responses
- 201
- The release was recorded and is now the group's current release.
- 401
- The API token is missing, invalid or revoked.
- 404
- The group or node does not exist or belongs to another organisation.
- 422
- The request body failed validation.
- 429
- The organisation's API rate limit is exhausted; retry later.
Body: Release
Body: Error
Body: Error
Body: Error
Example
curl -X POST https://api.hetscale.com/groups/grp_01J8X4V9K2N7Q3R5S6T7V8W9XB/releases \
-H "Authorization: Bearer $HETSCALE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "ref": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", "build_id": "4711" }'