Deploy on Local using Helm Charts and Minikube
A step-by-step guide to deploying Hyperswitch locally using Helm and Minikube, with setup, access, cleanup, and troubleshooting instructions.
Part 1: Setting Up a Local Kubernetes Cluster with Minikube/OrbStack
Option 1: Setting Up a Local Kubernetes Cluster with Minikube
Step 1: Install Required Tools
a. kubectl
kubectl is the CLI for interacting with Kubernetes clusters. To install it, refer to the official guide: Install kubectl
b. Minikube
Minikube is a local Kubernetes cluster for development/testing. Install Minikube following the official documentation: Install Minikube
c. Helm
Helm is a package manager for Kubernetes applications. Install Helm using the instructions here: Install Helm
Step 2: Start Minikube
Start a Minikube cluster with sufficient resources:
minikube start --cpus=4 --memory=7900 --driver=docker
You can also use --driver=virtualbox
or --driver=hyperkit
depending on your system.
Verify the cluster is running:
kubectl get nodes
Option 2: Setting Up a Local Kubernetes Cluster using OrbStack (Only for macOS)
Step 1: Install Required Tools
brew install helm
brew install orbstack # Download the OrbStack application
Step 2: Set Up Kubernetes in OrbStack
Open the OrbStack application.
Navigate to the Pods section.
Enable Kubernetes from the settings.
Part 2: Deploy Hyperswitch on Kubernetes Using Helm
Step 1: Add and Update the Hyperswitch Helm Repository
helm repo add hyperswitch https://juspay.github.io/hyperswitch-helm
helm repo update
Step 2: Install Hyperswitch
Install the Helm chart and create the namespace:
helm install hypers-v1 hyperswitch/hyperswitch-stack -n hyperswitch --create-namespace
Check the status of the pods:
kubectl get pods -n hyperswitch
That's it! Hyperswitch should be up and running on your Minikube Cluster🎉 🎉
Step 3: Accessing Services
Expose services locally using port forwarding:
kubectl port-forward service/hyperswitch-server 8080:80 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/hyperswitch-control-center 9000:80 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/hyperswitch-web 9050:9050 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/hypers-v1-grafana 3000:80 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/hypers-v1-vector 3103:3103 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/mailhog 8025:8025 -n hyperswitch > /dev/null 2>&1 &
Access services at:
App server: http://localhost:8080
Control center: http://localhost:9000
Hyperswitch Web: http://localhost:9050/HyperLoader.js
Grafana: http://localhost:3000
Vector: http://localhost:3103
Mailhog: http://localhost:8025
Cleanup
To uninstall Hyperswitch and clean up the namespace:
helm uninstall hypers-v1 -n hyperswitch
kubectl delete namespace hyperswitch
Troubleshooting
View Pod Logs
kubectl logs <pod-name> -n hyperswitch
View Events
kubectl get events -n hyperswitch --sort-by='.metadata.creationTimestamp'
Last updated
Was this helpful?