Terraform
Optional quick setup using Terraform for testing environments
Quick setup only
This Terraform-based installation is designed for quick setup and testing environments only. For production deployments, we strongly recommend following the manual installation process to properly configure and secure each component according to your organization's requirements.
Key limitations:
- Components run locally in the cluster without High Availability
- Basic security configurations
- Limited customization options
- Not suitable for production workloads
Prerequisites
Hashicorp Terraform
brew tap hashicorp/tap
brew install hashicorp/tap/terraformGoogle Cloud Platform
brew cask install google-cloud-sdk
gcloud auth application-default loginRequired apis
Enable Container API
Visit: https://console.developers.google.com/apis/api/container.googleapis.com/overview?project=<project_id>
Enable cloud kms api
Visit:
https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview?project=<project_id>
Iam permissions
Recommended for Quick Setup
Ownerrole
Required Roles
EditorCloud KMS AdminProject IAM AdminKubernetes Engine AdminService Account Admin
Installation steps
Clone Repository
git clone [email protected]:settlemint/tutorial-btp-on-gcp.gitSet environment variables
# Dns zone (subdomain) for platform access
export TF_VAR_gcp_dns_zone='YOUR_DNS_ZONE'
# Your gcp project id
export TF_VAR_gcp_project_id='YOUR_GCP_PROJECT_ID'
# Target gcp region
export TF_VAR_gcp_region='YOUR_GCP_REGION'
# Oauth credentials
export TF_VAR_gcp_client_id='YOUR_GCP_CLIENT_ID'
export TF_VAR_gcp_client_secret='YOUR_GCP_CLIENT_SECRET'
# Registry credentials (provided by settlemint)
export TF_VAR_oci_registry_username='YOUR_REGISTRY_USERNAME'
export TF_VAR_oci_registry_password='YOUR_REGISTRY_PASSWORD'
export TF_VAR_btp_version='BTP_VERSION'Dns zone setup
Navigate to DNS Zone Directory
cd tutorial-btp-on-gcp/00_dns_zoneCreate dns zone
terraform init
terraform applyConfigure domain registrar
Add NS records for your subdomain (e.g., btp.settlemint.com) pointing to Google nameservers:
- ns-cloud-a1.googledomains.com
- ns-cloud-a2.googledomains.com
- ns-cloud-a3.googledomains.com
- ns-cloud-a4.googledomains.com
Verify dns delegation
dig NS btp.settlemint.comPlatform infrastructure setup
Navigate to Infrastructure Directory
cd ../01_infrastructureDeploy infrastructure
terraform init
terraform applyCleanup
Remove Resources
terraform destroyYou may need to run the destroy command twice if the first attempt fails.
Next steps
Access Platform
Visit https://btp.<your-domain>
Complete setup
Follow the initial setup wizard
Review documentation
Check the platform documentation
Troubleshooting
Common Issues
- Verify all environment variables are set correctly
- Ensure DNS delegation is complete (can take up to 48 hours)
- Check Terraform logs for specific error messages
Get Help
- Review error messages in detail
- Check GCP quotas and limits
- Contact [email protected]
The Terraform installation is designed for demonstration and testing. For production deployments, we recommend following the manual installation process to configure each component according to your specific requirements.