Bitnami package for Dremio

Dremio is an open-source self-service data access tool that provides high-performance queries for interactive analytics on data lakes.

Overview of Dremio

Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement.

TL;DR

helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/dremio

Note: You need to substitute the placeholders REGISTRY_NAME and REPOSITORY_NAME with a reference to your Helm chart registry and repository.

Introduction

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

Bitnami charts can be used with Kubeapps for deployment and management of Helm Charts in clusters.

Prerequisites

  • Kubernetes 1.23+
  • Helm 3.8.0+
  • PV provisioner support in the underlying infrastructure

Installing the Chart

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

helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/dremio

Note: You need to substitute the placeholders REGISTRY_NAME and REPOSITORY_NAME with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use REGISTRY_NAME=registry-1.docker.io and REPOSITORY_NAME=bitnamicharts.

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

Tip: List all releases using helm list

Configuration and installation details

Rolling VS Immutable tags

It is strongly recommended to use immutable tags in a production environment. This ensures your deployment does not change automatically if the same tag is updated with a different image.

Bitnami will release a new chart updating its containers if a new version of the main container, significant changes, or critical vulnerabilities exist.

Customizing Dremio configuration files

Dremio has two main configuration files: dremio.conf and core-site.xml. These are automatically generated by the chart using the information provided in the values.yaml file.

It is possible to add custom information in both files

Customizing the dremio.conf file

The dremio.conf file gets overridden using the following parameters:

  • dremio.dremioConf.configOverrides: non-sensitive settings to be applied to all Dremio nodes.
  • dremio.dremioConf.secretConfigOverrides: sensitive settings to be applied to all Dremio nodes.

The parameters above are applied to all Dremio nodes. For more specific node settings, the chart uses the following parameters:

-masterCoordinator.dremioConf.configOverrides: non-sensitive settings to be applied to Dremio master coordinator nodes. -masterCoordinator.dremioConf.secretConfigOverrides: sensitive settings to be applied to Dremio master coordinator nodes. -coordinator.dremioConf.configOverrides: non-sensitive settings to be applied to Dremio coordinator nodes. -coordinator.dremioConf.secretConfigOverrides: sensitive settings to be applied to Dremio coordinator nodes. -executor.common.dremioConf.configOverrides: non-sensitive settings to be applied to Dremio executor nodes. -executor.common.dremioConf.secretConfigOverrides: sensitive settings to be applied to Dremio executor nodes.

Using these parameters, the chart will generate ConfigMaps (with the non-sensitive settings) and Secrets (with the sensitive settings) for each Dremio component. Afterwards, an init-container will merge the information from the ConfigMap and the Secret generating the final dremio.conf file which gets mounted in /opt/bitnami/dremio/conf.

NOTE: The settings in the parameters above must be inserted in YAML format, which will get translated into HOCON-compatible flattened YAML.

In the example below we override the upload path for all Dremio nodes and increase the token expiration time in master-coordinator nodes:

dremio:
  dremioConf:
    configOverrides:
      paths.upload: /tmp/uploads

masterCoordinator:
  dremioConf:
    configOverrides:
      services.coordinator.web.tokens.cache.expiration_minutes: 20

Check the upstream Dremio documentation for the list of allowed settings.

As an alternative, it is possible to provide existing ConfigMaps and Secrets with the dremio.conf configuration. This is done using the *.dremioConf.existingSecret and *.dremioConf.existingConfigmap parameters.

Customizing the core-site.xml file

The core-site.xml file can be customized with the follownig parameter:

  • dremio.coreSite.appendConfiguration: XML string that gets appended inside the <configuration> section of the core-site.xml file.

In the example below we disable SSL connection to the S3 backend:

dremio:
  coreSite:
    appendConfiguration: |
      <property>
          <name>fs.s3a.connection.ssl.enabled</name>
          <description>Value can either be true or false, set to true to use SSL with a secure Minio server.</description>
          <value>false</value>
      </property>

As an alternative, it is possible to provide an existing Secret with the core-site.xml configuration. This is done using the dremio.coreSite.existingSecret parameter.

Check the upstream Dremio documentation for the list of available settings in the core-site.xml file.

Environment variables inside configuration files

The chart allows adding Dremio configuration settings relative to environment vars. This is done by enclosing the environment variable inside {{ }}. An init container will render the environment variable using the render-template tool. This is useful when having rotating secrets.

For adding extra environment variables for rendering, set the defaultInitContainers.generateConf.extraEnvVars parameter.

In the following example we add a property in the core-site.xml dependant to AZURE_TOKEN environment variable, which is part of a secret named azure-secret with key token.

dremio:
  coreSite:
    appendConfiguration: |
      <property>
          <name>dremio.azure.key</name>
          <description>The shared access key for the storage account.</description>
          <value>{{ AZURE_TOKEN }}</value>
      </property>

defaultInitContainers:
  generateConf:
    extraEnvVars:
      - name: AZURE_TOKEN
        valueFrom:
          secretKeyRef:
            name: azure-secret
            key: token

Adding extra configuration files

For advanced configurations such as editing files like logback.xml, it is possible to include extra configuration files in the dremio.conf ConfigMap or Secret using the following values:

  • dremio.dremioConf.extraFiles: Adds extra non-sensitive files.
  • dremio.dremioConf.extraSecretFiles: Add extra sensitive files.

In the following example we include a modified version of the logback.xml file:

dremio:
  dremioConf:
    extraFiles:
      logback.xml: |
        <?xml version="1.0" encoding="UTF-8" ?>
        <configuration scan="true" scanPeriod="30 seconds">
          <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>
          <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
              <pattern>%date{ISO8601} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
          </appender>
        </configuration>

NOTE: Adding dremio.conf in extraFiles or extraSecretFiles fully overwrites the default dremio.conf file generated by the chart

Distributed Storage configuration

The Bitnami Dremio chart natively supports s3 as backend, either using AWS or MinIO(TM). This is configured using dremio.distStorageType, possible values are: aws, minio or other. E.g.:

  • dremio.distStorageType: aws

It is possible to configure other distributed storage backends when setting dremio.distStorageType to other, but these require add extra configuration settings using the *.dremioConf and *.coreSite. In the sections below we detail some example distributed storage backends. Check the upstream Dremio documentation for the required settings in the dremio.conf and core-site.xml files.

MinIO(TM) subchart as storage backend (default)

Set the following parameters for using the embedded subchart:

dremio:
  distStorageType: minio

minio:
  enabled: true

External MinIO(TM) as distributed storage

For configuring an external MinIO(TM) installation, use the externalS3 section (replace the DREMIO_* placeholders)

dremio:
  distStorageType: minio

minio:
  enabled: false

externalS3:
  host: DREMIO_MINIO_HOST
  port: DREMIO_MINIO_PORT
  accessKeyID: DREMIO_ACCESS_KEY_ID
  accessKeySecret: DREMIO_ACCESS_KEY_SECRET
  bucket: DREMIO_BUCKET

AWS as distributed storage using access key authentication

For configuring AWS as distributed storage, use the externalS3 section (replace the DREMIO_* placeholders):

dremio:
  distStorageType: minio

minio:
  enabled: false

externalS3:
  accessKeyID: DREMIO_ACCESS_KEY_ID
  accessKeySecret: DREMIO_ACCESS_KEY_SECRET
  bucket: DREMIO_BUCKET
  regien: DREMIO_REGION

Azure Storage as distributed storage

For configuring Azure Storage as distributed storage following the upstream Dremio documentation, use the dremio.dremioConf and dremio.coreSite parameters (replace the DREMIO_* placeholders):

dremio:
  distStorageType: other
  dremioConf:
    configOverrides:
      paths.dist: "dremioAzureStorage://:///DREMIO_FILE_SYSTEM_NAME/DREMIO_ALTERNATIVE_STORAGE_ROOT_DIRECTORY"
  coreSite:
    appendConfiguration: |
      <property>
          <name>fs.dremioAzureStorage.impl</name>
          <description>FileSystem implementation. Must always be com.dremio.plugins.azure.AzureStorageFileSystem</description>
          <value>com.dremio.plugins.azure.AzureStorageFileSystem</value>
      </property>
      <property>
          <name>dremio.azure.account</name>
          <description>The name of the storage account.</description>
          <value>DREMIO_ACCOUNT_NAME</value>
      </property>
      <property>
          <name>dremio.azure.key</name>
          <description>The shared access key for the storage account.</description>
          <value>DREMIO_ACCESS_KEY</value>
      </property>
      <property>
          <name>dremio.azure.mode</name>
          <description>The storage account type. Value: STORAGE_V2</description>
          <value>STORAGE_V2</value>
      </property>
      <property>
          <name>dremio.azure.secure</name>
          <description>Boolean option to enable SSL connections. Default: True Value: True/False</description>
          <value>True</value>
      </property>

minio:
  enabled: false

Google Cloud Storage as distributed storage

For configuring Google Cloud Storage as distributed storage following the upstream Dremio documentation, use the dremio.dremioConf and dremio.coreSite parameters (replace the DREMIO_* placeholders):

