A production-ready Helm chart for deploying TileServer GL on Kubernetes.

✨ Easy Deployment: One-command installation via Helm 💾 Persistent Storage: Configurable PVC for map tiles and configuration 🏥 Health Checks: Built-in liveness and readiness probes 📊 Resource Management: Configurable CPU and memory requests/limits 📈 Autoscaling: Optional HPA support for dynamic scaling 🌍 Multiple Environments: Pre-configured values for dev and production 🔒 Security: Non-root user execution and security context ♻️ Rolling Updates: Zero-downtime deployments
# Install with default values
helm install spl-tileserver oci://registry-1.docker.io/rilusmahmud/spl-tileserver --version 1.0.1
# Install with custom namespace
helm install spl-tileserver oci://registry-1.docker.io/rilusmahmud/spl-tileserver \
--version 1.0.1 \
--namespace maps \
--create-namespace
# Install from local directory
helm install my-tileserver ./spl-tileserver
To uninstall/delete the my-tileserver deployment:
helm uninstall my-tileserver
The following table lists the configurable parameters of the SPL TileServer chart and their default values.
| Parameter | Description | Default |
|---|---|---|
replicaCount | Number of replicas | 1 |
image.repository | Image repository | maptiler/tileserver-gl |
image.tag | Image tag | latest |
image.pullPolicy | Image pull policy | Always |
service.type | Service type | LoadBalancer |
service.port | Service port | 80 |
service.targetPort | Container port | 8080 |
resources.limits.cpu | CPU limit | 500m |
resources.limits.memory | Memory limit | 512Mi |
resources.requests.cpu | CPU request | 250m |
resources.requests.memory | Memory request | 256Mi |
persistence.enabled | Enable persistent storage | true |
persistence.size | PVC size | 256Gi |
persistence.storageClassName | Storage class name | standard-rwo |
persistence.accessMode | Access mode | ReadWriteOnce |
tileserver.log.format | Log format | combined |
tileserver.log.file | Log file name | output.log |
Specify each parameter using the --set key=value[,key=value] argument to helm install. For example:
helm install my-tileserver ./spl-tileserver \
--set replicaCount=2 \
--set persistence.size=512Gi
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart:
helm install my-tileserver ./spl-tileserver -f custom-values.yaml
The chart mounts a Persistent Volume at /data. The volume is created using dynamic volume provisioning.
To disable persistence, set persistence.enabled=false.
To enable horizontal pod autoscaling:
autoscaling:
enabled: true
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 80
helm install my-tileserver ./spl-tileserver \
--set persistence.size=512Gi
helm install my-tileserver ./spl-tileserver \
--set service.type=ClusterIP
helm install my-tileserver ./spl-tileserver \
--set resources.limits.cpu=1000m \
--set resources.limits.memory=1Gi
Content type
Helm
Digest
sha256:873ff4d60…
Size
11 kB
Last updated
about 1 month ago
helm pull oci://registry-1.docker.io/rilusmahmud/spl-tileserver --version 1.2.6