Platform Installation
Overview
This guide walks you through installing the SettleMint Platform using Helm, providing a command-line based installation method with full control over the deployment process.
Prerequisites
Before starting the installation, ensure you have:
- Completed all prerequisite services setup
- Collected all required information from the prerequisite guides
- Met all infrastructure requirements
- Helm 3.x installed
- kubectl access to your cluster
- Admin permissions
Installation Steps
1. Sign in to the SettleMint Helm Registry
Replace <username>
and <password>
with your provided credentials.
2. Review Configuration Options
View all available configuration options:
3. Install the Platform
Create a values file (values.yaml) with your configuration:
Replace all placeholder values with your actual configuration - The license section should be configured with your provided license file - Image tags should be verified for the latest stable versions - Remove any unused features to keep the configuration clean
Click to see a complete example values file
Install the platform:
4. Verify Installation
Check the deployment status:
Verify all pods are running and ready.
5. Access the Platform
Once all pods are running, access the platform at https://<your-domain>
.
6. Target Clusters Configuration
The platform supports deploying blockchain nodes and applications to multiple target clusters across different cloud providers and regions. This section explains how to configure target clusters in your values file.
Target Structure
The targets configuration uses a simple 2-level hierarchy:
- Target (top level grouping)
- Clusters (individual Kubernetes clusters)
Basic Configuration Example
Configuration Options
Target Level
id
: Unique identifier for the target groupname
: Display nameicon
: Icon identifier for the UI
Cluster Level
id
: Unique identifier for the clustername
: Display name for the region/locationicon
: Icon identifier for the UIdisabled
: (Optional) Set to true to disable this clusterlocation
: Geographic coordinates for visualizationlat
: Latitudelon
: Longitude
Namespace Configuration
Connection Settings
Domain Configuration
The domain configuration determines how services in the cluster will be accessed. Each cluster needs a unique domain that resolves to its ingress controller.
Storage Configuration
Storage class recommendations per cloud provider:
- GKE: Use
"standard"
for general purpose or"premium-rwo"
for better performance - EKS: Use
"gp3"
for general purpose or"io1"
for high-performance workloads - AKS: Use
"managed-premium"
for production or"default"
for development
Ingress Configuration
The ingress class should match your installed ingress controller. Common options:
"nginx"
for NGINX Ingress Controller"azure/application-gateway"
for Azure Application Gateway"alb"
for AWS Application Load Balancer
Capabilities Configuration
Capabilities determine what features are available in the cluster:
mixedLoadBalancers
: Enable if your cluster supports both internal and external load balancersnodePorts
: Configure if you need to expose services using NodePort type- The port range should be within Kubernetes defaults (30000-32767)
- Ensure the range doesn't conflict with other services
Important Considerations
-
Domain Names
- Each cluster must have a unique domain name
- Domains should be properly configured in your DNS provider
- TLS certificates will be automatically managed if cert-manager is configured
-
Storage Classes
- Verify the storage class exists in your cluster before using it
- Consider performance requirements when selecting storage classes
- Some features may require specific storage capabilities (e.g., RWX support)
-
Network Capabilities
mixedLoadBalancers
should match your cloud provider's capabilities- NodePort ranges should not conflict with other services
- Ensure network policies allow required communication
When setting up a new cluster, start with the basic configuration and gradually enable additional capabilities as needed. This approach helps in identifying potential issues early in the deployment process.
Troubleshooting
If you encounter issues during installation:
- Debug the installation:
- Check pod logs:
- Generate a support bundle:
Send the generated support bundle to [email protected] for assistance.
Uninstalling
To remove the platform:
Note: This will not delete persistent volumes or other resources outside of Helm's control. You may need to clean these up manually.