dremio:
  distStorageType: other
  dremioConf:
    configOverrides:
      paths.dist: "dremiogcs:///DREMIO_BUCKET_NAME/DREMIO_BUCKET_FOLDER"
  coreSite:
    appendConfiguration: |
      <property>
        <name>dremio.gcs.whitelisted.buckets</name>
        <description>GCS bucket to use for distributed storage</description>
        <value>DREMIO_BUCKET_NAME</value>
      </property>
      <property>
        <name>fs.dremiogcs.impl</name>
        <description>The FileSystem implementation. Must be set to com.dremio.plugins.gcs.GoogleBucketFileSystem</description>
        <value>com.dremio.plugins.gcs.GoogleBucketFileSystem</value>
      </property>
      <property>
        <name>dremio.gcs.use_keyfile</name>
        <description>Do not use the key file</description>
        <value>false</value>
      </property>

minio:
  enabled: false

User authentication

When the dremio.auth.enabled parameter is set to true, the chart will create a Job that automatically bootstraps a user using Dremio internal authentication mechanisms. The user is customized with the following parameters:

  • dremio.auth.username: Bootstrap username
  • dremio.auth.password: Bootstrap password
  • dremio.auth.email: Bootstrap email
  • dremio.auth.firstName: Bootstrap first name
  • dremio.auth.lastName: Bootstrap last name

Also, it is possible to provide the password using an existing secret with the dremio.auth.existingSecret value.

Other authentication mechanisms can be configured using the dremioConf and coreSite values. You could check upstream Dremio documentation for all the available options.

External Zookeeper support

You may want to have Dremio connect to an external zookeeper rather than installing one inside your cluster. Typical reasons for this are to use a managed database service, or to share a common database server for all your applications. To achieve this, the chart allows you to specify credentials for an external database with the externalZookeeper parameter. You should also disable the Zookeeper installation with the zookeeper.enabled option. Here is an example:

zookeper.enabled=false
externalZookeeper.hosts[0]=myexternalhost
externalZookeeper.port=2181

TLS secrets

TLS support for the Web interface can be enabled in the chart by specifying the dremio.tls.enabled=truewhile creating a release. Two possible options are available:

  • Provide your own secret with the PEM or JKS certificates
  • Have the chart auto-generate the certificates.

Providing your own TLS secret

To provide your own secret set the dremio.tls.existingSecret value. It is possible to use PEM or JKS.

To use PEM Certs:

  • dremio.tls.usePemCerts=true: Use PEM certificates instead of a JKS file.
  • dremio.tls.certFilename: Certificate filename. Defaults to tls.crt.
  • dremio.tls.certKeyFilename: Certificate key filename. Defaults to tls.key

To use JKS keystore:

  • dremio.tls.usePemCerts=false: Use JKS file.
  • dremio.tls.keystoreFilename: Certificate filename. Defaults to dremio.jks.

In the following example we will use PEM certificates. First, create the secret with the certificates files:

kubectl create secret generic certificates-tls-secret --from-file=./cert.pem --from-file=./cert.key --from-file=./ca.pem

Then, use the following parameters:

dremio.tls.enabled="true"
dremio.tls.existingSecret="certificates-tls-secret"
dremio.tls.usePemCerts="true"
dremio.tls.certFilename="cert.pem"
dremio.tls.certKeyFilename="cert.key"

Auto-generation of TLS certificates

It is also possible to rely on the chart certificate auto-generation capabilities. The chart supports two different ways to auto-generate the required certificates:

  • Using Helm capabilities. Enable this feature by setting dremio.tls.autoGenerated.enabled to true and dremio.tls.autoGenerated.engine to helm.
  • Relying on CertManager (please note it’s required to have CertManager installed in your K8s cluster). Enable this feature by setting dremio.tls.autoGenerated.enabled to true and dremio.tls.autoGenerated.engine to cert-manager. Please note it’s supported to use an existing Issuer/ClusterIssuer for issuing the TLS certificates by setting the dremio.tls.autoGenerated.certManager.existingIssuer and dremio.tls.autoGenerated.certManager.existingIssuerKind parameters.

Ingress

This chart provides support for Ingress resources. If you have an ingress controller installed on your cluster, such as nginx-ingress-controller or contour you can utilize it to serve your application.To enable Ingress integration, set ingress.enabled to true.

The most common scenario is to have one host name mapped to the deployment. In this case, the ingress.hostname property can be used to set the host name. The ingress.tls parameter can be used to add the TLS configuration for this host.

However, it is also possible to have more than one host. To facilitate this, the ingress.extraHosts parameter (if available) can be set with the host names specified as an array. The ingress.extraTLS parameter (if available) can also be used to add the TLS configuration for extra hosts.

NOTE: For each host specified in the ingress.extraHosts parameter, it is necessary to set a name, path, and any annotations that the Ingress controller should know about. Not all annotations are supported by all Ingress controllers, but this annotation reference document lists the annotations supported by many popular Ingress controllers.

Adding the TLS parameter (where available) will cause the chart to generate HTTPS URLs, and the application will be available on port 443. The actual TLS secrets do not have to be generated by this chart. However, if TLS is enabled, the Ingress record will not work until the TLS secret exists.

Learn more about Ingress controllers.

Configure TLS Secrets for use with Ingress

This chart facilitates the creation of TLS secrets for use with the Ingress controller (although this is not mandatory). There are several common use cases:

  • Generate certificate secrets based on chart parameters.
  • Enable externally generated certificates.
  • Manage application certificates via an external service (like cert-manager).
  • Create self-signed certificates within the chart (if supported).

In the first two cases, a certificate and a key are needed. Files are expected in .pem format.

Here is an example of a certificate file:

NOTE: There may be more than one certificate if there is a certificate chain.

-----BEGIN CERTIFICATE-----
MIID6TCCAtGgAwIBAgIJAIaCwivkeB5EMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV
...
jScrvkiBO65F46KioCL9h5tDvomdU1aqpI/CBzhvZn1c0ZTf87tGQR8NK7v7
-----END CERTIFICATE-----

Here is an example of a certificate key:

-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAvLYcyu8f3skuRyUgeeNpeDvYBCDcgq+LsWap6zbX5f8oLqp4
...
wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
-----END RSA PRIVATE KEY-----
  • If using Helm to manage the certificates based on the parameters, copy these values into the certificate and key parameters for a given *.ingress.secrets entry.
  • If managing TLS secrets separately, it is necessary to create a TLS secret with name INGRESS_HOSTNAME-tls (where INGRESS_HOSTNAME is a placeholder to be replaced with the hostname you set using the *.ingress.hostname parameter).
  • If your cluster has a cert-manager add-on to automate the management and issuance of TLS certificates, add to *.ingress.annotations the corresponding ones for cert-manager.
  • If using self-signed certificates created by Helm, set both *.ingress.tls and *.ingress.selfSigned to true.

Dremio Executor configuration

The charts deploys a default executor using the configuration inside the executor.common section. It is possible to define extra group of executor nodes using the executor.engines parameter. Each element inside the executor.engines array has the following parameters:

-name: Name of the group of executors (engine). -overrides: Perform overrides over the parameters in the executor.common section.

In the following example we define an extra group of executors, modifying the default replicaCount set in the common section:

executor:
  common:
    replicaCount: 1
  engines:
    - name: default # This group will have 1 replica
      overrides: {}
    - name: special # This group will have 3 replicas
      overrides:
        replicaCount: 3

Additional environment variables

In case you want to add extra environment variables (useful for advanced operations like custom init scripts), you can use the extraEnvVars property.

masterCoordinator:
  extraEnvVars:
    - name: LOG_LEVEL
      value: error

Alternatively, you can use a ConfigMap or a Secret with the environment variables. To do so, use the extraEnvVarsCM or the extraEnvVarsSecret parameters.

Sidecars

If additional containers are needed in the same pod as dremio (such as additional metrics or logging exporters), they can be defined using the sidecars parameter.

masterCoordinator:
  sidecars:
  - name: your-image-name
    image: your-image
    imagePullPolicy: Always
    ports:
    - name: portname
      containerPort: 1234

If these sidecars export extra ports, extra port definitions can be added using the service.extraPorts parameter (where available), as shown in the example below:

service:
  extraPorts:
  - name: extraPort
    port: 11311
    targetPort: 11311

NOTE: This Helm chart already includes sidecar containers for the Prometheus exporters (where applicable). These can be activated by adding the --enable-metrics=true parameter at deployment time. The sidecars parameter should therefore only be used for any extra sidecar containers.

If additional init containers are needed in the same pod, they can be defined using the initContainers parameter. Here is an example:

masterCoordinator:
  initContainers:
    - name: your-image-name
      image: your-image
      imagePullPolicy: Always
      ports:
        - name: portname
          containerPort: 1234

Learn more about sidecar containers and init containers.

Pod affinity

This chart allows you to set your custom affinity using the affinity parameter. Find more information about Pod affinity in the kubernetes documentation.

As an alternative, use one of the preset configurations for pod affinity, pod anti-affinity, and node affinity available at the bitnami/common chart. To do so, set the podAffinityPreset, podAntiAffinityPreset, or nodeAffinityPreset parameters.

Persistence

The Bitnami dremio image stores the dremio data and configurations at the /bitnami path of the container. Persistent Volume Claims are used to keep the data across deployments.

If you encounter errors when working with persistent volumes, refer to our troubleshooting guide for persistent volumes.

Deploying extra resources

There are cases where you may want to deploy extra objects, such a ConfigMap containing your app’s configuration or some extra deployment with a micro service used by your app. For covering this case, the chart allows adding the full specification of other objects using the extraDeploy parameter.

Parameters

Global parameters

