Skip to main content

Deployment Config

DeploymentConfig

Defines the environment-specific runtime configuration for an application.

Provides overrides for resource limits, environment variables, health checks, and volume mounts, allowing a common Application manifest to be tuned for environments like staging or production when deployed to Cloud Run or GKE.

PropertyTypeDescription
apiVersionstringAPI schema version. Pins the manifest to a specific schema contract for backward-compatibility. Must be the constant lowops.manifests.v1.
kindstringResource kind discriminator. Identifies this document as a DeploymentConfig so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant DeploymentConfig.
metadatamapClassification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. name, project) are read by the engine to resolve this manifest's identity and its parent Project in the dependency graph.
specSpecDesired deployment configuration. The authoritative, user-authored specification for this deployment config. See Spec.

BucketMountsEntry

PropertyTypeDescription
keystring
valueVolumeMountBucketRef

EventArcNotificationsEntry

PropertyTypeDescription
keystring
valuestring

PortsEntry

PropertyTypeDescription
keyint64
valuestring

VolumeMountsEntry

PropertyTypeDescription
keystring
valueContainerVolumeMount

Spec

User-provided deployment overrides.

Environment-specific configuration layered on top of the shared Application definition: container overrides, scaling bounds, exposed ports, health probes, volume mounts, and request/shutdown timeouts. Lets one application be tuned per environment (e.g. staging vs production).

PropertyTypeDescription
descriptionstringHuman-readable description of this deployment configuration. Optional free text describing the role of this config. Propagated onto the provisioned compute resource's description field (e.g. the Cloud Run service description), and used as context by AI assistants when reasoning about the manifest.
deleteBeforeCreateboolDestroy-before-create deployment strategy. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no executor reads it); rolling updates are always performed. Intended future behavior: when true, tear down the existing revision before creating the new one instead of performing a rolling update.
statefulboolPersistent-storage hint. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no executor reads it). Intended future behavior: signal that the application needs durable, stateful storage so the platform provisions persistent volumes. For stateful VM workloads, use the VirtualMachine manifest's stateful block instead.
containerContainerSpecMain container overrides. Environment-specific overrides for the primary application container: command, args, environment variables, and resource limits/requests. Merged over the container definition resolved from the application's source BuildDefinition/ExternalApplication.
portslist of PortsEntryExposed ports and their protocols. Map of port number to protocol (http, grpc, or tcp). Each entry produces a backend service endpoint and service-mesh route so traffic can reach the container on that port. Port numbers are validated to be within 1-65535.
healthHealthHealth probe settings for this deployment. See Health. When unset, the platform applies its default probing behavior.
volumeslist of VolumesEntryVolume mounts for the container. Map of in-container mount path to volume source. Each entry mounts an abstract storage unit (e.g. a bucket-backed volume) into the container filesystem. Mount paths under /tmp are reserved and rejected by validation.
scalingScalingConfigAutoscaling bounds for this deployment. See ScalingConfig. Sets the min/max instance count applied to the underlying autoscaler.
versionstringApplication version tag. Required. The image tag deployed for this revision and the value exposed to the container as the INFRASTREAM_APP_VERSION environment variable. Drives which built image is rolled out.
requestTimeoutint64Per-request timeout, in seconds. Maximum time a single request may run before being terminated. Cloud Run: maps to RevisionTemplate.timeout. Kubernetes/Compute: maps to the backend service timeout. Only applied when greater than 0; when unset each platform default applies (e.g. Cloud Run 300s). Must be between 0 and 3600.
terminationGracePeriodSecondsint64Graceful shutdown period, in seconds. Time to wait after SIGTERM before forcibly killing the container. Cloud Run: service-level termination grace period. Kubernetes: Pod.spec.terminationGracePeriodSeconds. Compute: injected as the TERMINATION_GRACE_PERIOD_SECONDS env var. When unset (0), each platform default applies. Must be between 0 and 3600.

Health

Container health probes.

Startup and liveness probe definitions used to gate deployment and detect hung containers.

PropertyTypeDescription
startupHostHealthConfigStartup probe configuration. NOT YET WIRED. Present in the schema but not currently read by the executor; the container's startup probe is derived from liveness instead. Reserved for a distinct startup probe in the future.
livenessHostHealthConfigLiveness probe configuration. Protocol, port, path, and timing/threshold settings for the container's health probe. Drives both the startup and liveness probe blocks on the provisioned compute resource.

PortsEntry

PropertyTypeDescription
keyint64
valuestring

ScalingConfig

Instance autoscaling bounds.

Lower and upper limits on the number of running instances, balancing latency against cost. Applied to the underlying autoscaler (e.g. Cloud Run min/max instances).

