rilusmahmud/spl-tileserver

By rilusmahmud

Updated about 1 month ago

Helm
0

363

rilusmahmud/spl-tileserver repository overview

TileServer GL Helm Chart

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

TileServer GL

Features

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

Prerequisites

  • Kubernetes 1.19+
  • Helm 3.0+
  • PV provisioner support (if persistence is enabled)
  • kubectl configured to access your cluster

Quick Start

Install from OCI Registry (Docker Hub)
# 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 Chart
# Install from local directory
helm install my-tileserver ./spl-tileserver

Uninstalling the Chart

To uninstall/delete the my-tileserver deployment:

helm uninstall my-tileserver

Configuration

The following table lists the configurable parameters of the SPL TileServer chart and their default values.

ParameterDescriptionDefault
replicaCountNumber of replicas1
image.repositoryImage repositorymaptiler/tileserver-gl
image.tagImage taglatest
image.pullPolicyImage pull policyAlways
service.typeService typeLoadBalancer
service.portService port80
service.targetPortContainer port8080
resources.limits.cpuCPU limit500m
resources.limits.memoryMemory limit512Mi
resources.requests.cpuCPU request250m
resources.requests.memoryMemory request256Mi
persistence.enabledEnable persistent storagetrue
persistence.sizePVC size256Gi
persistence.storageClassNameStorage class namestandard-rwo
persistence.accessModeAccess modeReadWriteOnce
tileserver.log.formatLog formatcombined
tileserver.log.fileLog file nameoutput.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

Persistence

The chart mounts a Persistent Volume at /data. The volume is created using dynamic volume provisioning.

To disable persistence, set persistence.enabled=false.

Autoscaling

To enable horizontal pod autoscaling:

autoscaling:
  enabled: true
  minReplicas: 1
  maxReplicas: 10
  targetCPUUtilizationPercentage: 80

Examples

Deploy with custom storage size
helm install my-tileserver ./spl-tileserver \
  --set persistence.size=512Gi
Deploy with ClusterIP service
helm install my-tileserver ./spl-tileserver \
  --set service.type=ClusterIP
Deploy with custom resources
helm install my-tileserver ./spl-tileserver \
  --set resources.limits.cpu=1000m \
  --set resources.limits.memory=1Gi

Tag summary

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