Name Description Value
global.imageRegistry Global Docker image registry ""
global.imagePullSecrets Global Docker registry secret names as an array []
global.storageClass Global StorageClass for Persistent Volume(s) ""
global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) auto

Common parameters

Name Description Value
kubeVersion Override Kubernetes version ""
nameOverride String to partially override common.names.name ""
fullnameOverride String to fully override common.names.fullname ""
namespaceOverride String to fully override common.names.namespace ""
commonLabels Labels to add to all deployed objects {}
commonAnnotations Annotations to add to all deployed objects {}
clusterDomain Kubernetes cluster domain name cluster.local
extraDeploy Array of extra objects to deploy with the release []
diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden) false
diagnosticMode.command Command to override all containers in the chart release ["sleep"]
diagnosticMode.args Args to override all containers in the chart release ["infinity"]
usePasswordFile Mount secrets as files true

Dremio common configuration settings

Name Description Value
dremio.image.registry Dremio image registry REGISTRY_NAME
dremio.image.repository Dremio image repository REPOSITORY_NAME/dremio
dremio.image.digest Dremio image digest in the way sha256:aa…. Please note this parameter, if set, will override the tag image tag (immutable tags are recommended) ""
dremio.image.pullPolicy Dremio image pull policy IfNotPresent
dremio.image.pullSecrets Dremio image pull secrets []
dremio.image.debug Enable Dremio image debug mode false
dremio.auth.enabled Automatically bootstrap a Dremio user true
dremio.auth.username Dremio bootstrap username user
dremio.auth.password Dremio bootstrap password ""
dremio.auth.firstName Dremio bootstrap first name User
dremio.auth.lastName Dremio bootstrap last name User
dremio.auth.email Dremio bootstrap email [email protected]
dremio.auth.existingSecret Name of a secret containing the password of the bootstrap user ""
dremio.auth.existingSecretKey Key inside the secret containing the password of the bootstrap user (requires setting existingSecret) ""
dremio.tls.enabled Enable TLS in the web frontend false
dremio.tls.usePemCerts Use certificates in .pem format true
dremio.tls.existingSecret Name of a secret containing the certificate files ""
dremio.tls.certFilename Filename inside the secret of the .crt file (when usePemCerts=true) tls.crt
dremio.tls.certKeyFilename Filename inside the secret of the .key file (when usePemCerts=true) tls.key
dremio.tls.keystoreFilename Filename inside the secret of the .jks file (when usePemCerts=false) dremio.jks
dremio.tls.password Password of the Java keystore ""
dremio.tls.passwordSecret Name of a secret containing the password of the Java keystore ""
dremio.tls.autoGenerated.enabled Enable automatic generation of certificates for TLS true
dremio.tls.autoGenerated.engine Mechanism to generate the certificates (allowed values: helm, cert-manager) helm
dremio.tls.autoGenerated.certManager.existingIssuer The name of an existing Issuer to use for generating the certificates (only for cert-manager engine) ""
dremio.tls.autoGenerated.certManager.existingIssuerKind Existing Issuer kind, defaults to Issuer (only for cert-manager engine) ""
dremio.tls.autoGenerated.certManager.keyAlgorithm Key algorithm for the certificates (only for cert-manager engine) RSA
dremio.tls.autoGenerated.certManager.keySize Key size for the certificates (only for cert-manager engine) 2048
dremio.tls.autoGenerated.certManager.duration Duration for the certificates (only for cert-manager engine) 2160h
dremio.tls.autoGenerated.certManager.renewBefore Renewal period for the certificates (only for cert-manager engine) 360h
dremio.distStorageType Dremio distributed storage type. Allowed values: “minio”, “aws” and “others” (“minio” and “aws” natively supported, the rest of the types requires adding extra configuration parameters in the “dremio.dremioConf” and “dremio.coreSite” sections) minio
dremio.dremioConf.configOverrides Add configuration overrides in dremio.conf applied to all components (using YAML format) {}
dremio.dremioConf.secretConfigOverrides Add sensitive configuration overrides in dremio.conf applied to all components (using YAML format) {}
dremio.dremioConf.extraFiles Add extra configuration files {}
dremio.dremioConf.extraSecretFiles Add extra sensitive configuration files {}
dremio.coreSite.appendConfiguration Add extra configuration in the core-site.xml file (in XML format) ""
dremio.coreSite.existingSecret Name of a secret containing the core-site.xml file ""
dremio.containerPorts.web Dremio Web container port 9047
dremio.containerPorts.client Dremio client container port 31010
dremio.containerPorts.flight Dremio flight container port 32010
dremio.containerPorts.fabric Dremio fabric container port 45678
dremio.containerPorts.conduit Dremio conduit container port 45679
dremio.containerPorts.jmx Dremio JMX container port 50000
dremio.containerPorts.liveness Dremio liveness container port 44349

Dremio Master Coordinator Parameters

