Skip to content
Console
Menu

Queues

Workflows

Getting Started

Authentication

KV Store

Create a release

Creates a release: admits it and rolls it out in waves.

This method is not served on the public API. api.sylphx.com does not route this call: its backend is not deployed behind the public API, or does not implement the call. This page documents the contract. It is kept out of the sidebar and of search engines.

Creates a release: admits it and rolls it out in waves. The Operation is done when the release is live or halted.

Not available yet. Sylphx Release is declared in the registry but no backend serves it: every call answers 501 with the problem code UNIMPLEMENTED.

  • Path POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/releases
  • Scope release:write
  • Effect write — a successful call changes state.
  • Collection releases
  • Query release_id, validate_only
  • Operation answers with an Operation; the result is Release

#Request

FieldTypeWhat it is
parentstringThe environment to create in. Required.
releaseReleaseThe release to create; only spec and caller-writable metadata are read. Required.
release_idstringThe id of the new release, ^[a-z]([a-z0-9_-]{0,61}[a-z0-9])?$; the server assigns one when empty.
validate_onlyboolValidate and return the result without writing anything.

#Release

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/releases/{release}.
metaResourceMetaResource metadata.
specReleaseSpecDesired state. Required.

#ResourceMeta

FieldTypeWhat it is
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.

#ReleaseSpec

FieldTypeWhat it is
membersReleaseMember[]The workloads, each by artifact digest. A member that names a tag or an unverified Artifact is refused. Required.
rollout_policyRolloutPolicyHow the Release rolls out.

#ReleaseMember

FieldTypeWhat it is
workloadstringThe workload's name in the environment, for example api: the owning service's Resource id (a Hosting service, a Workflows worker,...). Required.
artifactstringThe Artifact to run, by digest. Required.
configmap<string, string>Plain configuration values delivered as environment variables. Never a secret value: those are Secret bindings.
secretsSecretPin[]The Secret bindings the workload receives, each pinned to a version.
placementPlacementWhere the workload runs.

#RolloutPolicy

FieldTypeWhat it is
bake_durationdurationHow long each wave bakes, healthy, before the next starts; default 10 minutes.
halt_on_failureboolHalt the rollout when a wave's health gate fails; default true.
skip_wavesboolSkip the waves and apply to every cell together: break-glass only, and refused for any other principal.

#Response

FieldTypeWhat it is
namestring{parent-of-target}/operations/{operation}.
targetstringThe name of the Resource being changed.
target_generationint64The generation this Operation waits for.
verbOperationVerbWhat the Operation does. One of create, update, delete, custom.
custom_verbstringThe custom method verb when verb is CUSTOM, for example revoke.
doneboolWhether the Operation has finished.
create_timetimestampWhen the Operation started.
end_timetimestampWhen the Operation finished.
responseanyThe settled Resource (or Empty for a delete). One of the result group.
errorProblemDetailsThe failure, as the one error body. One of the result group.
progressOperationProgressProgress while not done.

#ProblemDetails

FieldTypeWhat it is
typestringhttps://sylphx.com/docs/errors/<code in kebab-case>.
titlestringA short customer-safe summary of the problem class.
statusint32The HTTP status, fixed by grpc_status.
detailstringA customer-safe explanation of this occurrence. Never contains SQL, stack traces, internal hostnames, or another tenant's data.
instancestringThe request id (Sylphx-Request-Id).
codestringThe stable UPPER_SNAKE code, one of ErrorCode without its prefix.
grpc_statusstringOne of the 16 canonical gRPC status names, for example ABORTED.
retryableboolWhether the same request may be retried.
effectErrorEffectWhat the failed call committed. One of none, applied, unknown.
retry_after_msint64How long to wait before retrying, when the server knows.
detailsany[]Typed details such as PreconditionFailure or EntitlementDenial.

#OperationProgress

FieldTypeWhat it is
percentint32Percent complete, when the controller can tell.
messagestringA customer-safe progress message.
conditionsCondition[]The target's conditions when this progress was read.

#Condition

FieldTypeWhat it is
typestringThe condition type, for example Ready.
statusConditionStatusWhether the condition holds. One of true, false, unknown.
observed_generationint64The generation this observation was made against.
reasonstringA machine-readable UpperCamelCase reason.
messagestringA customer-safe human-readable message.
severitySeverityHow severe a FALSE condition is. One of info, warning, error.
transition_timetimestampWhen status last changed.

#Errors

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/releases" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spec":{"members":[{"artifact":"…","workload":"…"}]}}'