Live contexts

This page describes the contexts a live workflow can use in expressions for calculating YAML attribute values.

Live Contexts

Context name
Description

env

Contains environment variables set in a workflow or a job. For more information, see env context .

flow

Information about the main workflow settings, defaults, etc. See flow context for details.

project

Information about the project. See project context for details.

images

Contains a mapping of images on the Apolo registry. See images context for details.

multi

Multi-job context. For more information, see multi context.

params

A mapping of global workflow parameters. For more information, see params context.

tags

A set of job tags set in a workflow or a job. See tags context for details.

volumes

Contains a mapping of volume definitions. For more information, see volumes context.

git

A mapping of the flow's workspace to a git repository. For more information, see git context.

env context

The env context contains environment variables that have been set in a workflow or a job. For more information about setting environment variables in your workflow, see "Live workflow syntax."

The env context syntax allows you to use the value of an environment variable in your workflow file. If you want to use the value of an environment variable inside a job, use your operating system's standard method for reading environment variables.

Property name
Type
Description

env.<env-name>

str

The value of a specific environment variable.

flow context

The flow context contains information about the workflow: its id, title, etc.

Property name
Type
Description

flow.flow_id

str

The workflow's ID. It's automatically generated based on the workflow's YAML filename with a dropped suffix (this will always 'live' in live mode). You can override the property by setting the flow.id attribute.

flow.project_id

str

The project's ID. It is automatically generated based on the name of the flow folder. You can override it using project.id attribute. Check the project configuration for details.

flow.workspace

LocalPath

A path to the workspace (the root folder of the flow).

flow.title

str

The workflow title. Set the flow.title attribute to override the auto-generated value.

flow.username

str

Name of user who executed the workflow run.

project context

The projectcontext contains information about the project: its ID, owner, etc.

Property name
Type
Description

project.id

str

The project's ID. It is automatically generated based on the name of the flow folder. You can override it using project.id attribute. Check the project configuration for details. This context property is an alias to flow.project_id .

project.owner

str

The project's owner. See also: the project configuration.

project.project_name

str

The platform project name. Set the project.project_name attribute to override the auto-calculated value.

images context

Contains information about images defined in the images section of a live workflow.

Property name
Type
Description

images.<image-id>.id

str

The image definition identifier. For more information, see images.<image-id> section.

images.<image-id>.ref

str

The image reference. For more information, see images.<image-id>.ref attribute.

images.<image-id>.context

LocalPath or None

The context directory used for building the image or None if the context is not set. The path is relative to the flow's root (flow.workspace property).

For more information, see images.<image-id>.context attribute.

images.<image-id>.full_context_path

LocalPath or None

The absolute path, pointing to the context folder if set.

images.<image-id>.dockerfile

LocalPathor None

A path to Dockerfile or None if not set.

For more information, see images.<image-id>.dockerfile attribute.

images.<image-id>.full_dockerfile_path

LocalPath or None

Full version of the dockerfile attribute.

images.<image-id>.build_args

list[str]

A sequence of additional build arguments.

For more information, see images.<image-id>.build_args attribute.

images.<image-id>.env

dict[str, str]

Environment variables passed to the image builder.

For more information, see images.<image-id>.env attribute.

images.<image-id>.volumes

list[str]

A sequence of volume definitions passed to the image builder.

For more information, see images.<image-id>.volumes attribute.

multi context

The additional arguments passed to multi-job.

Property name
Type
Description

multi.args

str

Additional command line arguments passed to multi-job. The command line run defines the field as apolo-flow run <job-id> -- <args>.

multi.args is mainly used for passing args to command line parameters accepted by multi-job, see jobs.<job-id>.cmd for details.

multi.suffix

str

multi-job suffix added to jobs.<job-id>.

params context

Parameter described in the jobs.<job-id>.params attribute and available for substitution - for example, in jobs.<job-id>.cmd calculation.

Property name
Type
Description

params.<param-name>

str

The value of a specific parameter.

Supported parameter values: project, flow, env, tags, volumes, images.

tags context

A set of job tags.

Tags are combined from system tags (project:<project-id>, job:<job-id>), flow default tags (see defaults.tags attribute), and job-specific tags (see jobs.<job-id>.tags attribute).

Property name
Type
Description

tags

set[str]

This context changes for each job. You can access this context from any job.

volumes context

Contains information about volumes defined in the volumes section of a live workflow.

Property name
Type
Description

volumes.<volume-id>.id

str

The volume definition identifier. For more information, see volumes.<volume-id> section.

volumes.<volume-id>.remote

URL

Remote volume URI, e.g. storage:path/to. For more information, see volumes.<volume-id>.remote attribute.

volumes.<volume-id>.mount

RemotePath

The path inside a job by which the volume should be mounted.

For more information, see volumes.<volume-id>.mount attribute.

volumes.<volume-id>.read_only

bool

True if the volume is mounted in read-only mode, False otherwise.

For more information, see volumes.<volume-id>.read_only attribute.

volumes.<volume-id>.local

LocalPathor None

A path in the workspace folder to synchronize with remote Apolo storage or None if not set.

For more information, see volumes.<volume-id>.local attribute.

volumes.<volume-id>.full_local_path

LocalPath or None

Full version of local property.

volumes.<volume-id>.ref

str

A volume reference that can be used as a jobs.<job-id>.volumes item. The calculated value looks like storage:path/to:/mnt/path:rw.

The value is assembled from remote, mount, and read_only properties.

volumes.<volume-id>.ref_ro

str

Like ref but read-only mode is enforced.

volumes.<volume-id>.ref_rw

str

Like ref but read-write mode is enforced.

git context

The git context contains a mapping of your flow's workspace to a git repository.

This context can only be used if the flow's workspace is inside some git repository.

Property name
Type
Description

git.sha

str

SHA of the current commit.

git.branch

str

Name of the current branch.

git.tags

list[str]

List of tags that point to the current commit.

Last updated