ArangoLocalStorage Custom Resource

The ArangoDB Storage Operator creates and maintains ArangoDBstorage resources in a Kubernetes cluster, given a storage specification.This storage specification is a CustomResource followinga CustomResourceDefinition created by the operator.

Example minimal storage definition:

  1. apiVersion: "storage.arangodb.com/v1alpha"
  2. kind: "ArangoLocalStorage"
  3. metadata:
  4. name: "example-arangodb-storage"
  5. spec:
  6. storageClass:
  7. name: my-local-ssd
  8. localPath:
  9. - /mnt/big-ssd-disk

This definition results in:

  • a StorageClass called my-local-ssd
  • the dynamic provisioning of PersistentVolume’s witha local volume on a node where the local volume startsin a sub-directory of /mnt/big-ssd-disk.
  • the dynamic cleanup of PersistentVolume’s (created bythe operator) after one is released.

The provisioned volumes will have a capacity that matchesthe requested capacity of volume claims.

Specification reference

Below you’ll find all settings of the ArangoLocalStorage custom resource.

spec.storageClass.name: string

This setting specifies the name of the storage class thatcreated PersistentVolume will use.

If empty, this field defaults to the name of the ArangoLocalStorageobject.

If a StorageClass with given name does not yet exist, itwill be created.

spec.storageClass.isDefault: bool

This setting specifies if the created StorageClass willbe marked as default storage class. (default is false)

spec.localPath: stringList

This setting specifies one of more local directories(on the nodes) used to create persistent volumes in.

spec.nodeSelector: nodeSelector

This setting specifies which nodes the operator willprovision persistent volumes on.