Skip to content

This has been tested on Google Kubernetes Engine - it should work with other cluster types, but if you run into problems open an issue.

Deploy a Basic TerriaMap Instance

From within TerriaMap...

helm upgrade --install -f deploy/helm/example-prod.yml terria deploy/helm/terria

Config Customization

You can customize TerriaMap through helm by either modifying example-prod or creating your own helm config file. Server config is available at terriamap.serverConfig, init config at terriamap.initConfig and client config at terriamap.clientConfig. Changes that you make will be merged with the default values in deploy/terria/charts/terriamap/values.yaml.

E.g.

global:
    rollingUpdate:
        maxUnavailable: 1
    image:
        tag: "0.0.6"
terriamap:
    clientConfig:
        parameters:
            disclaimer:
            text: "This is a disclaimer"
    serverConfig:
        port: 8080
    initConfig:
        camera:
            north: "1"
            east: "2"
            south: "3"
            west: "4"

Building Your Own Image

You can build your own TerriaMap image. Choose your own app-name and tag (e.g. awesome-map:1.0.0) and put them into the command below:

docker build -t app-name:tag .

Working Locally

If you want to run a local version of TerriaMap using Kubernetes then you can try one of these applications:

Or try a tool recommended in the official Kuberntes setup documentation.

Then, using the same app-name & tag that you chose when building the image, run:

docker build -t app-name:tag .

helm upgrade --install -f deploy/helm/example-prod.yml terria deploy/helm/terria --set terriamap.image.full=app-name:tag --set global.image.pullPolicy=Never

You can repeat the command docker build -t app-name:tag . and delete the terria-terriamap pod to update it, and you can run the above helm upgrade command after modifying or copying example-prod.yml to change the config.