Job Config
JobConfig
Environment-specific runtime configuration for a single application job.
Each JobConfig corresponds to one entry in the parent Application's spec.jobs list (matched by the <app-name>-<job-name> naming pattern) and provisions a Cloud Run Job with its container command, scheduling, retries, and resource limits. Environment-specific overrides let the same job differ per environment (e.g. a different schedule in staging vs production). SCHEDULED jobs additionally get a Cloud Scheduler trigger; BEFORE/AFTER jobs are wired to run relative to the sibling DeploymentConfig's service.
| Property | Type | Description |
|---|---|---|
| apiVersion | string | API schema version. Pins the manifest to a specific schema contract for backward-compatibility. Must be the constant lowops.manifests.v1. |
| kind | string | Resource kind discriminator. Identifies this document as a JobConfig so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant JobConfig. |
| metadata | map | Classification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. name, project, environment, organization) are read by the engine to resolve this manifest's identity and its parent Project in the dependency graph, and to look up dependencies during execution. |
| spec | Spec | Desired job configuration. The authoritative, user-authored specification for this job. See Spec. |
Spec
User-provided job configuration.
The container specification, scheduling, retry/parallelism, and image version for the job. The engine resolves the container image and job type from the referencing Application; the fields here tune how the resulting Cloud Run Job runs.
| Property | Type | Description |
|---|---|---|
| container | ContainerSpec | Job container specification. Required. Command, args, environment variables, and resource limits/requests for the job's container. The image itself is resolved from the parent Application's source (BuildDefinition/ExternalApplication); the command, args, env, and CPU/memory limits declared here are applied on top when the Cloud Run Job is provisioned. Presence is enforced by both a buf.validate required rule and the validator. |
| timeout | string | Maximum task execution duration. Per-task run-time budget as a duration string (e.g. 600s). Applied to the Cloud Run Job's task timeout only when set; when empty the platform default applies. Not defaulted by the engine. |
| maxRetries | int32 | Failed-task retry limit. Maximum number of times an individual failed task is retried. Applied to the Cloud Run Job only when greater than 0; otherwise the platform default applies. |
| parallelism | int32 | Concurrent task count. Number of tasks that may execute in parallel. Applied to the Cloud Run Job only when greater than 0; otherwise the platform default (1) applies. |
| taskCount | int32 | Total task count. Total number of tasks created per job execution. Applied to the Cloud Run Job only when greater than 0; otherwise the platform default (1) applies. |
| schedule | string | Cron schedule expression. Standard cron expression (e.g. 0 3 * * *) that drives a Cloud Scheduler trigger. REQUIRED for SCHEDULED jobs and must be empty for all other job types; the validator rejects a schedule on BEFORE, AFTER, or ON_DEMAND jobs and a missing schedule on SCHEDULED jobs. |
| timeZone | string | Cron schedule timezone. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (the Cloud Scheduler trigger is created without a timezone, so schedules evaluate in the provider default of UTC). Intended future behavior: interpret schedule in this IANA timezone (e.g. America/New_York) for SCHEDULED jobs. |
| version | string | Container image version tag. Required. The image tag deployed for this job revision. Applied as the container image tag and exposed to the container as the INFRASTREAM_APP_VERSION environment variable. Updated during CD promotions. |
ContainerSpec
Core configuration block for defining a runtime container.
Overrides default container behavior from the base image, defining entrypoints, variables, and compute constraints. Translates directly to elements like resources and env within google_cloud_run_v2_service or Kubernetes specifications.
| Property | Type | Description |
|---|---|---|
| enabled | bool | Whether this container is enabled. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: allow toggling this container off without removing its definition. |
| command | list of string | Container entrypoint. Overrides the image entrypoint (maps to the container command). Applied to the provisioned Cloud Run service or Kubernetes container. |
| args | list of string | Container arguments. Arguments passed to the entrypoint (maps to the container args). |
| env | list of EnvVariableDefinition | Static environment variables. Literal name/value environment variables merged into the container's computed environment alongside variables injected via secrets and access control. |
| uid | string | Process user ID. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: run the container process as this UID. |
| gid | string | Process group ID. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: run the container process as this GID. |
| resources | ContainerResources | Compute resource requests and limits. CPU/memory requests and limits applied to the container on the provisioned Cloud Run service or Kubernetes pod. See ContainerResources. |
EnvVariableDefinition
Defines a static environment variable to be injected.
Appended to the environment variable array of the corresponding compute resource container definition.
| Property | Type | Description |
|---|---|---|
| name | string | The environment variable name. |
| value | string | The literal value assigned to the environment variable. |
ContainerResources
Defines compute requirements and constraints for a container.
Maps to the resource requests and limits in Kubernetes Pods or Cloud Run service configurations to ensure adequate scaling and scheduling semantics.
| Property | Type | Description |
|---|---|---|
| requests | ContainerResource | The minimum CPU/memory guaranteed to the container (maps to resource requests). |
| limits | ContainerResource | The maximum CPU/memory the container may consume (maps to resource limits). |
ContainerResource
Single resource boundary definition.
Translates to either requests or limits for CPU or memory within a container specification.
| Property | Type | Description |
|---|---|---|
| cpu | string | CPU quantity for this boundary, in Kubernetes/Cloud Run notation (e.g. "500m", "1", "2"). |
| memory | string | Memory quantity for this boundary, in Kubernetes/Cloud Run notation (e.g. "256Mi", "1Gi"). |