Cluster blueprints represent patterns of infrastructure that you might need to deploy multiple times for different purposes or with different configurations. Deployment files are an optional feature that modify a blueprint's configuration without changing the underlying Terraform and Packer modules. Common use cases for using deployment files include the following:
- Specifying a
deployment_namethat must be unique to each deployment - Specifying
project_id,region, orzonethat might vary across deployments - Specifying an alternative Terraform remote state configuration
What can be specified in a deployment file
The following shows the parameters that can be set in a deployment file.
vars: project_id: PROJECT_ID deployment_name: DEPLOYMENT_NAME region: REGION zone: ZONE terraform_backend_defaults: type: gcs configuration: bucket: BUCKET_NAME
Using deployment files
Deployment files are supported in Cluster Toolkit v1.29.0 and later. For more information on how to specify the deployment file, see Cluster deployment overview .
Variable precedence
For variables that are specified in the vars
section of blueprints and
deployment files, the following precedence is enforced:
- If a variable is specified in both the deployment file and blueprint, the value in the deployment file takes precedence
- If a variable is specified in the deployment file and the
--varsflag ofgcluster createorgcluster deploycommands, then the value supplied in the--varsflag takes precedence - Any variable that isn't specified in the deployment file or
--varsflag, uses the value from the blueprint
If terraform_backend_defaults
is set in a deployment file, then it replaces
all terraform_backend_defaults
settings in the blueprint.

