CNE GCP Ready: Bootstrap Configuration Reference
The following configuration defines the Google Cloud infrastructure, GitOps synchronization settings, and bootstrap execution options for Cloud Native Experience (CNE) deployments on GCP. Required variables are marked in the Default column.
GKE Infrastructure Variables
These variables define the core Google Cloud network and GKE cluster environment.
| Name | Type | Default | Description |
|---|---|---|---|
deployment_name | String | (Required) | Unique identifier for the deployment (lowercase, numbers, hyphens). |
project_id | String | (Required) | The Google Cloud Project ID where the infrastructure is deployed. |
region | String | (Required) | The GCP region for the cluster (e.g., us-central1). |
vpc_cidr | String | "10.0.0.0/16" | CIDR block for the VPC network. Subnets are automatically calculated from this. |
master_ipv4_cidr_block | String | "172.16.0.0/28" | CIDR block for the GKE control plane (VPC Peering). |
master_authorized_networks | List(String) | ["10.0.0.0/16"] | CIDR ranges allowed to access the GKE master endpoint directly. |
machine_type | String | "e2-standard-4" | GCP instance type for GKE nodes. |
min_node_count | Integer | 1 | Minimum number of nodes per zone. |
max_node_count | Integer | 1 | Maximum number of nodes per zone. |
regional_cluster | Boolean | false | If true, the cluster is regional (HA across 3 zones). |
spot_instances | Boolean | true | If true, nodes use GCP Spot VMs for cost savings. |
gateway_namespace | String | "envoy-gateway-system" | Kubernetes namespace for Envoy API Gateway. |
Calculated Network Ranges
Subnets are calculated from vpc_cidr automatically to ensure consistency:
- Node Subnet:
vpc_cidrslice 0 - Pod Range:
vpc_cidrslice 1 - Service Range:
vpc_cidrslice 2
Git Repository Configuration
Two variables control the connection to your private GitOps repository. Both share the same object structure:
infrastructure_git_repo_config: Resolves infrastructure and provider values.liferay_git_repo_config: Resolves Liferay application values.
Auth Options (auth)
| Property | Type | Default | Description |
|---|---|---|---|
method | String | "https" | Auth method: https, github_app, or ssh. |
credentials_secret_name | String | "liferay-credentials-gitops" | Name of the GCP Secret Manager secret. |
internal_secret_name | String | "gitops-credentials" | Kubernetes secret name used by Argo CD. |
username_property | String | "git_machine_user_id" | JSON key for the git username (HTTPS). |
token_property | String | "git_access_token" | JSON key for the Personal Access Token (HTTPS). |
ssh_private_key_property | String | "git_ssh_private_key" | JSON key for the SSH private key (SSH). |
Revision
| Property | Type | Default | Description |
|---|---|---|---|
revision | String | "HEAD" | Git revision (branch, tag, or commit SHA) to track. |
Source Paths (source_paths)
| Property | Type | Default | Description |
|---|---|---|---|
base | String | "liferay/projects/{{path[2]}}/base" | Base path pattern for configurations. |
environments | String | "liferay/projects/*/environments/*" | Glob pattern for environment directories. |
values_filename | String | "infrastructure.yaml"* | Filename of the values file at each path. |
For liferay_git_repo_config, the default values_filename is "liferay.yaml".
Bootstrap Options
Define these in a root-level options object in config.json to control the Terraform execution behavior.
| Name | Type | Default | Description |
|---|---|---|---|
provider | String | (Required) | Infrastructure provider. Valid values: aws, gcp. |
version | String | (Required) | Bootstrap toolkit version. Use latest to track the most recent release. |
auto_approve | Boolean | false | Runs terraform apply without prompting for confirmation. |
parallelism | Integer | 10 | Maximum number of concurrent Terraform resource operations. Lower this value to avoid API rate limiting. |
Example config.json
{
"options": {
"auto_approve": true,
"parallelism": 5,
"provider": "gcp",
"version": "latest"
},
"variables": {
"deployment_name": "liferay-gcp-production",
"project_id": "liferay-customer-12345",
"region": "us-east1",
"machine_type": "e2-standard-8"
}
}