Add a container registry
Team admins (`team.manage`). Sync uses the registry whose `address` is the longest match of an image (whole path segments) to resolve the image's digest, and the service's pods pull with the same credentials. The credentials are not checked here; a Plan reports a refused pull as the blocker `image-unavailable`. 409 `name-taken` when the team has a registry of that name or address.
openapi/harthelm.yaml at v1.5.0__Host-harthelm_session<token>Browser session of the UI (12 h idle, 7 days absolute). State-changing requests also need the header
Harthelm-CSRF: 1 and a matching Origin.
team*integerNumeric resource id.
int641 <= valueIdempotency-Key?stringClient-chosen key (at most 255 characters); a repeated key returns the first result for 24 h.
1 <= length <= 255application/json- body
name*string1 <= length <= 64address*RegistryAddressA registry host with an optional port and path prefix, lower case, without a scheme: ghcr.io,
ghcr.io/acme, registry.example.org:5000/team. Docker Hub is docker.io. An image matches on whole path
segments; the longest matching address of the team wins.
^[a-z0-9]([-a-z0-9.]*[a-z0-9])?(:[0-9]{1,5})?(/[a-z0-9]([-a-z0-9._]*[a-z0-9])?)*$length <= 255username*string1 <= length <= 255password*stringThe password or access token; stored sealed and never returned.
password1 <= length <= 4096The registry.
application/json- response
id*IDNumeric resource id.
int641 <= valueteam_id*IDNumeric resource id.
int641 <= valuename*stringaddress*RegistryAddressA registry host with an optional port and path prefix, lower case, without a scheme: ghcr.io,
ghcr.io/acme, registry.example.org:5000/team. Docker Hub is docker.io. An image matches on whole path
segments; the longest matching address of the team wins.
^[a-z0-9]([-a-z0-9.]*[a-z0-9])?(:[0-9]{1,5})?(/[a-z0-9]([-a-z0-9._]*[a-z0-9])?)*$length <= 255username*stringcreated_at*stringdate-timeupdated_at*stringdate-timecurl -X POST 'https://console.example.com/api/v1/teams/1/registries' \ -H 'Content-Type: application/json' \ -d '{ "name": "string", "address": "string", "username": "string", "password": "pa$$word"}'{ "id": 1, "team_id": 1, "name": "string", "address": "string", "username": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}Wake targets of a workspace
Needs `workspace.view`. Wakes the named targets, or without a body the IDE and every service whose run switch is on. Returns at once: a target that can wake is `waking` (the IDE first in `rwo-colocated` mode, then the services on its node), one that cannot says why in `wake.state` (`no-capacity`, `sleeps-until`, `paused`, `stopped`, `busy`). An awake target stays as it is. The shell calls it when the workspace page opens (pre-wake) with `{"targets": ["ide"]}`.
Remove a container registry
Team admins (`team.manage`). The pull Secrets of running services lose these credentials at their workspace's next reconcile (pods that are running keep their image); the next Plan resolves their images without them.