Name Description Value
masterCoordinator.replicaCount Number of Dremio Master Coordinator replicas to deploy 1
masterCoordinator.extraContainerPorts Optionally specify extra list of additional ports for Dremio Master Coordinator containers []
masterCoordinator.extraJavaOpts Add extra Java opts ""
masterCoordinator.livenessProbe.enabled Enable livenessProbe on Dremio Master Coordinator containers true
masterCoordinator.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe 20
masterCoordinator.livenessProbe.periodSeconds Period seconds for livenessProbe 10
masterCoordinator.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe 5
masterCoordinator.livenessProbe.failureThreshold Failure threshold for livenessProbe 5
masterCoordinator.livenessProbe.successThreshold Success threshold for livenessProbe 1
masterCoordinator.readinessProbe.enabled Enable readinessProbe on Dremio Master Coordinator containers true
masterCoordinator.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe 10
masterCoordinator.readinessProbe.periodSeconds Period seconds for readinessProbe 10
masterCoordinator.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe 5
masterCoordinator.readinessProbe.failureThreshold Failure threshold for readinessProbe 5
masterCoordinator.readinessProbe.successThreshold Success threshold for readinessProbe 1
masterCoordinator.startupProbe.enabled Enable startupProbe on Dremio Master Coordinator containers false
masterCoordinator.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe 10
masterCoordinator.startupProbe.periodSeconds Period seconds for startupProbe 10
masterCoordinator.startupProbe.timeoutSeconds Timeout seconds for startupProbe 5
masterCoordinator.startupProbe.failureThreshold Failure threshold for startupProbe 5
masterCoordinator.startupProbe.successThreshold Success threshold for startupProbe 1
masterCoordinator.customLivenessProbe Custom livenessProbe that overrides the default one {}
masterCoordinator.customReadinessProbe Custom readinessProbe that overrides the default one {}
masterCoordinator.customStartupProbe Custom startupProbe that overrides the default one {}
masterCoordinator.resourcesPreset Set Dremio Master Coordinator container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if masterCoordinator.resources is set (masterCoordinator.resources is recommended for production). xlarge
masterCoordinator.resources Set Dremio Master Coordinator container requests and limits for different resources like CPU or memory (essential for production workloads) {}
masterCoordinator.podSecurityContext.enabled Enable Dremio Master Coordinator pods’ Security Context true
masterCoordinator.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for Dremio Master Coordinator pods Always
masterCoordinator.podSecurityContext.sysctls Set kernel settings using the sysctl interface for Dremio Master Coordinator pods []
masterCoordinator.podSecurityContext.supplementalGroups Set filesystem extra groups for Dremio Master Coordinator pods []
masterCoordinator.podSecurityContext.fsGroup Set fsGroup in Dremio Master Coordinator pods’ Security Context 1001
masterCoordinator.containerSecurityContext.enabled Enabled Dremio Master Coordinator container’ Security Context true
masterCoordinator.containerSecurityContext.seLinuxOptions Set SELinux options in Dremio Master Coordinator container {}
masterCoordinator.containerSecurityContext.runAsUser Set runAsUser in Dremio Master Coordinator container’ Security Context 1001
masterCoordinator.containerSecurityContext.runAsGroup Set runAsGroup in Dremio Master Coordinator container’ Security Context 1001
masterCoordinator.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Dremio Master Coordinator container’ Security Context true
masterCoordinator.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Dremio Master Coordinator container’ Security Context true
masterCoordinator.containerSecurityContext.privileged Set privileged in Dremio Master Coordinator container’ Security Context false
masterCoordinator.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Dremio Master Coordinator container’ Security Context false
masterCoordinator.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Dremio Master Coordinator container ["ALL"]
masterCoordinator.containerSecurityContext.seccompProfile.type Set seccomp profile in Dremio Master Coordinator container RuntimeDefault
masterCoordinator.command Override default Dremio Master Coordinator container command (useful when using custom images) []
masterCoordinator.args Override default Dremio Master Coordinator container args (useful when using custom images) []
masterCoordinator.automountServiceAccountToken Mount Service Account token in Dremio Master Coordinator pods false
masterCoordinator.hostAliases Dremio Master Coordinator pods host aliases []
masterCoordinator.statefulsetAnnotations Annotations for Dremio Master Coordinator statefulset {}
masterCoordinator.podLabels Extra labels for Dremio Master Coordinator pods {}
masterCoordinator.podAnnotations Annotations for Dremio Master Coordinator pods {}
masterCoordinator.podAffinityPreset Pod affinity preset. Ignored if masterCoordinator.affinity is set. Allowed values: soft or hard ""
masterCoordinator.podAntiAffinityPreset Pod anti-affinity preset. Ignored if masterCoordinator.affinity is set. Allowed values: soft or hard soft
masterCoordinator.dremioConf.configOverrides Add configuration overrides in dremio.conf applied to all master-coordinator nodes (using YAML format) {}
masterCoordinator.dremioConf.secretConfigOverrides Add sensitive configuration overrides in dremio.conf applied to master-coordinator nodes (using YAML format) {}
masterCoordinator.dremioConf.extraFiles Add extra files to the ConfigMap {}
masterCoordinator.dremioConf.extraSecretFiles Add extra files to the Secret {}
masterCoordinator.dremioConf.existingConfigmap Name of a configmap containing a dremio.conf configuration file for the master-coordinator nodes (without sensitive information) ""
masterCoordinator.dremioConf.existingSecret Name of a secret containing a dremio.conf configuration file for the master-coordinator nodes (with sensitive information) ""
masterCoordinator.nodeAffinityPreset.type Node affinity preset type. Ignored if masterCoordinator.affinity is set. Allowed values: soft or hard ""
masterCoordinator.nodeAffinityPreset.key Node label key to match. Ignored if masterCoordinator.affinity is set ""
masterCoordinator.nodeAffinityPreset.values Node label values to match. Ignored if masterCoordinator.affinity is set []
masterCoordinator.affinity Affinity for Dremio Master Coordinator pods assignment {}
masterCoordinator.nodeSelector Node labels for Dremio Master Coordinator pods assignment {}
masterCoordinator.tolerations Tolerations for Dremio Master Coordinator pods assignment []
masterCoordinator.updateStrategy.type Dremio Master Coordinator statefulset strategy type RollingUpdate
masterCoordinator.podManagementPolicy Pod management policy for Dremio Master Coordinator statefulset OrderedReady
masterCoordinator.priorityClassName Dremio Master Coordinator pods’ priorityClassName ""
masterCoordinator.topologySpreadConstraints Topology Spread Constraints for Dremio Master Coordinator pod assignment spread across your cluster among failure-domains []
masterCoordinator.schedulerName Name of the k8s scheduler (other than default) for Dremio Master Coordinator pods ""
masterCoordinator.terminationGracePeriodSeconds Seconds Dremio Master Coordinator pods need to terminate gracefully ""
masterCoordinator.lifecycleHooks for Dremio Master Coordinator containers to automate configuration before or after startup {}
masterCoordinator.extraEnvVars Array with extra environment variables to add to Dremio Master Coordinator containers []
masterCoordinator.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Dremio Master Coordinator containers ""
masterCoordinator.extraEnvVarsSecret Name of existing Secret containing extra env vars for Dremio Master Coordinator containers ""
masterCoordinator.extraVolumes Optionally specify extra list of additional volumes for the Dremio Master Coordinator pods []
masterCoordinator.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Dremio Master Coordinator containers []
masterCoordinator.sidecars Add additional sidecar containers to the Dremio Master Coordinator pods []
masterCoordinator.initContainers Add additional init containers to the Dremio Master Coordinator pods []
masterCoordinator.pdb.create Enable/disable a Pod Disruption Budget creation true
masterCoordinator.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled ""
masterCoordinator.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to 1 if both masterCoordinator.pdb.minAvailable and masterCoordinator.pdb.maxUnavailable are empty. ""
masterCoordinator.autoscaling.vpa.enabled Enable VPA for Dremio Master Coordinator pods false
masterCoordinator.autoscaling.vpa.annotations Annotations for VPA resource {}
masterCoordinator.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory []
masterCoordinator.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod {}
masterCoordinator.autoscaling.vpa.minAllowed VPA Min allowed resources for the pod {}
masterCoordinator.autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy Auto
masterCoordinator.autoscaling.hpa.enabled Enable HPA for Dremio Master Coordinator pods false
masterCoordinator.autoscaling.hpa.minReplicas Minimum number of replicas ""
masterCoordinator.autoscaling.hpa.maxReplicas Maximum number of replicas ""
masterCoordinator.autoscaling.hpa.targetCPU Target CPU utilization percentage ""
masterCoordinator.autoscaling.hpa.targetMemory Target Memory utilization percentage ""
masterCoordinator.networkPolicy.enabled Specifies whether a NetworkPolicy should be created true
masterCoordinator.networkPolicy.allowExternal Don’t require server label for connections true
masterCoordinator.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations. true
masterCoordinator.networkPolicy.addExternalClientAccess Allow access from pods with client label set to “true”. Ignored if networkPolicy.allowExternal is true. true
masterCoordinator.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy []
masterCoordinator.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true) []
masterCoordinator.networkPolicy.ingressPodMatchLabels Labels to match to allow traffic from other pods. Ignored if networkPolicy.allowExternal is true. {}
masterCoordinator.networkPolicy.ingressNSMatchLabels Labels to match to allow traffic from other namespaces. Ignored if networkPolicy.allowExternal is true. {}
masterCoordinator.networkPolicy.ingressNSPodMatchLabels Pod labels to match to allow traffic from other namespaces. Ignored if networkPolicy.allowExternal is true. {}
masterCoordinator.persistence.enabled Enable persistence using Persistent Volume Claims true
masterCoordinator.persistence.mountPath Path to mount the volume at. /bitnami/dremio/data
masterCoordinator.persistence.subPath The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services ""
masterCoordinator.persistence.storageClass Storage class of backing PVC ""
masterCoordinator.persistence.annotations Persistent Volume Claim annotations {}
masterCoordinator.persistence.accessModes Persistent Volume Access Modes ["ReadWriteOnce"]
masterCoordinator.persistence.size Size of data volume 8Gi
masterCoordinator.persistence.existingClaim The name of an existing PVC to use for persistence ""
masterCoordinator.persistence.selector Selector to match an existing Persistent Volume for WordPress data PVC {}
masterCoordinator.persistence.dataSource Custom PVC data source {}
masterCoordinator.serviceAccount.create Specifies whether a ServiceAccount should be created true
masterCoordinator.serviceAccount.name The name of the ServiceAccount to use. ""
masterCoordinator.serviceAccount.annotations Additional Service Account annotations (evaluated as a template) {}
masterCoordinator.serviceAccount.automountServiceAccountToken Automount service account token for the server service account false

Dremio Coordinator Parameters

