Runway Job Manifest Schema

Type: object

A job manifest for Runway platform

No Additional Properties
Example:

apiVersion: runway/v1
kind: RunwayJob
metadata:
  owner_email_handle: my-username
  department: my-dept
  department_group: my-dept-group
  product_category: my-product-category
spec:
  region: us-central1
  command:
  - /cron
  args:
  - --arg1
  - --arg2
  resources:
    limits:
      cpu: 500m
      memory: 128Mi

Type: string Default: "runway/v1"

The API version of the manifest schema

Type: enum (of string)

The kind of resource manifest

Must be one of:

  • "RunwayJob"

Type: object
No Additional Properties

Type: string

The email handle of the person or group that owns this job. See https://handbook.gitlab.com/handbook/infrastructure-standards/labels-tags/#owner-email-handle-glowneremail_handle for more information

Type: string

The department of the person or group that owns this job. See https://handbook.gitlab.com/handbook/infrastructure-standards/labels-tags/#gitlab-department-gl_dept for more information

Type: string

The department group of the person or group that owns this job. See https://handbook.gitlab.com/handbook/infrastructure-standards/labels-tags/#gitlab-department-group-gldeptgroup for more information

Type: string

The product category that owns this job. See https://handbook.gitlab.com/handbook/infrastructure-standards/labels-tags/#gitlab-product-category-glproductcategory for more information

Type: object

The specification of the job

No Additional Properties

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

The following properties are required:

  • depends_on
Type: object

Type: object

Type: string Default: "us-east1"

The region to run this job in

Type: array

The command that the container is to start up with. Default is to use the ENTRYPOINT defined in the image

No Additional Items

Type: array

Argument you are sending to the container command. If you use multiple arguments, specify each one as a separate item. Default is to use the CMD defined in the image

No Additional Items

Type: array of string

List of sidecar container names that must start before the job container. Only needed when the job container talks to a sidecar during startup. Setting this requires every sidecar to define a startup_probe, since Cloud Run only honors start order when depended-on containers have startup healthchecks.

No Additional Items

Each item of this array must be:

Type: string

Type: object

The container resource management of the service

No Additional Properties

Type: object

The limits to prevent the container from using more than the configured resources. When exceeded, running containers are terminated

No Additional Properties

Type: string Default: "1000m"

The limit of CPU resources, measured in cpu units

Type: string Default: "512Mi"

The limit of memory resources, measured in bytes

Type: string Default: "256Mi"

The amount of memory consumable by the in-memory volume mounted at /scratch, in bytes. Must be less than "memory".

Type: number Default: 600

Max allowed time (in seconds) per attempt that the task may be active for before the system will actively try to mark it failed and kill associated containers

Type: number Default: 3

Number of retries allowed per task before marking this task as failed.

Type: object

Schedule configuration for the job

No Additional Properties

Type: boolean Default: false

Controls if the schedule is paused

Type: string

Schedule for this job in cron format

Type: object

VPC connectivity. By default, VPC access is enabled and all egress traffic is routed through the VPC. To use Cloud Run's managed NAT for public endpoints (e.g., Spanner, external APIs), set egress to PRIVATERANGESONLY.

No Additional Properties

Type: boolean Default: true

Enable VPC access for connecting to internal services like Memorystore. Defaults to true.

Type: enum (of string) Default: "ALL_TRAFFIC"

Type of egress traffic that should be routed via the VPC. ALLTRAFFIC routes all outbound requests through the VPC connector (requires proper VPC setup). PRIVATERANGES_ONLY routes only private IP ranges through VPC while using Cloud Run's managed NAT for public endpoints.

Must be one of:

  • "PRIVATE_RANGES_ONLY"
  • "ALL_TRAFFIC"

Type: array of object

List of arbitrary sidecar containers to run alongside the job container. Note: a job task only completes when all containers exit, so long-running sidecars must provide a way to shut down (e.g. an endpoint the job container calls when its work is done).

Must contain a maximum of 5 items

All items must be unique

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties


Name of the sidecar container. Must be unique within the job. The names "app" and "cloud-sql-proxy-*" are reserved.

Must not be:

Type: object
Must match regular expression: ^(app$|cloud-sql-proxy-)
Must match regular expression: ^[a-z]([-a-z0-9]*[a-z0-9])?$

Type: string

Container image for the sidecar.

Type: array of string

Entrypoint command for the sidecar container.

No Additional Items

Each item of this array must be:

Type: array of string

Arguments to pass to the sidecar container.

No Additional Items

Each item of this array must be:

Type: object

Resource management for the sidecar container.

No Additional Properties

Type: object

Resource limits for the sidecar container.

No Additional Properties

Type: string Default: "200m"

CPU limit, measured in cpu units.

Type: string Default: "128Mi"

Memory limit, measured in bytes.

Type: array of string

List of container names this sidecar depends on.

No Additional Items

Each item of this array must be:

Type: array of object

Environment variables for the sidecar container.

No Additional Items

Each item of this array must be:


No Additional Properties

Type: object

The following properties are required:

  • value
Type: object

The following properties are required:

  • secret

Type: string

Name of the environment variable.

Type: string

Plain text value of the environment variable.

Type: string

Key of a Vault secret synced to GSM for this job.

Type: object
No Additional Properties

Type: object

The following properties are required:

  • path
Type: object

The following properties are required:

  • grpc_service

Type: string

Path to access on the HTTP server. Mutually exclusive with grpc_service.

Type: string

Name of the gRPC health status service. Mutually exclusive with path.

Type: integer

Port to probe on the sidecar container.

Value must be strictly greater than 0 and strictly lesser than 65536

Type: integer Default: 0

Number of seconds after the container has started before the probe is initiated.

Value must be greater or equal to 0 and lesser or equal to 240

Type: integer Default: 1

Number of seconds after which the probe times out.

Value must be greater or equal to 1 and lesser or equal to 3600

Type: integer Default: 10

How often (in seconds) to perform the probe.

Value must be greater or equal to 1 and lesser or equal to 240

Type: integer Default: 3

Minimum consecutive failures for the probe to be considered failed after having succeeded.

Value must be greater or equal to 1

Type: object

Cloud provider specific configurations

Type: object

Google Cloud Platform specific configurations

Type: array of object

List of connection configuration for CloudSQL instances

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Type: object

Type: boolean Default: false

Connect to CloudSQL instance using a Private Service Connect endpoint

Type: string

Instance connection name of the CloudSQL instance