Skip to main content
Version: 0.12

Helm and Kubernetes

Deploy Marmot to a Kubernetes cluster with the official Helm chart.

Install​

  1. Add the Helm repository

    helm repo add marmotdata https://marmotdata.github.io/charts
    helm repo update
  2. Install Marmot

    helm install marmot marmotdata/marmot
  3. Sign in

    Forward the port to your machine:

    kubectl port-forward svc/marmot 8080:8080

    Open http://localhost:8080 and sign in as admin with the password admin. Marmot asks you to choose a new password straight away.

Database​

Marmot needs PostgreSQL. Use one of these:

Connect Marmot to your existing PostgreSQL database:

config:
database:
host: postgres.example.com
port: 5432
user: marmot
passwordSecretRef:
name: marmot-db-secret
key: password
name: marmot
sslmode: require

Encryption key​

Marmot encrypts the credentials it stores with this key, so every install needs one.

By default the chart generates a key and stores it in a Secret:

config:
server:
autoGenerateEncryptionKey: true

Back up the generated key

If the Secret is deleted, Marmot can't read the credentials it stored. Back the key up as soon as you install.

For a release named marmot, the Secret is marmot-encryption-key:

kubectl get secret marmot-encryption-key \
-o jsonpath='{.data.encryption-key}' | base64 -d

Serving plugins​

To let plugins that run in your own networks answer data queries, turn on the serve listener. It needs an encryption key.

config:
query:
serve:
enabled: true
serveService:
type: LoadBalancer

The chart opens port 8443, creates a separate <release>-serve Service for it and tells each replica the address its peers forward queries to. Expose the Service with a TCP load balancer or TLS passthrough, never one that terminates TLS. See serve queries from your network.

Chart values​

Every value the chart takes, with its default:

helm show values marmotdata/marmot

Or read values.yaml on GitHub.

Next steps​