Why is persistence a MUST?

Moved from GitHub charts/23

Posted by encryptblockr:

seems it is not possible to deploy this helm charts without having persistence enabled
what about deploying this on baremetal and want to use local storage?
how can one disable persistence? why is persistence enforced?

Release "dgraph" does not exist. Installing it now.
Error: YAML parse error on dgraph/templates/alpha-statefulset.yaml: error converting YAML to JSON: yaml: line 66: did not find expected key

MrSimonEmms commented :

I think it’s because of this line. Looks like it’s missing the key if persistence is disabled

As Dgraph is a distributed database and thus by nature a stateful application, there needs to be storage that persists between failures, as well as keep the state of the cluster members, such as zero and alpha nodes.

Do you use a bare-metal cluster currently? I would be curious to learn about your setup, e.g. vmware, kvm, host distro, etc. Could you install a CSI driver, such as csi-lvm?

Unfortunately the original link to the code at that time does not match the current commit point. This issue I would like to have fixed. Finding it is a needle-in-a-haystack scenario, and the error reported is unrelated to the value change as far as I can tell.

You can reproduce this all published chart versions from 0.0.4 to 0.0.9.

$ helm install d --set alpha.persistence.enabled=false  --debug --dry-run --version 0.0.4  dgraph/dgraph

Error: YAML parse error on dgraph/templates/alpha-statefulset.yaml: error converting YAML to JSON: yaml: line 74: did not find expected key
helm.go:84: [debug] error converting YAML to JSON: yaml: line 74: did not find expected key

This is fixed in dgraph-0.0.14: