Appendix A. VoltDB Helm Properties

Documentation

VoltDB Home » Documentation » VoltDB Kubernetes Administrator's Guide

Appendix A. VoltDB Helm Properties

You communicate with the VoltDB Operator, and Kubernetes itself, through the Helm charts that VoltDB provides. You can also specify additional Helm properties that customize what the Helm charts do. The properties are hierarchical in nature and can be specified on the Helm command line either as one or more YAML files or as individual arguments. For example, you can specify multiple properties in a YAML file then reference the file as part of your command using the --values or -f argument, like so:

$ helm install mydb voltdb/voltdb --values myoptions.yaml

Or you can specify the properties individually in dot notation on the command line using the --set flag, like so:

$ helm install mydb voltdb/voltdb \
     --set cluster.clusterSpec.replicas=5 \
     --set cluster.config.deployment.cluster.kfactor=2 \
     --set cluster.config.deployment.cluster.sitesperhost=12

For arrays and lists, you can specify the values in dot notation by enclosing the list in braces and then quoting the command as required by the shell you are using. For example:

$ helm upgrade mydb voltdb/voltdb -reuse-values
     --set cluster.clusterSpec.excludeClusters='{1,3}'

In YAML, you specify each element of the property on a separate line, following each parent element with a colon, indenting each level appropriately, and following the last element with the value of the property . On the command line you specify the property with the elements separated by periods and the value following an equals sign. So in the preceding install example, the matching YAML file for the command line properties would look like this:

cluster:
  clusterSpec:
     replicas: 5
  config:
     deployment:
        cluster:
           kfactor: 2
           sitesperhost: 12

Many of the properties have default values; the following tables specify the default values where applicable. You do not need to specify values for all of the properties. In fact, you can start a generic VoltDB database specifying only the license file. Otherwise, you need only specify those properties you want to customize.

Finally, the properties are processed in order and can be overridden. So if you specify different values for the same property in two YAML files and as a command line argument, the latter YAML file setting overrides the first and the command line option overrides them both.

A.1. How to Use the Properties

The following sections detail all of the pertinent Helm properties that you can specify when creating or modifying the VoltDB Operator and its associated cluster. The properties are divided into categories and each category identified by the root elements common to all properties in that category:

For the sake of brevity and readability, the properties in the tables are listed by only the unique elements of the property after the root. However, when specifying a property in YAML or on the command line, you must specify all elements of the full property name, including both the root and the unique elements.