Cloud Native Experience Reference

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.

NameTypeDefaultDescription
deployment_nameString(Required)Unique identifier for the deployment (lowercase, numbers, hyphens).
project_idString(Required)The Google Cloud Project ID where the infrastructure is deployed.
regionString(Required)The GCP region for the cluster (e.g., us-central1).
vpc_cidrString"10.0.0.0/16"CIDR block for the VPC network. Subnets are automatically calculated from this.
master_ipv4_cidr_blockString"172.16.0.0/28"CIDR block for the GKE control plane (VPC Peering).
master_authorized_networksList(String)["10.0.0.0/16"]CIDR ranges allowed to access the GKE master endpoint directly.
machine_typeString"e2-standard-4"GCP instance type for GKE nodes.
min_node_countInteger1Minimum number of nodes per zone.
max_node_countInteger1Maximum number of nodes per zone.
regional_clusterBooleanfalseIf true, the cluster is regional (HA across 3 zones).
spot_instancesBooleantrueIf true, nodes use GCP Spot VMs for cost savings.
gateway_namespaceString"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_cidr slice 0
  • Pod Range: vpc_cidr slice 1
  • Service Range: vpc_cidr slice 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)

PropertyTypeDefaultDescription
methodString"https"Auth method: https, github_app, or ssh.
credentials_secret_nameString"liferay-credentials-gitops"Name of the GCP Secret Manager secret.
internal_secret_nameString"gitops-credentials"Kubernetes secret name used by Argo CD.
username_propertyString"git_machine_user_id"JSON key for the git username (HTTPS).
token_propertyString"git_access_token"JSON key for the Personal Access Token (HTTPS).
ssh_private_key_propertyString"git_ssh_private_key"JSON key for the SSH private key (SSH).

Revision

PropertyTypeDefaultDescription
revisionString"HEAD"Git revision (branch, tag, or commit SHA) to track.

Source Paths (source_paths)

PropertyTypeDefaultDescription
baseString"liferay/projects/{{path[2]}}/base"Base path pattern for configurations.
environmentsString"liferay/projects/*/environments/*"Glob pattern for environment directories.
values_filenameString"infrastructure.yaml"*Filename of the values file at each path.
Note

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.

NameTypeDefaultDescription
providerString(Required)Infrastructure provider. Valid values: aws, gcp.
versionString(Required)Bootstrap toolkit version. Use latest to track the most recent release.
auto_approveBooleanfalseRuns terraform apply without prompting for confirmation.
parallelismInteger10Maximum 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"
  }
}