Pipelines Step Reference.

Pipeline Steps Reference

A pipeline automates work across Cycle by running an ordered sequence of steps. Each step performs one concrete action, like importing an image, reimaging a container, deploying a stack build, or moving a deployment tag. Steps are grouped into stages, run in order, and triggered by a trigger key, directly in the UI, or via the API. Pipelines are the backbone of GitOps on Cycle: a git push or CI job fires the key, and the pipeline does the rest.

This page is the complete catalog of step types. There are 30, grouped by the resource they act on: images, containers, environments, deployments, stacks, webhooks, and one control step (sleep). Use it to look up exactly which fields a step accepts and which are required.

Using this Guide

This guide, like the portal itself, is an extension of the pipelines schemas found in the public API. For each step, the step name as provided in the portal and the API spec name are side by side. There are also some custom types shown within the Type column. These can be referenced and found in the spec as well if unclear.

To look deeper at the implementation, check out the full API spec here.

How every step is shaped

Each step shares the same outer envelope, then carries a step-specific details payload. The envelope is identical everywhere, so the per-step tables below document only the details object — the part that changes.

Field

Type

Required

Description

action

string (enum)

✓

The step type — the discriminator that selects everything else. The exact value is shown in each step heading (e.g. container.reimage).

identifier

string

—

A name for this step, so later steps (or webhooks) can reference its output via from:<stage/step>.

options.skip

boolean

—

When true, the step is skipped at run time.

details

object

✓

The step-specific payload documented in each table below.

Reading the tables

A few conventions recur throughout, so they're defined once here rather than repeated in every row:

  • FluidIdentifier — how steps point at a resource. It takes three forms: id:<id> (a raw resource ID), resource:<identifier> (a compound selector, e.g. resource:cluster:dev,env:demo,container:api), or from:<stage/step> (the output of an earlier step). Reach for from: to chain steps — for example, create an image in one step, then reference it with from: in the import step that follows.
  • VariableString — a string that may contain {{variable}} placeholders, resolved at run time from the pipeline's variables.
  • Duration — a time string such as 30s or 5m.
  • The Required column reflects the spec: ✓ means the field is required whenever its parent object is present. Where a parent object is optional but has its own required children, that's called out in a footnote under the table.


Image steps

Create Image — image.create

details field

Type

Required

Description

source

FluidIdentifier

✓

The image source to create the image from.

name

string | null

—

Optional name for the created image.

build.args

map<string,string> | null

—

Build args passed into the image build process at run time.

override.target

string | null

—

For docker-hub / docker-registry origins: override the default target (image:tag).

override.targz_url

string | null

—

For docker-file origins: a URL to a .tar.gz of a repo containing a Dockerfile, used instead of linking a repository.

Import Image — image.import

details field

Type

Required

Description

Image Target

FluidIdentifier

✓

The image to import (fetch/build into a usable, immutable image).

Create & Import Image — image.create-import

details field

Type

Required

Description

source

FluidIdentifier

✓

The image source to create from, then import in one step.

name

string | null

—

Optional name for the created image.

build.args

map<string,string> | null

—

Build args passed into the build process at run time.

override.target

string | null

—

For docker-hub / docker-registry origins: override target (image:tag).

override.targz_url

string | null

—

For docker-file origins: URL to a .tar.gz repo with a Dockerfile.

Prune Images — images.prune

details field

Type

Required

Description

source_ids

array<ID>

✓

The image source IDs whose eligible images should be pruned.


Container steps

Create Container — container.create

details field

Type

Required

Description

container name

string

✓

The container's name.

container identifier

string

—

An identifier for the container, derived from the name if not provided.

environment

FluidIdentifier

✓

The environment to deploy into.

image

FluidIdentifier

✓

The image to build the container from.

stateful

boolean

✓

Whether the container is stateful (true) or stateless (false). The checkbox being unchecked is stateless.

config

Config object

✓

Full configuration only supported in API(network, runtime, resources, deploy, scale, integrations). Partial list reference same as container create wizard.

volumes

array<ContainerVolume>

✓

Must select image target before this field is visible in portal. Volume configuration for the container.

deployment

Deployment | null

—

Optional deployment (version) to assign the container to.

Start Container — container.start

details field

Type

Required

Description

container

FluidIdentifier

✓

The container to start.

Stop Container — container.stop

details field

Type

Required

Description

container

FluidIdentifier

✓

The container to stop.

Restart Container — container.restart

details field

Type

Required

Description

container

FluidIdentifier

✓

The container to restart.

Reimage Container — container.reimage

details field

Type

Required

Description

container

FluidIdentifier

✓

The container to reimage.

image

FluidIdentifier

✓

The new image to apply.

options.allow_incompatible

boolean

✓

When true, the new image need not be compatible with the one it replaces.

options.overwrite_runtime_config

boolean

✓

When true, overwrite the container's current runtime configuration during reimage.

Delete Container — container.delete

details field

Type

Required

Description

container

FluidIdentifier

✓

The container to delete.

Deprecate Container — container.deprecate

details field

Type

Required

Description

container

FluidIdentifier

✓

The container to deprecate.

unset

boolean

—

When true, removes the deprecated marker instead of setting it.

Trigger Function — container.function.trigger

details field

Type

Required

Description

container

FluidIdentifier

✓

The function container to trigger.

runtime_variables

FunctionRuntimeVariables

—

Runtime variables passed to the triggered function instance.

token

VariableString | null

—

A custom token used to identify and manage the claim.


