Terraform installation (optional)
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/terraform
Google Cloud Platform
brew cask install google-cloud-sdk
gcloud auth application-default login
Required 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
Owner
role
Required Roles
Editor
Cloud KMS Admin
Project IAM Admin
Kubernetes Engine Admin
Service Account Admin
Installation steps
Clone Repository
git clone [email protected]:settlemint/tutorial-btp-on-gcp.git
Set 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_zone
Create dns zone
terraform init
terraform apply
Configure 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.com
Platform infrastructure setup
Navigate to Infrastructure Directory
cd ../01_infrastructure
Deploy infrastructure
terraform init
terraform apply
Cleanup
Remove Resources
terraform destroy
You 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.