SmartGateway Helm Chart — Quick Deployment Guide (Multi-Cloud)
This Helm Chart deploys SmartGateway on Kubernetes (microservices + MySQL + required configuration).
Optimized for:
Before you start (requirements)
You need:
Verify tooling:
Go to your EKS resources and connect to CloudShell by selecting the icon as shown in the image.
Verify your AWS identity:
Execute the next command: aws sts get-caller-identity
List your EKS clusters in the region where they were created.
Run the following command, replacing the region with the one where your cluster is located:
aws eks list-clusters --region us-east-2
Configure kubectl access to your EKS cluster (update kubeconfig)
Run the following command and replace CLUSTER_NAME with the name of the cluster you want to select, as shown in the image:
aws eks update-kubeconfig --region us-east-2 --name CLUSTER_NAME
Strimzi is the Kubernetes operator that manages Kafka clusters declaratively. It must be installed and running before any Kafka resources are applied.
| helm install strimzi-operator strimzi-kafka-operator --repo https://strimzi.io/charts/ --version 0.51.0 --namespace kafka --create-namespace |
| kubectl get pods -n kafka | grep strimzi-cluster-operator |

strimzi-cluster-operator pod shows 1/1 Running. The operator must be healthy before it can process Kafka resources.Deploy the full Kafka stack: Kafka 4.2 in KRaft mode (not compatible with ZooKeeper), Confluent Schema Registry 7.6.0, and Kafka Connect.
Kafka Connect is the component that runs connectors to external databases and platforms such as MySQL and DataBricks.
Replace [your-docker-token] with your Docker Hub personal access token before running this command.
| Placeholder | Description |
|---|---|
[Docker-token] | Your Docker Hub personal access token (e.g. dckr_pat_xxxxxxxxxxxx) |
helm install kafka-platform ./kafka-platform --namespace kafka --values kafka-platform/values.yaml --set dockerHub.token=[Docker-token] |
| kubectl apply -f - <<EOF apiVersion: v1 kind: Service metadata: name: akhq namespace: kafka annotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" spec: type: LoadBalancer selector: app: akhq ports: - port: 8080 targetPort: 8080 EOF |
Wait until all four pods are Running before moving to Phase 2:
| kubectl get pods -n kafka -w |
helm install oneconnect . --namespace oneconnect --create-namespace --values values-aws.yaml --set dockerHub.token=YOUR_TOKEN --set networking.loadBalancer.type=external --timeout 15m
Note: Don't forget to insert your token in the command
# List all pods in the oneconnect namespace
kubectl get pods -n oneconnect
# For additional details (including restart count and current status)
kubectl get pods -n oneconnect -w
Verify the services and get the external IP:
# View all services
kubectl get svc -n oneconnect
For example, if the IP is a33bd3f701d5e442abc9828d940699d7-289592184.us-east-2.elb.amazonaws.com:
http://a33bd3f701d5e442abc9828d940699d7-289592184.us-east-2.elb.amazonaws.com:5050
NOTE: These same steps are valid for the multi-cloud support functionality in EKS (AWS) or GKE (GCP)