Secrets

Delete a secret

Deletes it. revision_id is required, and a stale one is a 409 with reason: "stale_revision" and nothing deleted; sending the same request again gets the same answer. Owners only.

Deleting does not recall a value already delivered, and it is not refused while computers are bound to the secret. A running computer bound to it keeps the value it holds. One window remains: if a replace of this secret was still being sent to a computer bound to it as a file when the delete committed, that value may still arrive — a send not yet dispatched is abandoned, one already on its way is not.

Nothing more is delivered after the delete, so a computer still bound to it cannot be given its secrets again. Its next start, and a disk snapshot restored onto it, are refused with 409 and reason: "unsupported" until the binding is removed; a restart, or a reboot inside the guest, stops it rather than bring it up without them; and a suspended one cannot resume its saved session. Remove the binding with PUT /computers/{id}/secrets — before deleting, or on the stopped computer afterwards — to start it again.

AN EGRESS PROXY THAT SIGNS IN WITH IT IS SHUT OFF. Every computer whose egress_proxy.credentials_secret_id names this secret has its proxy credentials revoked on this control plane before the answer is sent, so nothing is sent to its host for it again. Its host is then told to drop the value it holds, without the answer waiting for that: until the host has, new connections can still sign in with it. Once it has, every connection that computer opens is refused rather than sent directly (egress_proxy_pending), until its egress_proxy is saved naming a secret that exists. A host that could not be told is told again by the platform’s next reconcile.

A secret in a workspace is found only with that workspace_id; for any other it is a 404, a workspace_id that names no workspace of this account included. An API key confined to a workspace that names any other scope is refused with 403 instead; an account-wide key gets the 404.

Requires the owner role or higher.

delete/secrets/{id}

Request

  • Base URL: https://app.mandala.computer/api/v1
  • URL: https://app.mandala.computer/api/v1/secrets/{id}
  • Auth: HTTP bearer

Path parameters

idstring required

The secret id.

Query parameters

revision_idstring required

The revision_id a read of this secret answered. Missing or malformed is a 400.

workspace_idstring

The workspace the secret belongs to. Leave it out for an account-wide one.

Response

Gone.

okboolean

Always true. A failure is a status code, not ok: false.

Changes

No recorded changes to this operation across all 1 revision of this API.