Name Description Value
coordinator.replicaCount Number of Dremio Coordinator replicas to deploy 1
coordinator.extraContainerPorts Optionally specify extra list of additional ports for Dremio Coordinator containers []
coordinator.extraJavaOpts Add extra Java opts ""
coordinator.livenessProbe.enabled Enable livenessProbe on Dremio Coordinator containers true
coordinator.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe 20
coordinator.livenessProbe.periodSeconds Period seconds for livenessProbe 10
coordinator.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe 5
coordinator.livenessProbe.failureThreshold Failure threshold for livenessProbe 5
coordinator.livenessProbe.successThreshold Success threshold for livenessProbe 1
coordinator.readinessProbe.enabled Enable readinessProbe on Dremio Coordinator containers true
coordinator.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe 10
coordinator.readinessProbe.periodSeconds Period seconds for readinessProbe 10
coordinator.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe 5
coordinator.readinessProbe.failureThreshold Failure threshold for readinessProbe 5
coordinator.readinessProbe.successThreshold Success threshold for readinessProbe 1
coordinator.startupProbe.enabled Enable startupProbe on Dremio Coordinator containers false
coordinator.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe 10
coordinator.startupProbe.periodSeconds Period seconds for startupProbe 10
coordinator.startupProbe.timeoutSeconds Timeout seconds for startupProbe 5
coordinator.startupProbe.failureThreshold Failure threshold for startupProbe 5
coordinator.startupProbe.successThreshold Success threshold for startupProbe 1
coordinator.customLivenessProbe Custom livenessProbe that overrides the default one {}
coordinator.customReadinessProbe Custom readinessProbe that overrides the default one {}
coordinator.customStartupProbe Custom startupProbe that overrides the default one {}
coordinator.resourcesPreset Set Dremio Coordinator container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if coordinator.resources is set (coordinator.resources is recommended for production). xlarge
coordinator.resources Set Dremio Coordinator container requests and limits for different resources like CPU or memory (essential for production workloads) {}
coordinator.podSecurityContext.enabled Enable Dremio Coordinator pods’ Security Context true
coordinator.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for Dremio Coordinator pods Always
coordinator.podSecurityContext.sysctls Set kernel settings using the sysctl interface for Dremio Coordinator pods []
coordinator.podSecurityContext.supplementalGroups Set filesystem extra groups for Dremio Coordinator pods []
coordinator.podSecurityContext.fsGroup Set fsGroup in Dremio Coordinator pods’ Security Context 1001
coordinator.containerSecurityContext.enabled Enabled Dremio Coordinator container’ Security Context true
coordinator.containerSecurityContext.seLinuxOptions Set SELinux options in Dremio Coordinator container {}
coordinator.containerSecurityContext.runAsUser Set runAsUser in Dremio Coordinator container’ Security Context 1001
coordinator.containerSecurityContext.runAsGroup Set runAsGroup in Dremio Coordinator container’ Security Context 1001
coordinator.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Dremio Coordinator container’ Security Context true
coordinator.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Dremio Coordinator container’ Security Context true
coordinator.containerSecurityContext.privileged Set privileged in Dremio Coordinator container’ Security Context false
coordinator.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Dremio Coordinator container’ Security Context false
coordinator.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Dremio Coordinator container ["ALL"]
coordinator.containerSecurityContext.seccompProfile.type Set seccomp profile in Dremio Coordinator container RuntimeDefault
coordinator.command Override default Dremio Coordinator container command (useful when using custom images) []
coordinator.args Override default Dremio Coordinator container args (useful when using custom images) []
coordinator.automountServiceAccountToken Mount Service Account token in Dremio Coordinator pods false
coordinator.hostAliases Dremio Coordinator pods host aliases []
coordinator.statefulsetAnnotations Annotations for Dremio Coordinator statefulset {}
coordinator.podLabels Extra labels for Dremio Coordinator pods {}
coordinator.podAnnotations Annotations for Dremio Coordinator pods {}
coordinator.podAffinityPreset Pod affinity preset. Ignored if coordinator.affinity is set. Allowed values: soft or hard ""
coordinator.podAntiAffinityPreset Pod anti-affinity preset. Ignored if coordinator.affinity is set. Allowed values: soft or hard soft
coordinator.dremioConf.configOverrides Add configuration overrides in dremio.conf applied to all coordinator nodes (using YAML format) {}
coordinator.dremioConf.secretConfigOverrides Add sensitive configuration overrides in dremio.conf applied to coordinator nodes (using YAML format) {}
coordinator.dremioConf.extraFiles Add extra files to the ConfigMap {}
coordinator.dremioConf.extraSecretFiles Add extra files to the Secret {}
coordinator.dremioConf.existingConfigmap Name of a configmap containing a dremio.conf configuration file for the coordinator nodes (without sensitive information) ""
coordinator.dremioConf.existingSecret Name of a secret containing a dremio.conf configuration file for the coordinator nodes (with sensitive information) ""
coordinator.nodeAffinityPreset.type Node affinity preset type. Ignored if coordinator.affinity is set. Allowed values: soft or hard ""
coordinator.nodeAffinityPreset.key Node label key to match. Ignored if coordinator.affinity is set ""
coordinator.nodeAffinityPreset.values Node label values to match. Ignored if coordinator.affinity is set []
coordinator.affinity Affinity for Dremio Coordinator pods assignment {}
coordinator.nodeSelector Node labels for Dremio Coordinator pods assignment {}
coordinator.tolerations Tolerations for Dremio Coordinator pods assignment []
coordinator.updateStrategy.type Dremio Coordinator statefulset strategy type RollingUpdate
coordinator.podManagementPolicy Pod management policy for Dremio Coordinator statefulset OrderedReady
coordinator.priorityClassName Dremio Coordinator pods’ priorityClassName ""
coordinator.topologySpreadConstraints Topology Spread Constraints for Dremio Coordinator pod assignment spread across your cluster among failure-domains []
coordinator.schedulerName Name of the k8s scheduler (other than default) for Dremio Coordinator pods ""
coordinator.terminationGracePeriodSeconds Seconds Dremio Coordinator pods need to terminate gracefully ""
coordinator.lifecycleHooks for Dremio Coordinator containers to automate configuration before or after startup {}
coordinator.extraEnvVars Array with extra environment variables to add to Dremio Coordinator containers []
coordinator.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Dremio Coordinator containers ""
coordinator.extraEnvVarsSecret Name of existing Secret containing extra env vars for Dremio Coordinator containers ""
coordinator.extraVolumes Optionally specify extra list of additional volumes for the Dremio Coordinator pods []
coordinator.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Dremio Coordinator containers []
coordinator.sidecars Add additional sidecar containers to the Dremio Coordinator pods []
coordinator.initContainers Add additional init containers to the Dremio Coordinator pods []
coordinator.pdb.create Enable/disable a Pod Disruption Budget creation true
coordinator.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled ""
coordinator.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to 1 if both coordinator.pdb.minAvailable and coordinator.pdb.maxUnavailable are empty. ""
coordinator.autoscaling.vpa.enabled Enable VPA for Dremio Coordinator pods false
coordinator.autoscaling.vpa.annotations Annotations for VPA resource {}
coordinator.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory []
coordinator.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod {}
coordinator.autoscaling.vpa.minAllowed VPA Min allowed resources for the pod {}
coordinator.autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy Auto
coordinator.autoscaling.hpa.enabled Enable HPA for Dremio Coordinator pods false
coordinator.autoscaling.hpa.minReplicas Minimum number of replicas ""
coordinator.autoscaling.hpa.maxReplicas Maximum number of replicas ""
coordinator.autoscaling.hpa.targetCPU Target CPU utilization percentage ""
coordinator.autoscaling.hpa.targetMemory Target Memory utilization percentage ""
coordinator.networkPolicy.enabled Specifies whether a NetworkPolicy should be created true
coordinator.networkPolicy.allowExternal Don’t require server label for connections true
coordinator.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations. true
coordinator.networkPolicy.addExternalClientAccess Allow access from pods with client label set to “true”. Ignored if networkPolicy.allowExternal is true. true
coordinator.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy []
coordinator.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true) []
coordinator.networkPolicy.ingressPodMatchLabels Labels to match to allow traffic from other pods. Ignored if networkPolicy.allowExternal is true. {}
coordinator.networkPolicy.ingressNSMatchLabels Labels to match to allow traffic from other namespaces. Ignored if networkPolicy.allowExternal is true. {}
coordinator.networkPolicy.ingressNSPodMatchLabels Pod labels to match to allow traffic from other namespaces. Ignored if networkPolicy.allowExternal is true. {}
coordinator.persistence.enabled Enable persistence using Persistent Volume Claims true
coordinator.persistence.mountPath Path to mount the volume at. /bitnami/dremio/data
coordinator.persistence.subPath The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services ""
coordinator.persistence.storageClass Storage class of backing PVC ""
coordinator.persistence.annotations Persistent Volume Claim annotations {}
coordinator.persistence.accessModes Persistent Volume Access Modes ["ReadWriteOnce"]
coordinator.persistence.size Size of data volume 8Gi
coordinator.persistence.existingClaim The name of an existing PVC to use for persistence ""
coordinator.persistence.selector Selector to match an existing Persistent Volume for WordPress data PVC {}
coordinator.persistence.dataSource Custom PVC data source {}
coordinator.serviceAccount.create Specifies whether a ServiceAccount should be created true
coordinator.serviceAccount.name The name of the ServiceAccount to use. ""
coordinator.serviceAccount.annotations Additional Service Account annotations (evaluated as a template) {}
coordinator.serviceAccount.automountServiceAccountToken Automount service account token for the server service account false

Dremio Executor common Parameters

