diff --git a/charts/voltdb/.helmignore b/charts/voltdb/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/charts/voltdb/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/voltdb/Chart.lock b/charts/voltdb/Chart.lock new file mode 100644 index 0000000..acf781a --- /dev/null +++ b/charts/voltdb/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://charts.bitnami.com/bitnami + version: 1.17.1 +digest: sha256:dacc73770a5640c011e067ff8840ddf89631fc19016c8d0a9e5ea160e7da8690 +generated: "2023-08-09T19:27:57.595439+05:30" diff --git a/charts/voltdb/Chart.yaml b/charts/voltdb/Chart.yaml new file mode 100644 index 0000000..60252cd --- /dev/null +++ b/charts/voltdb/Chart.yaml @@ -0,0 +1,16 @@ +apiVersion: v2 +name: voltdb +description: Voltdb helm chart +version: 0.1.0 +appVersion: "9.2.1" +keywords: + - voltdb +dependencies: + - name: common + repository: https://charts.bitnami.com/bitnami + tags: + - bitnami-common + version: 1.x.x +maintainers: + - name: Dream11 + url: https://www.dream11.com/ diff --git a/charts/voltdb/README.md b/charts/voltdb/README.md new file mode 100644 index 0000000..cc0f24c --- /dev/null +++ b/charts/voltdb/README.md @@ -0,0 +1,170 @@ + + +# Voltdb Helm Chart + +VoltDB is a commercial in-memory DBMS that is scalable and ACID-compliant. + +[Overview of Voltdb](https://www.voltactivedata.com/) + +## Introduction + +This chart bootstraps a [Voltdb](https://hub.docker.com/r/voltdb/voltdb-community) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. + +## Prerequisites + +- Kubernetes 1.19+ +- Helm 3.2.0+ +- PV provisioner support in the underlying infrastructure + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```console +helm repo add dream11 https://dream11.github.io/helm-charts +helm install my-release dream11/voltdb +``` + +These commands deploy one node with Voltdb on the Kubernetes cluster in the default configuration. The [Parameters](#parameters) section lists the parameters that can be configured during installation. + +> **Tip**: List all releases using `helm list` + +## Uninstalling the Chart + +To uninstall/delete the `my-release` release: + +```console +helm delete my-release +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. + +## 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) | `""` | + +### Common parameters + +| Name | Description | Value | +| ------------------- | --------------------------------------------------------------------- | --------------- | +| `nameOverride` | String to partially override common.names.fullname | `""` | +| `fullnameOverride` | String to fully override common.names.fullname | `""` | +| `commonLabels` | Labels to add to all deployed objects (sub-charts are not considered) | `{}` | +| `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 | `[]` | + +### Voltdb parameters + +| Name | Description | Value | +| -------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------- | +| `image.registry` | Voltdb image registry | `docker.io` | +| `image.repository` | Voltdb image repository | `voltdb/voltdb-community` | +| `image.tag` | Voltdb image tag (immutable tags are recommended) | `9.2.1` | +| `image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `image.pullSecrets` | Voltdb image pull secrets | `[]` | +| `voltdb.directorySpec` | Path to directory where voltdb will be initialised | `/var/voltdb` | +| `voltdb.license` | Voltdb license | `nil` | +| `voltdb.deployment.cluster.hostcount` | Number of nodes in voltdb cluster | `1` | +| `voltdb.deployment.cluster.sitesperhost` | Number of unique VoltDB sites that are created on each physical database server | `1` | +| `voltdb.deployment.cluster.kfactor` | Number of times partitions will be replicated | `0` | +| `voltdb.deployment.heartbeat.timeout` | Heartbeat timeout between nodes | `90` | +| `voltdb.deployment.commandlog.enabled` | Enable command logging? | `false` | +| `voltdb.deployment.commandlog.synchronous` | Should the logging be synchronous? | `false` | +| `voltdb.deployment.commandlog.logsize` | Disk space pre allocated for storing the logs on disk in MBs | `1024` | +| `voltdb.deployment.commandlog.frequency.time` | Write logs after every