PropertyTypeDescription
minint64Minimum number of instances to keep warm. Floor for the autoscaler. Only applied when greater than 0; a value of 0 lets the platform scale to zero.
maxint64Maximum number of instances to scale out to. Ceiling for the autoscaler. Only applied when greater than 0.

VolumesEntry

PropertyTypeDescription
keystring
valueContainerVolumeMount

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.

PropertyTypeDescription
enabledboolWhether 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.
commandlist of stringContainer entrypoint. Overrides the image entrypoint (maps to the container command). Applied to the provisioned Cloud Run service or Kubernetes container.
argslist of stringContainer arguments. Arguments passed to the entrypoint (maps to the container args).
envlist of EnvVariableDefinitionStatic environment variables. Literal name/value environment variables merged into the container's computed environment alongside variables injected via secrets and access control.
uidstringProcess 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.
gidstringProcess 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.
resourcesContainerResourcesCompute resource requests and limits. CPU/memory requests and limits applied to the container on the provisioned Cloud Run service or Kubernetes pod. See ContainerResources.

VolumeMountBucketRef

References an external bucket for volume mounting.

Indicates Cloud Storage FUSE parameters and IAM permissions needed to attach the bucket.

PropertyTypeDescription
namestringSource bucket name. Name of the Bucket manifest attached to the container via Cloud Storage FUSE. Resolved by the deployment config computer into the computed bucket-mount entry.
pathstringIn-container mount path. Filesystem path at which the bucket is mounted inside the container.
canWriteboolGrant write access. When true, the mount is read-write and the container's service account is granted object-write permission on the bucket; otherwise the mount is read-only.

HostHealthConfig

Configuration for uptime and health checks on host endpoints.

Translates into google_compute_health_check and backend service parameters, driving routing decisions within GCP load balancers.

PropertyTypeDescription
protocolstringProbe protocol. The protocol the health check uses to reach the endpoint: one of http, http2, https, grpc, or tcp. Drives both the container startup/liveness probes (Cloud Run, GKE) and the compute backend health check for VMs.
portint64Probe port. The TCP port the health check targets on the workload.
checkIntervalSecint64Check interval, in seconds. How often the health check runs. Defaulted to 30 by the ingress defaulter when the probe is generated automatically.
timeoutSecint64Probe timeout, in seconds. How long to wait for a single probe response before treating it as a failure. The ingress defaulter sets this to 10 when generating probes automatically.
healthyThresholdint64Healthy threshold. The number of consecutive successful probes required to mark the endpoint healthy. Defaulted to 1 by the ingress defaulter.
unhealthyThresholdint64Unhealthy threshold. The number of consecutive failed probes required to mark the endpoint unhealthy. Defaulted to 2 by the ingress defaulter.
enableLogsboolEnable health-check logging. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: enable request/response logging on the generated google_compute_health_check.
pathstringProbe request path. The HTTP request path for HTTP-family probes. Defaults to /. Used as the request path on the container probe and the compute backend health check.

ContainerVolumeMount

Maps generated files to a container volume.

Specifies the layout of files to be mounted, typically corresponding to config maps or secrets in K8s, or files written in Cloud Run.

PropertyTypeDescription
fileslist of FilesEntryFiles to materialize in the volume. Map of relative file path to its synthesized contents; each entry becomes a file written into the mounted volume. See VolumeMountFile.

FilesEntry

PropertyTypeDescription
keystring
valueVolumeMountFile

EnvVariableDefinition

Defines a static environment variable to be injected.

Appended to the environment variable array of the corresponding compute resource container definition.

PropertyTypeDescription
namestringThe environment variable name.
valuestringThe 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.

PropertyTypeDescription
requestsContainerResourceThe minimum CPU/memory guaranteed to the container (maps to resource requests).
limitsContainerResourceThe 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.

PropertyTypeDescription
cpustringCPU quantity for this boundary, in Kubernetes/Cloud Run notation (e.g. "500m", "1", "2").
memorystringMemory quantity for this boundary, in Kubernetes/Cloud Run notation (e.g. "256Mi", "1Gi").

VolumeMountFile

Defines a synthesized file content within a volume mount.

Handled by startup scripts to create physical files on disk with the necessary text or binary payloads.

PropertyTypeDescription
mimeTypestringMIME type of the file. Content type recorded for the synthesized file; defaulted by the deployment config computer when left empty. Carried into the computed volume-mount file entry.
contentstringFile contents. The literal payload written to the file at the mount path. Interpreted as base64 when base64_encoded is set, otherwise as plain text.
base64EncodedboolContent is base64-encoded. When true, content is decoded from base64 before being written, allowing binary files. Carried into the computed volume-mount file entry.