Name Description Value
executor.common.replicaCount Number of Dremio Executor replicas to deploy 1
executor.common.extraContainerPorts Optionally specify extra list of additional ports for Dremio Executor containers []
executor.common.extraJavaOpts Add extra Java opts ""
executor.common.livenessProbe.enabled Enable livenessProbe on Dremio Executor containers true
executor.common.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe 20
executor.common.livenessProbe.periodSeconds Period seconds for livenessProbe 10
executor.common.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe 5
executor.common.livenessProbe.failureThreshold Failure threshold for livenessProbe 5
executor.common.livenessProbe.successThreshold Success threshold for livenessProbe 1
executor.common.readinessProbe.enabled Enable readinessProbe on Dremio Executor containers true
executor.common.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe 10
executor.common.readinessProbe.periodSeconds Period seconds for readinessProbe 10
executor.common.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe 5
executor.common.readinessProbe.failureThreshold Failure threshold for readinessProbe 5
executor.common.readinessProbe.successThreshold Success threshold for readinessProbe 1
executor.common.startupProbe.enabled Enable startupProbe on Dremio Executor containers false
executor.common.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe 10
executor.common.startupProbe.periodSeconds Period seconds for startupProbe 10
executor.common.startupProbe.timeoutSeconds Timeout seconds for startupProbe 5
executor.common.startupProbe.failureThreshold Failure threshold for startupProbe 5
executor.common.startupProbe.successThreshold Success threshold for startupProbe 1
executor.common.customLivenessProbe Custom livenessProbe that overrides the default one {}
executor.common.customReadinessProbe Custom readinessProbe that overrides the default one {}
executor.common.customStartupProbe Custom startupProbe that overrides the default one {}
executor.common.resourcesPreset Set Dremio Executor container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if coordinator.resources is set (coordinator.resources is recommended for production). xlarge
executor.common.resources Set Dremio Executor container requests and limits for different resources like CPU or memory (essential for production workloads) {}
executor.common.podSecurityContext.enabled Enable Dremio Executor pods’ Security Context true
executor.common.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for Dremio Executor pods Always
executor.common.podSecurityContext.sysctls Set kernel settings using the sysctl interface for Dremio Executor pods []
executor.common.podSecurityContext.supplementalGroups Set filesystem extra groups for Dremio Executor pods []
executor.common.podSecurityContext.fsGroup Set fsGroup in Dremio Executor pods’ Security Context 1001
executor.common.containerSecurityContext.enabled Enabled Dremio Executor container’ Security Context true
executor.common.containerSecurityContext.seLinuxOptions Set SELinux options in Dremio Executor container {}
executor.common.containerSecurityContext.runAsUser Set runAsUser in Dremio Executor container’ Security Context 1001
executor.common.containerSecurityContext.runAsGroup Set runAsGroup in Dremio Executor container’ Security Context 1001
executor.common.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Dremio Executor container’ Security Context true
executor.common.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Dremio Executor container’ Security Context true
executor.common.containerSecurityContext.privileged Set privileged in Dremio Executor container’ Security Context false
executor.common.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Dremio Executor container’ Security Context false
executor.common.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Dremio Executor container ["ALL"]
executor.common.containerSecurityContext.seccompProfile.type Set seccomp profile in Dremio Executor container RuntimeDefault
executor.common.command Override default Dremio Executor container command (useful when using custom images) []
executor.common.args Override default Dremio Executor container args (useful when using custom images) []
executor.common.automountServiceAccountToken Mount Service Account token in Dremio Executor pods false
executor.common.hostAliases Dremio Executor pods host aliases []
executor.common.statefulsetAnnotations Annotations for Dremio Executor statefulset {}
executor.common.podLabels Extra labels for Dremio Executor pods {}
executor.common.podAnnotations Annotations for Dremio Executor pods {}
executor.common.podAffinityPreset Pod affinity preset. Ignored if coordinator.affinity is set. Allowed values: soft or hard ""
executor.common.podAntiAffinityPreset Pod anti-affinity preset. Ignored if coordinator.affinity is set. Allowed values: soft or hard soft
executor.common.dremioConf.configOverrides Add configuration overrides in dremio.conf applied to all executor nodes (using YAML format) {}
executor.common.dremioConf.secretConfigOverrides Add sensitive configuration overrides in dremio.conf applied to executor nodes (using YAML format) {}
executor.common.dremioConf.extraFiles Add extra files to the ConfigMap {}
executor.common.dremioConf.extraSecretFiles Add extra files to the Secret {}
executor.common.dremioConf.existingConfigmap Name of a configmap containing a dremio.conf configuration file for the executor nodes (without sensitive information) ""
executor.common.dremioConf.existingSecret Name of a secret containing a dremio.conf configuration file for the executor nodes (with sensitive information) ""
executor.common.nodeAffinityPreset.type Node affinity preset type. Ignored if coordinator.affinity is set. Allowed values: soft or hard ""
executor.common.nodeAffinityPreset.key Node label key to match. Ignored if coordinator.affinity is set ""
executor.common.nodeAffinityPreset.values Node label values to match. Ignored if coordinator.affinity is set []
executor.common.affinity Affinity for Dremio Executor pods assignment {}
executor.common.nodeSelector Node labels for Dremio Executor pods assignment {}
executor.common.tolerations Tolerations for Dremio Executor pods assignment []
executor.common.updateStrategy.type Dremio Executor statefulset strategy type RollingUpdate
executor.common.podManagementPolicy Pod management policy for Dremio Executor statefulset OrderedReady
executor.common.priorityClassName Dremio Executor pods’ priorityClassName ""
executor.common.topologySpreadConstraints Topology Spread Constraints for Dremio Executor pod assignment spread across your cluster among failure-domains []
executor.common.schedulerName Name of the k8s scheduler (other than default) for Dremio Executor pods ""
executor.common.terminationGracePeriodSeconds Seconds Dremio Executor pods need to terminate gracefully ""
executor.common.lifecycleHooks for Dremio Executor containers to automate configuration before or after startup {}
executor.common.extraEnvVars Array with extra environment variables to add to Dremio Executor containers []
executor.common.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Dremio Executor containers ""
executor.common.extraEnvVarsSecret Name of existing Secret containing extra env vars for Dremio Executor containers ""
executor.common.extraVolumes Optionally specify extra list of additional volumes for the Dremio Executor pods []
executor.common.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Dremio Executor containers []
executor.common.sidecars Add additional sidecar containers to the Dremio Executor pods []
executor.common.initContainers Add additional init containers to the Dremio Executor pods []
executor.common.pdb.create Enable/disable a Pod Disruption Budget creation true
executor.common.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled ""
executor.common.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to 1 if both coordinator.pdb.minAvailable and coordinator.pdb.maxUnavailable are empty. ""
executor.common.autoscaling.vpa.enabled Enable VPA for Dremio Executor pods false
executor.common.autoscaling.vpa.annotations Annotations for VPA resource {}
executor.common.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory []
executor.common.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod {}
executor.common.autoscaling.vpa.minAllowed VPA Min allowed resources for the pod {}
executor.common.autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy Auto
executor.common.autoscaling.hpa.enabled Enable HPA for Dremio Executor pods false
executor.common.autoscaling.hpa.minReplicas Minimum number of replicas ""
executor.common.autoscaling.hpa.maxReplicas Maximum number of replicas ""
executor.common.autoscaling.hpa.targetCPU Target CPU utilization percentage ""
executor.common.autoscaling.hpa.targetMemory Target Memory utilization percentage ""
executor.common.networkPolicy.enabled Specifies whether a NetworkPolicy should be created true
executor.common.networkPolicy.allowExternal Don’t require server label for connections true
executor.common.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations. true
executor.common.networkPolicy.addExternalClientAccess Allow access from pods with client label set to “true”. Ignored if networkPolicy.allowExternal is true. true
executor.common.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy []
executor.common.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true) []
executor.common.networkPolicy.ingressPodMatchLabels Labels to match to allow traffic from other pods. Ignored if networkPolicy.allowExternal is true. {}
executor.common.networkPolicy.ingressNSMatchLabels Labels to match to allow traffic from other namespaces. Ignored if networkPolicy.allowExternal is true. {}
executor.common.networkPolicy.ingressNSPodMatchLabels Pod labels to match to allow traffic from other namespaces. Ignored if networkPolicy.allowExternal is true. {}

Persistence Parameters

Name Description Value
executor.common.persistence.enabled Enable persistence using Persistent Volume Claims true
executor.common.persistence.mountPath Path to mount the volume at. /bitnami/dremio/data
executor.common.persistence.subPath The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services ""
executor.common.persistence.storageClass Storage class of backing PVC ""
executor.common.persistence.annotations Persistent Volume Claim annotations {}
executor.common.persistence.accessModes Persistent Volume Access Modes ["ReadWriteOnce"]
executor.common.persistence.size Size of data volume 8Gi
executor.common.persistence.existingClaim The name of an existing PVC to use for persistence ""
executor.common.persistence.selector Selector to match an existing Persistent Volume for WordPress data PVC {}
executor.common.persistence.dataSource Custom PVC data source {}
executor.common.serviceAccount.create Specifies whether a ServiceAccount should be created true
executor.common.serviceAccount.name The name of the ServiceAccount to use. ""
executor.common.serviceAccount.annotations Additional Service Account annotations (evaluated as a template) {}
executor.common.serviceAccount.automountServiceAccountToken Automount service account token for the server service account false

Dremio Executor Engine Parameters

Name Description Value
executor.engines[0].name Name of the engine default
executor.engines[0].overrides Override configuration set in the “executor.common” section {}

Traffic Exposure Parameters

Name Description Value
service.type Dremio service type LoadBalancer
service.ports.web Dremio service web port 9047
service.ports.client Dremio service client port 31010
service.ports.flight Dremio service flight port 32010
service.nodePorts.web Node port for web ""
service.nodePorts.client Node port for client ""
service.nodePorts.flight Node port for flight ""
service.clusterIP Dremio service Cluster IP ""
service.loadBalancerIP Dremio service Load Balancer IP ""
service.loadBalancerSourceRanges Dremio service Load Balancer sources []
service.externalTrafficPolicy Dremio service external traffic policy Cluster
service.annotations Additional custom annotations for Dremio service {}
service.extraPorts Extra ports to expose in Dremio service (normally used with the sidecars value) []
service.sessionAffinity Control where client requests go, to the same pod or round-robin None
service.sessionAffinityConfig Additional settings for the sessionAffinity {}
service.headless.annotations Add annotations to the headless service {}
ingress.enabled Enable ingress record generation for Dremio false
ingress.pathType Ingress path type ImplementationSpecific
ingress.apiVersion Force Ingress API version (automatically detected if not set) ""
ingress.hostname Default host for the ingress record dremio.local
ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) ""
ingress.path Default path for the ingress record /
ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. {}
ingress.tls Enable TLS configuration for the host defined at ingress.hostname parameter false
ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm false
ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record []
ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host []
ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record []
ingress.secrets Custom TLS certificates as secrets []
ingress.extraRules Additional rules to be covered with this ingress record []

Dremio bootstrap user job

