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
apiVersionstring
kindstring
metadatamap
specSpec

BucketMountsEntry

PropertyTypeDescription
keystring
valueVolumeMountBucketRef

EventArcNotificationsEntry

PropertyTypeDescription
keystring
valuestring

PortsEntry

PropertyTypeDescription
keyint64
valuestring

VolumeMountsEntry

PropertyTypeDescription
keystring
valueContainerVolumeMount

Spec

Houses the environment-specific configuration overrides. Contains the mutable scaling limits, custom container environment injections, and port mappings unique to this phase.

PropertyTypeDescription
descriptionstringThis description is optional but will drastically improve the understand of the AI assistant about the structural elements of the organization
deleteBeforeCreateboolA boolean flag that changes the deployment strategy. If true, the existing version of the application is destroyed before the new version is created. If false (default), a rolling update is performed.
statefulboolIndicates whether the application requires persistent storage. This is a hint to the platform to provision stateful resources like persistent disks. This semantic flag instructs the engine to allocate durable volumes but may be bypassed on purely stateless environments.
migrationJobContainerContainerSpecDefines the container specification (image, commands, environment variables) for the one-off migration job that runs before the main service is deployed. This is only used if the corresponding Application manifest has run_migration_job set to true.
containerContainerSpecProvides environment-specific overrides for the main application container, such as command-line arguments, environment variables, and resource limits.
portslist of PortsEntryA map of ports that the application listens on, where the key is the port number and the value is the protocol (e.g., http, grpc, tcp). This map is used to create service mesh routes and backend service endpoints for each port, enabling traffic to reach the application.
healthHealth
volumeslist of VolumesEntryDefines volumes to be mounted into the application's container, typically for configuration files. Each entry creates explicit volume mounts on the underlying compute resource, leveraging abstract storage units such as blob buckets linked into the filesystem.
scalingScalingConfigDefines the autoscaling parameters for the application. These values control the baseline and upper boundary instance allocations dynamically based on load.
versionstring

Health

Defines the health checks for the application, including the protocol, port, path, and thresholds for determining if the application is healthy. This configuration dictates probing mechanisms such as startup and liveness checks on the allocated compute resources. Controls up-time monitoring and deployment gating. Generates the active probing logic to detect and recover from hangs on the deployed containers.

PropertyTypeDescription
startupHostHealthConfig
livenessHostHealthConfig

PortsEntry

PropertyTypeDescription
keyint64
valuestring

ScalingConfig

Controls the autoscaling behaviors. Maps bounds constraints on compute workloads to balance performance and cost dynamically.

PropertyTypeDescription
minint64The minimum number of application instances to keep running.
maxint64The maximum number of application instances to scale up to.

VolumesEntry

PropertyTypeDescription
keystring
valueContainerVolumeMount

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 FilesEntry

VolumeMountBucketRef

References an external bucket for volume mounting.

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

PropertyTypeDescription
namestring
pathstring
canWritebool

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
enabledbool
commandlist of string
argslist of string
envlist of EnvVariableDefinition
uidstring
gidstring
resourcesContainerResources

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
protocolstring
portint64
checkIntervalSecint64Default 30
timeoutSecint64Default 5
healthyThresholdint64Default 1
unhealthyThresholdint64Default 2
enableLogsbool
pathstringDefault "/"

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
requestsContainerResource
limitsContainerResource

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
namestring
valuestring

ContainerResource

Single resource boundary definition.

Translates to either requests or limits for CPU or memory within a container specification.

PropertyTypeDescription
cpustring
memorystring

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
mimeTypestring
contentstring
base64Encodedbool