Back to Charts

⚠️ Repo Archive Notice

stable/metabase/README.md

latest9.7 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

Metabase

Metabase is the easy, open source way for everyone in your company to ask questions and learn from data.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

TL;DR;

bash
$ helm install stable/metabase

Introduction

This chart bootstraps a Metabase deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.4+ with Beta APIs enabled

Installing the Chart

To install the chart with the release name my-release:

bash
$ helm install --name my-release stable/metabase

The command deploys Metabase on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

bash
$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

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

ParameterDescriptionDefault
replicaCountdesired number of controller pods1
podAnnotationscontroller pods annotations{}
podLabelsextra pods labels{}
image.repositorycontroller container image repositorymetabase/metabase
image.tagcontroller container image tagv0.36.3
image.pullPolicycontroller container image pull policyIfNotPresent
fullnameOverrideString to fully override metabase.fullname templatenull
listen.hostListening on a specific network host0.0.0.0
listen.portListening on a specific network port3000
ssl.enabledEnable SSL to run over HTTPSfalse
ssl.portSSL portnull
ssl.keyStoreThe key store in JKS formatnull
ssl.keyStorePasswordThe password for key Storenull
database.typeBackend database typeh2
database.encryptionKeySecret key for encrypt sensitive information into databasenull
database.connectionURIDatabase connection URI (alternative to the below settings)null
database.hostDatabase hostnull
database.portDatabase portnull
database.dbnameDatabase namenull
database.usernameDatabase usernamenull
database.passwordDatabase passwordnull
database.existingSecretExising secret for database credentialsnull
database.existingSecretUsernameKeyUsername key for exising secretnull
database.existingSecretPasswordKeyPassword key for exising secretnull
database.existingSecretConnectionURIKeyConnectionURI key for exising secretnull
password.complexityComplexity requirement for Metabase account's passwordnormal
password.lengthMinimum length required for Metabase account's password6
timeZoneService time zoneUTC
emojiLoggingGet a funny emoji in service logtrue
javaOptsJVM optionsnull
pluginsDirectoryA directory with Metabase pluginsnull
livenessProbe.initialDelaySecondsDelay before liveness probe is initiated120
livenessProbe.timeoutSecondsWhen the probe times out30
livenessProbe.failureThresholdMinimum consecutive failures for the probe6
readinessProbe.initialDelaySecondsDelay before readiness probe is initiated30
readinessProbe.timeoutSecondsWhen the probe times out3
readinessProbe.periodSecondsHow often to perform the probe5
service.typeClusterIP, NodePort, or LoadBalancerClusterIP
service.loadBalancerSourceRangesArray of Source Rangesnull
service.externalPortService external port80
service.internalPortService internal port, should be the same as listen.port3000
service.nodePortService node portnull
service.annotationsService annotations{}
ingress.enabledEnable ingress controller resourcefalse
ingress.hostsIngress resource hostnamesnull
ingress.pathIngress path/
ingress.labelsIngress labels configurationnull
ingress.annotationsIngress annotations configuration{}
ingress.tlsIngress TLS configurationnull
log4jPropertiesCustom log4j.properties filenull
resourcesServer resource requests and limits{}
nodeSelectorNode labels for pod assignment{}
tolerationsToleration labels for pod assignment[]
affinityAffinity settings for pod assignment{}
jetty.maxThreadsJetty max number of threadsnull
jetty.minThreadsJetty min number of threadsnull
jetty.maxQueuedJetty max queue sizenull
jetty.maxIdleTimeJetty max idle timenull
siteUrlBase URL, useful for serving behind a reverse proxynull
session.maxSessionAgeSession expiration defined in minutes20160
session.sessionCookiesWhen browser is closed, user login session will expirenull

The above parameters map to the env variables defined in metabase. For more information please refer to the metabase documentations.

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

bash
$ helm install --name my-release \
  --set timeZone=US/Pacific,password.complexity=strong,password.length=10 \
    stable/metabase

The above command sets the time zone to US/Pacific, strong user password complexity and minimum length at 10

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

bash
$ helm install --name my-release -f values.yaml stable/metabase

Tip: You can use the default values.yaml