Name Description Value
bootstrapUserJob.enabled Enable the bootstrap user job true
bootstrapUserJob.forceRun Force the run of the credential job false
bootstrapUserJob.labels Add labels to the init job definition {}
bootstrapUserJob.backoffLimit set backoff limit of the job 10
bootstrapUserJob.extraVolumes Optionally specify extra list of additional volumes for the credential init job []
bootstrapUserJob.extraCommands Extra commands to pass to the generation job ""
bootstrapUserJob.containerSecurityContext.enabled Enabled containers’ Security Context true
bootstrapUserJob.containerSecurityContext.seLinuxOptions Set SELinux options in container {}
bootstrapUserJob.containerSecurityContext.runAsUser Set containers’ Security Context runAsUser 1001
bootstrapUserJob.containerSecurityContext.runAsGroup Set containers’ Security Context runAsGroup 1001
bootstrapUserJob.containerSecurityContext.runAsNonRoot Set container’s Security Context runAsNonRoot true
bootstrapUserJob.containerSecurityContext.privileged Set container’s Security Context privileged false
bootstrapUserJob.containerSecurityContext.readOnlyRootFilesystem Set container’s Security Context readOnlyRootFilesystem true
bootstrapUserJob.containerSecurityContext.allowPrivilegeEscalation Set container’s Security Context allowPrivilegeEscalation false
bootstrapUserJob.containerSecurityContext.capabilities.drop List of capabilities to be dropped ["ALL"]
bootstrapUserJob.containerSecurityContext.seccompProfile.type Set container’s Security Context seccomp profile RuntimeDefault
bootstrapUserJob.podSecurityContext.enabled Enabled credential init job pods’ Security Context true
bootstrapUserJob.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy Always
bootstrapUserJob.podSecurityContext.sysctls Set kernel settings using the sysctl interface []
bootstrapUserJob.podSecurityContext.supplementalGroups Set filesystem extra groups []
bootstrapUserJob.podSecurityContext.fsGroup Set credential init job pod’s Security Context fsGroup 1001
bootstrapUserJob.extraEnvVars Array containing extra env vars to configure the credential init job []
bootstrapUserJob.extraEnvVarsCM ConfigMap containing extra env vars to configure the credential init job ""
bootstrapUserJob.extraEnvVarsSecret Secret containing extra env vars to configure the credential init job (in case of sensitive data) ""
bootstrapUserJob.extraVolumeMounts Array of extra volume mounts to be added to the jwt Container (evaluated as template). Normally used with extraVolumes. []
bootstrapUserJob.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if bootstrapUserJob.resources is set (bootstrapUserJob.resources is recommended for production). micro
bootstrapUserJob.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) {}
bootstrapUserJob.livenessProbe.enabled Enable livenessProbe on init job true
bootstrapUserJob.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe 5
bootstrapUserJob.livenessProbe.periodSeconds Period seconds for livenessProbe 10
bootstrapUserJob.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe 5
bootstrapUserJob.livenessProbe.failureThreshold Failure threshold for livenessProbe 5
bootstrapUserJob.livenessProbe.successThreshold Success threshold for livenessProbe 1
bootstrapUserJob.readinessProbe.enabled Enable readinessProbe on init job true
bootstrapUserJob.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe 5
bootstrapUserJob.readinessProbe.periodSeconds Period seconds for readinessProbe 10
bootstrapUserJob.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe 5
bootstrapUserJob.readinessProbe.failureThreshold Failure threshold for readinessProbe 5
bootstrapUserJob.readinessProbe.successThreshold Success threshold for readinessProbe 1
bootstrapUserJob.startupProbe.enabled Enable startupProbe on Data Coordinator containers false
bootstrapUserJob.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe 5
bootstrapUserJob.startupProbe.periodSeconds Period seconds for startupProbe 10
bootstrapUserJob.startupProbe.timeoutSeconds Timeout seconds for startupProbe 5
bootstrapUserJob.startupProbe.failureThreshold Failure threshold for startupProbe 5
bootstrapUserJob.startupProbe.successThreshold Success threshold for startupProbe 1
bootstrapUserJob.customLivenessProbe Custom livenessProbe that overrides the default one {}
bootstrapUserJob.customReadinessProbe Custom readinessProbe that overrides the default one {}
bootstrapUserJob.customStartupProbe Custom startupProbe that overrides the default one {}
bootstrapUserJob.automountServiceAccountToken Mount Service Account token in pod false
bootstrapUserJob.hostAliases Add deployment host aliases []
bootstrapUserJob.annotations Add annotations to the job {}
bootstrapUserJob.podLabels Additional pod labels {}
bootstrapUserJob.podAnnotations Additional pod annotations {}
bootstrapUserJob.networkPolicy.enabled Enable creation of NetworkPolicy resources true
bootstrapUserJob.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations. true
bootstrapUserJob.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy []
bootstrapUserJob.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy []
bootstrapUserJob.networkPolicy.ingressNSMatchLabels Labels to match to allow traffic from other namespaces {}
bootstrapUserJob.networkPolicy.ingressNSPodMatchLabels Pod labels to match to allow traffic from other namespaces {}

Default Init Container Parameters

Name Description Value
defaultInitContainers.defaultImage.registry OS Shell + Utility image registry REGISTRY_NAME
defaultInitContainers.defaultImage.repository OS Shell + Utility image repository REPOSITORY_NAME/os-shell
defaultInitContainers.defaultImage.pullPolicy OS Shell + Utility image pull policy IfNotPresent
defaultInitContainers.defaultImage.pullSecrets OS Shell + Utility image pull secrets []
defaultInitContainers.wait.enabled Enable init container that waits for backends to be ready true
defaultInitContainers.wait.resourcesPreset Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). nano
defaultInitContainers.wait.resources Set init container requests and limits for different resources like CPU or memory (essential for production workloads) {}
defaultInitContainers.wait.containerSecurityContext.enabled Enabled Init container’ Security Context true
defaultInitContainers.wait.containerSecurityContext.seLinuxOptions Set SELinux options in Init container {}
defaultInitContainers.wait.containerSecurityContext.runAsUser Set runAsUser in Init container’ Security Context 1001
defaultInitContainers.wait.containerSecurityContext.runAsGroup Set runAsGroup in Init container’ Security Context 1001
defaultInitContainers.wait.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Init container’ Security Context true
defaultInitContainers.wait.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Init container’ Security Context true
defaultInitContainers.wait.containerSecurityContext.privileged Set privileged in Init container’ Security Context false
defaultInitContainers.wait.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Init container’ Security Context false
defaultInitContainers.wait.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Init container ["ALL"]
defaultInitContainers.wait.containerSecurityContext.seccompProfile.type Set seccomp profile in Init container RuntimeDefault
defaultInitContainers.generateConf.enabled Enable init container that merges and renders the dremio.conf and core-site.xml configuration files true
defaultInitContainers.generateConf.resourcesPreset Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). nano
defaultInitContainers.generateConf.resources Set init container requests and limits for different resources like CPU or memory (essential for production workloads) {}
defaultInitContainers.generateConf.containerSecurityContext.enabled Enabled Init container’ Security Context true
defaultInitContainers.generateConf.containerSecurityContext.seLinuxOptions Set SELinux options in Init container {}
defaultInitContainers.generateConf.containerSecurityContext.runAsUser Set runAsUser in Init container’ Security Context 1001
defaultInitContainers.generateConf.containerSecurityContext.runAsGroup Set runAsGroup in Init container’ Security Context 1001
defaultInitContainers.generateConf.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Init container’ Security Context true
defaultInitContainers.generateConf.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Init container’ Security Context true
defaultInitContainers.generateConf.containerSecurityContext.privileged Set privileged in Init container’ Security Context false
defaultInitContainers.generateConf.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Init container’ Security Context false
defaultInitContainers.generateConf.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Init container ["ALL"]
defaultInitContainers.generateConf.containerSecurityContext.seccompProfile.type Set seccomp profile in Init container RuntimeDefault
defaultInitContainers.generateConf.extraEnvVars Array with extra environment variables to add to Dremio containers []
defaultInitContainers.generateConf.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Dremio containers ""
defaultInitContainers.generateConf.extraEnvVarsSecret Name of existing Secret containing extra env vars for Dremio containers ""
defaultInitContainers.generateConf.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Dremio containers []
defaultInitContainers.initCerts.enabled Enable init container that initializes the Java keystore with the TLS certificates (requires dremio.tls.enabled=true) true
defaultInitContainers.initCerts.resourcesPreset Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). nano
defaultInitContainers.initCerts.resources Set init container requests and limits for different resources like CPU or memory (essential for production workloads) {}
defaultInitContainers.initCerts.containerSecurityContext.enabled Enabled Init container’ Security Context true
defaultInitContainers.initCerts.containerSecurityContext.seLinuxOptions Set SELinux options in Init container {}
defaultInitContainers.initCerts.containerSecurityContext.runAsUser Set runAsUser in Init container’ Security Context 1001
defaultInitContainers.initCerts.containerSecurityContext.runAsGroup Set runAsGroup in Init container’ Security Context 1001
defaultInitContainers.initCerts.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Init container’ Security Context true
defaultInitContainers.initCerts.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Init container’ Security Context true
defaultInitContainers.initCerts.containerSecurityContext.privileged Set privileged in Init container’ Security Context false
defaultInitContainers.initCerts.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Init container’ Security Context false
defaultInitContainers.initCerts.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Init container ["ALL"]
defaultInitContainers.initCerts.containerSecurityContext.seccompProfile.type Set seccomp profile in Init container RuntimeDefault
defaultInitContainers.copyDefaultConf.enabled Enable init container that copies the default dremio configuration to an empty-dir volume true
defaultInitContainers.copyDefaultConf.resourcesPreset Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). nano
defaultInitContainers.copyDefaultConf.resources Set init container requests and limits for different resources like CPU or memory (essential for production workloads) {}
defaultInitContainers.copyDefaultConf.containerSecurityContext.enabled Enabled Init container’ Security Context true
defaultInitContainers.copyDefaultConf.containerSecurityContext.seLinuxOptions Set SELinux options in Init container {}
defaultInitContainers.copyDefaultConf.containerSecurityContext.runAsUser Set runAsUser in Init container’ Security Context 1001
defaultInitContainers.copyDefaultConf.containerSecurityContext.runAsGroup Set runAsGroup in Init container’ Security Context 1001
defaultInitContainers.copyDefaultConf.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Init container’ Security Context true
defaultInitContainers.copyDefaultConf.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Init container’ Security Context true
defaultInitContainers.copyDefaultConf.containerSecurityContext.privileged Set privileged in Init container’ Security Context false
defaultInitContainers.copyDefaultConf.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Init container’ Security Context false
defaultInitContainers.copyDefaultConf.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Init container ["ALL"]
defaultInitContainers.copyDefaultConf.containerSecurityContext.seccompProfile.type Set seccomp profile in Init container RuntimeDefault
defaultInitContainers.upgradeKeystore.enabled Enable init container that upgrades the metadata KV store true
defaultInitContainers.upgradeKeystore.resourcesPreset Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). large
defaultInitContainers.upgradeKeystore.resources Set init container requests and limits for different resources like CPU or memory (essential for production workloads) {}
defaultInitContainers.upgradeKeystore.containerSecurityContext.enabled Enabled Init container’ Security Context true
defaultInitContainers.upgradeKeystore.containerSecurityContext.seLinuxOptions Set SELinux options in Init container {}
defaultInitContainers.upgradeKeystore.containerSecurityContext.runAsUser Set runAsUser in Init container’ Security Context 1001
defaultInitContainers.upgradeKeystore.containerSecurityContext.runAsGroup Set runAsGroup in Init container’ Security Context 1001
defaultInitContainers.upgradeKeystore.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Init container’ Security Context true
defaultInitContainers.upgradeKeystore.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Init container’ Security Context true
defaultInitContainers.upgradeKeystore.containerSecurityContext.privileged Set privileged in Init container’ Security Context false
defaultInitContainers.upgradeKeystore.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Init container’ Security Context false
defaultInitContainers.upgradeKeystore.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Init container ["ALL"]
defaultInitContainers.upgradeKeystore.containerSecurityContext.seccompProfile.type Set seccomp profile in Init container RuntimeDefault
defaultInitContainers.volumePermissions.enabled Enable init container that changes the owner/group of the PV mount point to runAsUser:fsGroup false
defaultInitContainers.volumePermissions.resourcesPreset Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). nano
defaultInitContainers.volumePermissions.resources Set init container requests and limits for different resources like CPU or memory (essential for production workloads) {}
defaultInitContainers.volumePermissions.containerSecurityContext.enabled Enabled init container’ Security Context true
defaultInitContainers.volumePermissions.containerSecurityContext.seLinuxOptions Set SELinux options in init container {}
defaultInitContainers.volumePermissions.containerSecurityContext.runAsUser Set init container’s Security Context runAsUser 0

