MapProxy Installation

Introduction

MapProxy server is available for installation along side TileDB Cloud Enterprise in Kubernetes clusters though a helm chart. Installation of MapProxy assumes you have already configured and have a running instance of TileDB Cloud Enterprise. If you do not have TileDB Cloud Enterprise running please see Installation Instructions.

Accounts

In order to use MapProxy server with TileDB Cloud Enterprise Edition you will need to get access to the private docker registry and the private helm registry. Please contacts your TileDB, Inc account representative for credentials to these services.

Create Custom Values.yaml

Before you install MapProxy server it is important to setup and customize your installation. This involves creating a custom values file for helm. Below is a sample file you can save and edit.

Save this value as values.yaml . There are several required changes, all sections which require changes are prefixed with a comment of # REQUIRED:. Examples of the changes needed including setting access token for TileDB Cloud Enterprise, and setting the array URI.

values.yaml
# Default values for mapproxy
# This is a YAML-formatted file.
replicaCount: 1
serviceAccount:
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "default"
# REQUIRED: set the TileDB Cloud Configuration. This should be a API token
# created in the TileDB Cloud UI and the hostname where TileDB Cloud REST API
# is exposed
tiledbConfig:
token: ""
host: "tiledb-cloud-rest"
# REQUIRED: Configure mapproxy settings, including setting array_uri
mapProxConfig:
services:
demo:
wms:
wmts:
layers:
- name: tiledb_prod
title: TileDB Production Source
sources: [tiledb_cache]
caches:
tiledb_cache:
sources: []
grids: [GLOBAL_WEBMERCATOR]
cache:
type: tiledb
# REQUIRED: Set the array_uri here
array_uri: tiledb_cache
ingress:
enabled: true
# Configure any needed annotations. For instance if you are using a different ingress besides nginx set that here
annotations:
kubernetes.io/ingress.class: nginx
# REQUIRED: set the mapproxy hostname
hosts:
- mapproxy.tiledb.example.com
# tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# By default we set limits to 2 CPUs and 2GB Memory
# resources:
# limits:
# cpu: 2000m
# memory: 2Gi
# requests:
# cpu: 2000m
# memory: 2Gi

Installing MapProxy Server

Once you have created the values.yaml file you can install MapProxy by running the following helm command.

helm install \
--namespace tiledb-cloud \
--values values.yaml \
tiledb-cloud-mapproxy \
tiledb/mapproxy

Upgrades

When new releases of MapProxy server are announced you can easily upgrade your installation by first updating the helm repository:

helm repo update tiledb

After the repository is updated you can run the helm upgrade:

helm upgrade --install \
--namespace tiledb-cloud \
--values values.yaml \
tiledb-cloud-mapproxy \
tiledb/mapproxy