Launching the Platform/Self hosted/Prerequisites

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

Installation Steps

Clone Repository

git clone git@github.com: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

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

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

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.