MinIO® chart parameters

Name Description Value
minio For full list of MinIO® values configurations please refere here
minio.enabled Enable/disable MinIO® chart installation true
minio.containerPorts.api MinIO® container port to open for MinIO® API 9000
minio.auth.rootUser MinIO® root username admin
minio.auth.rootPassword Password for MinIO® root user ""
minio.auth.existingSecret Name of an existing secret containing the MinIO® credentials ""
minio.defaultBuckets Comma, semi-colon or space separated list of MinIO® buckets to create dremio
minio.provisioning.enabled Enable/disable MinIO® provisioning job true
minio.provisioning.extraCommands Extra commands to run on MinIO® provisioning job ["mc anonymous set download provisioning/dremio"]
minio.tls.enabled Enable/disable MinIO® TLS support true
minio.tls.autoGenerated Autogenerate TLS certificates true
minio.service.type MinIO® service type ClusterIP
minio.service.loadBalancerIP MinIO® service LoadBalancer IP ""
minio.service.ports.api MinIO® service port 9000

Prometheus metrics

Name Description Value
metrics.enabled Enable the export of Prometheus metrics false
metrics.image.registry JMX exporter image registry REGISTRY_NAME
metrics.image.repository JMX exporter image repository REPOSITORY_NAME/jmx-exporter
metrics.image.digest JMX exporter image digest in the way sha256:aa…. Please note this parameter, if set, will override the tag ""
metrics.image.pullPolicy JMX exporter image pull policy IfNotPresent
metrics.image.pullSecrets Specify docker-registry secret names as an array []
metrics.extraArgs Add extra arguments to the default container args section []
metrics.containerSecurityContext.enabled Enable Prometheus JMX exporter containers’ Security Context true
metrics.containerSecurityContext.seLinuxOptions Set SELinux options in container {}
metrics.containerSecurityContext.runAsUser Set Prometheus JMX exporter containers’ Security Context runAsUser 1001
metrics.containerSecurityContext.runAsGroup Group ID for the Prometheus JMX exporter container 1001
metrics.containerSecurityContext.runAsNonRoot Set Prometheus JMX exporter containers’ Security Context runAsNonRoot true
metrics.containerSecurityContext.privileged Set Prometheus JMX exporter container’s Security Context privileged false
metrics.containerSecurityContext.allowPrivilegeEscalation Set Prometheus JMX exporter containers’ Security Context allowPrivilegeEscalation false
metrics.containerSecurityContext.readOnlyRootFilesystem Set Prometheus JMX exporter containers’ Security Context readOnlyRootFilesystem true
metrics.containerSecurityContext.capabilities.drop Set Prometheus JMX exporter containers’ Security Context capabilities to be dropped ["ALL"]
metrics.containerSecurityContext.seccompProfile.type Set Prometheus JMX exporter container’s Security Context seccomp profile RuntimeDefault
metrics.containerPorts.metrics Prometheus JMX exporter metrics container port 5556
metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production). micro
metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) {}
metrics.livenessProbe.enabled Enable livenessProbe true
metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe 60
metrics.livenessProbe.periodSeconds Period seconds for livenessProbe 10
metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe 30
metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe 3
metrics.livenessProbe.successThreshold Success threshold for livenessProbe 1
metrics.readinessProbe.enabled Enable readinessProbe true
metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe 30
metrics.readinessProbe.periodSeconds Period seconds for readinessProbe 10
metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe 30
metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe 3
metrics.readinessProbe.successThreshold Success threshold for readinessProbe 1
metrics.startupProbe.enabled Enable startupProbe true
metrics.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe 30
metrics.startupProbe.periodSeconds Period seconds for startupProbe 10
metrics.startupProbe.timeoutSeconds Timeout seconds for startupProbe 30
metrics.startupProbe.failureThreshold Failure threshold for startupProbe 3
metrics.startupProbe.successThreshold Success threshold for startupProbe 1
metrics.service.ports.metrics Prometheus JMX exporter metrics service port 5556
metrics.service.clusterIP Static clusterIP or None for headless services ""
metrics.service.sessionAffinity Control where client requests go, to the same pod or round-robin None
metrics.service.annotations Annotations for the Prometheus JMX exporter service {}
metrics.configOverrides Configuration file for JMX exporter ""
metrics.existingConfigmap Name of existing ConfigMap with JMX exporter configuration ""
metrics.serviceMonitor.enabled if true, creates a Prometheus Operator ServiceMonitor (also requires metrics.enabled to be true) false
metrics.serviceMonitor.namespace Namespace in which Prometheus is running ""
metrics.serviceMonitor.annotations Additional custom annotations for the ServiceMonitor {}
metrics.serviceMonitor.labels Extra labels for the ServiceMonitor {}
metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in Prometheus ""
metrics.serviceMonitor.honorLabels honorLabels chooses the metric’s labels on collisions with target labels false
metrics.serviceMonitor.interval Interval at which metrics should be scraped. ""
metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended ""
metrics.serviceMonitor.metricRelabelings Specify additional relabeling of metrics []
metrics.serviceMonitor.relabelings Specify general relabeling []
metrics.serviceMonitor.selector Prometheus instance selector labels {}

External S3 parameters

Name Description Value
externalS3.host External S3 host ""
externalS3.port External S3 port number 443
externalS3.accessKeyID External S3 access key ID ""
externalS3.accessKeySecret External S3 access key secret ""
externalS3.existingSecret Name of an existing secret resource containing the S3 credentials ""
externalS3.existingSecretAccessKeyIDKey Name of an existing secret key containing the S3 access key ID root-user
externalS3.existingSecretKeySecretKey Name of an existing secret key containing the S3 access key secret root-password
externalS3.protocol External S3 protocol https
externalS3.bucket External S3 bucket dremio
externalS3.path External S3 path inside the bucket ""
externalS3.region External S3 region us-east-1
externalS3.authentication External S3 authentication type accesskey
externalS3.disableCertChecking Disable certificate checking on external S3 (necessary if it uses ) false

External Zookeeper paramaters

Name Description Value
externalZookeeper.servers List of external zookeeper servers to use []
externalZookeeper.port Port of the Zookeeper servers 2888

Zookeeper subchart parameters

Name Description Value
zookeeper.enabled Deploy Zookeeper subchart true
zookeeper.replicaCount Number of Zookeeper instances 1
zookeeper.containerPorts.client Zookeeper container port 2181
zookeeper.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production). micro
zookeeper.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) {}

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

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

helm install my-release -f values.yaml oci://REGISTRY_NAME/REPOSITORY_NAME/dremio

Note: You need to substitute the placeholders REGISTRY_NAME and REPOSITORY_NAME with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use REGISTRY_NAME=registry-1.docker.io and REPOSITORY_NAME=bitnamicharts. Tip: You can use the default values.yaml

Troubleshooting

License

Copyright © 2024 Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

check-circle-line exclamation-circle-line close-line
Scroll to top icon