Skip to content
Proud to collaborate with Microsoft for Startups

registry.image.build-publish ​

Build an application container image and publish it to the deployment registry catalog.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-registry
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Organization UUID for catalog scope.
connection_uuiduuidYes—GCP connection used for build and registry.
project_idstringNo—GCP project override.
regionstringYes—Artifact Registry region.
repository_idstringYes—Artifact Registry repository id.
image_namestringYes—Image path/name inside the repository.
tagstringYes—Image tag to publish.
sourcejsonYes—Source descriptor, e.g. git repo/ref or archive URI.
dockerfilestringNo—Dockerfile path.
context_dirstringNo—Build context directory.
build_argsjsonNo—Docker build args.
substitutionsjsonNo—Cloud Build substitutions.
service_accountstringNo—Cloud Build service account.
registry_repository_uuiduuidNo—Existing catalog repository row to sync.
workflow_run_idstringNo—Engine-stamped workflow_run_id when invoked as a DAG step (ADR-015 E1)

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidNo—Echoed organization UUID.
connection_uuiduuidNo—Echoed GCP connection UUID.
project_idstringNo—Effective GCP project.
image_referencestringNo—Published image tag reference.
image_digeststringNo—Resolved digest when available.
immutable_referencestringNo—Digest-pinned reference for Deploy rollout.
build_idstringNo—Cloud Build id.
build_statusstringNo—Terminal Cloud Build status.
build_log_urlstringNo—Cloud Build logs URL.
registry_repository_uuiduuidNo—Catalog repository UUID.
registry_image_uuiduuidNo—Catalog image UUID.
registry_image_version_uuiduuidNo—Catalog image version UUID.
ensure_artifact_repositoryjsonNo—Output state_data from DAG step ensure_artifact_repository.
start_cloud_buildjsonNo—Output state_data from DAG step start_cloud_build.
wait_cloud_buildjsonNo—Output state_data from DAG step wait_cloud_build.
sync_repositoryjsonNo—Output state_data from DAG step sync_repository.
resolve_published_imagejsonNo—Output state_data from DAG step resolve_published_image.
failure_reasonstringNo—Engine failure reason.
failure_typestringNo—Engine failure type classification.
failed_actionstringNo—Action name that caused the failure.
failed_at_statestringNo—State where failure occurred.
failed_stepstringNo—Failed DAG step name.
failed_layerintegerNo—1-based failed DAG layer number emitted by the engine.
errorstringNo—Error message.
error_typestringNo—Error class.

DAG Layers ​

#LayerStepsCompensation
1ensure_registrygcp.artifactregistry.repository.ensure—
2start_buildgcp.cloudbuild.image.build—
3wait_for_buildgcp.cloudbuild.build.wait—
4reconcile_catalogregistry.repository-sync—
5resolve_imageregistry.image.resolve—

Execution Flow ​

Sub-workflows ​

Sub-workflowStep name
gcp.artifactregistry.repository.ensureensure_artifact_repository
gcp.cloudbuild.image.buildstart_cloud_build
gcp.cloudbuild.build.waitwait_cloud_build
registry.repository-syncsync_repository
registry.image.resolveresolve_published_image

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "registry.image.build-publish",
  "initial_data": {
    "organization_uuid": "value",
    "connection_uuid": "value",
    "region": "value",
    "repository_id": "value"
  }
}