Environment steps

Create Environment — environment.create

details field

Type

Required

Description

environment name

string

✓

The environment's name.

cluster

string

✓

The cluster the environment runs on.

features

EnvironmentFeatures

✓

Environment feature configuration (e.g. legacy networking).

Start Environment — environment.start

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment to start.

Stop Environment — environment.stop

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment to stop.

Delete Environment — environment.delete

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment to delete.


Deployment steps

Start Environment Deployment — environment.deployment.start

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment containing the deployment.

tag

string | null

—

Target the deployment with this tag.

version

string | null

—

Target the deployment with this exact version.

Stop Environment Deployment — environment.deployment.stop

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment containing the deployment.

tag

string | null

—

Target the deployment with this tag.

version

string | null

—

Target the deployment with this exact version.

Update Environment Tag Version — environment.deployments.tag

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment containing the deployments.

tag

Identifier

✓

The tag to apply (e.g. prod).

deployment.version

Version

✓*

Selector — target the deployment with this exact version.

deployment.tag

string

✓*

Selector — target the deployment that currently has this tag.

*deployment is required; provide either version or tag as the selector.

Prune Deployments — environment.deployments.prune

details field

Type

Required

Description

environment

FluidIdentifier

✓

Removes any containers in a deployment that has no tag associated with it.

Deprecate Environment Deployment — environment.deployment.deprecate

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment containing the deployment. Deprecated deployments stop receiving new traffic; existing instances keep running until stopped.

tag

string | null

—

Target the deployment with this tag.

version

string | null

—

Target the deployment with this exact version.

Reinstate Environment Deployment — environment.deployment.reinstate

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment containing the deployment. Restores a previously deprecated deployment to active status.

tag

string | null

—

Target the deployment with this tag.

version

string | null

—

Target the deployment with this exact version.

Wait for Environment Deployment Healthcheck — environment.deployment.healthy.watch

details field

Type

Required

Description

environment

FluidIdentifier

✓

The environment to watch. Waits until all health-checked instances that changed state in the last 15 minutes become healthy before continuing.

tag

string | null

—

Target the deployment with this tag.

version

string | null

—

Target the deployment with this exact version.

max_wait

Duration | null

—

Maximum time to wait for health before failing the step.


Stack steps

Create Stack Build — stack.build.create

details field

Type

Required

Description

stack

FluidIdentifier

✓

The stack to build.

use latest commit

boolean

—

When checked the stack is built from the latest commit, circumventing the need to define git instructions.

instructions.git.type

enum: branch | hash | tag

—*

The kind of git reference supplied.

instructions.git.value

string

—*

The git reference value (branch name, commit hash, or tag).

instructions.variables

map<string,string>

—

Variables substituted into {{variable}} placeholders in the stack at build time.

*type and value are both required if the git object is provided. †version and description are both required if the about object is provided.

Generate Stack Build — stack.build.generate

details field

Type

Required

Description

build

FluidIdentifier

✓

The stack build to generate (resolve into a deployable artifact).

Deploy Stack Build — stack.build.deploy

details field

Type

Required

Description

stack build location

FluidIdentifier

✓

The stack build to deploy.

environment

FluidIdentifier

✓

The environment to deploy into.

container options

StackBuildDeploymentUpdates | null

—

Per-container update behavior (reimage / reconfigure handling).

scoped variable options


—

Options for controlling how scoped variables defined in the stack are deployed

variables

map<string,string> | null

—

Variables substituted into {{variable}} placeholders at deploy time.

deployment

Deployment | null

—

Optional deployment (version) to assign the deployed containers to.

Prune Stack — stack.prune

details field

Type

Required

Description

stack

FluidIdentifier

✓

The stack whose old builds should be pruned.


Webhook steps

Webhook POST — webhook.post

details field

Type

Required

Description

url

string

✓

The endpoint to POST to.

headers

map<string,string> | null

—

Optional headers to send with the request.

body

string | null

—

Custom POST body. Mutually exclusive with from.

from

string | null

—

Use a previous step's output as the body, format <stageIdentifier/stepIdentifier> (e.g. init/image-create). Mutually exclusive with body.

options

WebhookStepOptions | null

—

Retry/failure behavior (see below).

If neither body nor from is set, the webhook posts the full body of the resource referenced by the step.

Webhook GET — webhook.get

details field

Type

Required

Description

url

string

✓

The endpoint to GET.

headers

map<string,string> | null

—

Optional headers to send with the request.

options

WebhookStepOptions | null

—

Retry/failure behavior (see below).

WebhookStepOptions (shared by both webhook steps):

Field

Type

Required

Description

max_attempts

integer | null

—

Maximum number of attempts before giving up.

interval

Duration | null

—

Wait time between retries.

fail_on.not

boolean

✓ (if fail_on set)

If true, fail on any code not in http_codes.

fail_on.http_codes

array<integer> | null

—

HTTP response codes that trigger a failure.

retry_on.not

boolean

✓ (if retry_on set)

If true, retry on any code not in http_codes.

retry_on.http_codes

array<integer> | null

—

HTTP response codes that trigger a retry.


Control steps

Sleep — sleep

details field

Type

Required

Description

duration

Duration

—

How long to pause before moving to the next step.

Cookies

Cookies Preferences

We run basic, anonymous analytics by default to measure site traffic. By clicking "Accept," you allow additional cookies for advanced app improvements and tailored advertising. Choose what you share by clicking "Customize."