Skip to content

storageClass guidance in Toolbox chart persistence documentation is incorrect

Problem to solve

https://docs.gitlab.com/charts/charts/gitlab/toolbox/#persistence-configuration includes the following:

If .storageClass is specified as ‘-‘, then the PersistentVolume will be created using the default StorageClass as specified in the Kubernetes cluster.

This isn't correct - the actual behaviour is as described in a comment in the Toolbox chart itself: https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/charts/gitlab/charts/toolbox/values.yaml#L226

      ## If set to "-", storageClassName: "", which disables dynamic provisioning
      ## If undefined (the default) or set to null, no storageClassName spec is
      ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
      ##   GKE, AWS & OpenStack)

To be clear: the documentation suggests that setting storageClass to '-' will mean that the default StorageClass will be used; whereas in reality, storageClass '-' disables dynamic provisioning entirely. To get the default StorageClass to be used, you actually have to leave storageClass undefined (or explicitly set it to null).

Further details

N/A

Proposal

Instead of:

If .storageClass is specified as ‘-‘, then the PersistentVolume will be created using the default StorageClass as specified in the Kubernetes cluster.

Something along the lines of:

If .storageClass is left undefined, or is set to null explicitly, then the PersistentVolume will be created using the default StorageClass as specified in the Kubernetes cluster. To disable dynamic provisioning, set .storageClass to '-'.

Who can address the issue

Not sure. I'd make the change myself, but the process for contributing a documentation change looks quite involved.

Other links/references

N/A

Edited by James Williams