spl-search-api
A Helm chart for deploying SPL Search API - a FastAPI-based geospatial search service.
To install the chart with the release name spl-search-api:
helm install spl-search-api ./spl-search-api
To install with custom values:
helm install spl-search-api ./spl-search-api -f custom-values.yaml
To uninstall the spl-search-api deployment:
helm uninstall spl-search-api
The following table lists the configurable parameters of the SPL Search API chart and their default values.
| Parameter | Description | Default |
|---|---|---|
replicaCount | Number of replicas | 1 |
image.repository | Image repository | rilusmahmud/spl-search-api |
image.tag | Image tag | v0.1 |
image.pullPolicy | Image pull policy | Always |
nameOverride | Override chart name | "" |
fullnameOverride | Override full name | "" |
| Parameter | Description | Default |
|---|---|---|
service.type | Kubernetes service type | LoadBalancer |
service.port | Service port | 8080 |
service.targetPort | Container port | 8101 |
| Parameter | Description | Default |
|---|---|---|
resources.limits.cpu | CPU limit | 2000m |
resources.limits.memory | Memory limit | 4Gi |
resources.requests.cpu | CPU request | 500m |
resources.requests.memory | Memory request | 512Mi |
| Parameter | Description | Default |
|---|---|---|
persistence.enabled | Enable persistence | true |
persistence.storageClassName | Storage class name | standard-rwo |
persistence.accessMode | Access mode | ReadWriteOnce |
persistence.size | Volume size | 5Gi |
persistence.mountPath | Mount path | /app/logs |
| Parameter | Description | Default |
|---|---|---|
autoscaling.enabled | Enable HPA | false |
autoscaling.minReplicas | Minimum replicas | 1 |
autoscaling.maxReplicas | Maximum replicas | 10 |
autoscaling.targetCPUUtilizationPercentage | Target CPU % | 80 |
autoscaling.targetMemoryUtilizationPercentage | Target Memory % | 80 |
| Parameter | Description | Default |
|---|---|---|
config.appName | Application name | GeoSearch API |
config.debug | Debug mode | false |
config.typesenseHost | Typesense host | typesense |
config.typesensePort | Typesense port | 8108 |
config.mongoHost | MongoDB host | mongodb-0.mongodb |
config.mongoPort | MongoDB port | 27017 |
| Parameter | Description | Default |
|---|---|---|
secrets.typesenseApiKey | Typesense API key | M@aps4world! |
secrets.secretKey | JWT secret key | 2v6udemsno3b0dwa2ui3b8ddnarou3k |
secrets.mongoUsername | MongoDB username | dbadmin |
secrets.mongoPassword | MongoDB password | HxPlsytQ3Rt |
IMPORTANT: Do not use the default secrets in production. Override them using one of these methods:
Using --set flag:
helm install spl-search-api ./spl-search-api \
--set secrets.secretKey=your-secret-key \
--set secrets.mongoPassword=your-password
Using a custom values file:
helm install spl-search-api ./spl-search-api -f custom-values.yaml
Using external secret management (recommended for production):
helm install spl-search-api ./spl-search-api
helm install spl-search-api ./spl-search-api \
--set replicaCount=3 \
--set service.type=ClusterIP \
--set autoscaling.enabled=true \
--set autoscaling.minReplicas=2 \
--set autoscaling.maxReplicas=5
helm install spl-search-api ./spl-search-api \
--set secrets.secretKey="$(openssl rand -base64 32)" \
--set secrets.typesenseApiKey="your-typesense-key" \
--set secrets.mongoUsername="produser" \
--set secrets.mongoPassword="prodpassword"
helm upgrade spl-search-api ./spl-search-api -f custom-values.yaml
helm install spl-search-api ./spl-search-api --dry-run --debug
After installation, verify the deployment:
# Check deployment status
kubectl get deployment spl-search-api
# Check pods
kubectl get pods -l app.kubernetes.io/name=spl-search-api
# Check service
kubectl get svc spl-search-api
# View logs
kubectl logs -f deployment/spl-search-api
export SERVICE_IP=$(kubectl get svc spl-search-api -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo "API URL: http://$SERVICE_IP:8080"
echo "API Docs: http://$SERVICE_IP:8080/docs"
kubectl port-forward svc/spl-search-api 8080:8080
# Access at http://localhost:8080
This chart requires the following external services:
Make sure these services are deployed and accessible before installing this chart.
# Check pod events
kubectl describe pod <pod-name>
# Check logs
kubectl logs <pod-name>
# Check PVC status
kubectl get pvc
# Check storage class
kubectl get storageclass
This chart is provided as-is for deploying the SPL Search API.
Content type
Image
Digest
sha256:50ec4f929…
Size
119.6 MB
Last updated
7 days ago
docker pull rilusmahmud/spl-search-api:1.8.3