Helm Chart Reference

This page documents all configurable values for the minio/aistor-volumemanager Helm chart.

Chart information

Field Value
Chart name minio/aistor-volumemanager
Chart version 0.1.0
App version 5.1.0
Source https://github.com/miniohq/directpv

Global configuration

Parameter Type Default Description
annotations object {} Annotations applied to all resources.
labels object {} Labels applied to all resources.
license string "" Deprecated. License verification is no longer required. Accepted for backwards compatibility but ignored.

Cluster configuration

Parameter Type Default Description
forceOpenShift boolean auto-detect Override OpenShift auto-detection. If not set, the chart attempts auto-detection using API capabilities.
forceLegacyFlag boolean auto-detect Override legacy DirectPV auto-detection. If not set, the chart auto-detects by checking for legacy volumes or migration labels.
kubeletDirPath string /var/lib/kubelet Custom kubelet directory path for non-standard Kubernetes installations.

Image configuration

Parameter Type Default Description
images.pullPolicy string IfNotPresent Image pull policy for all container images.
images.pullSecrets array [] Image pull secrets for private registries.
images.directpv string See below DirectPV container image.
images.livenessprobe string See below Liveness probe container image.
images.csiNodeDriverRegistrar string See below CSI Node Driver Registrar image.
images.csiProvisioner string See below CSI Provisioner image.
images.csiResizer string See below CSI Resizer image.

Default images for Kubernetes

Image Default value
directpv quay.io/minio/directpv:v5.1.0
livenessprobe quay.io/minio/livenessprobe:v2.17.0-0
csiNodeDriverRegistrar quay.io/minio/csi-node-driver-registrar:v2.15.0-0
csiProvisioner quay.io/minio/csi-provisioner:v6.0.0-0
csiResizer quay.io/minio/csi-resizer:v2.0.0-0

Controller configuration

The controller deployment manages CSI provisioning and resizing operations.

Parameter Type Default Description
controller.replicas integer 3 Number of controller pod replicas.
controller.podAnnotations object {} Annotations to apply to controller pods.
controller.podLabels object {} Labels to apply to controller pods.
controller.hostNetwork boolean false Enable host network namespace for controller pods.
controller.podSecurityContext object {} Pod-level security context for controller containers.

Node server configuration

The node server DaemonSet runs on each node to manage local drives.

Parameter Type Default Description
nodeserver.podAnnotations object {} Annotations to apply to node server pods.
nodeserver.podLabels object {} Labels to apply to node server pods.
nodeserver.hostNetwork boolean false Enable host network namespace for node server pods.
nodeserver.nodeSelector object {} Node selector constraints for scheduling node server pods.
nodeserver.tolerations array [] Tolerations for scheduling node server pods on tainted nodes.
nodeserver.seccompLocalhostProfile string "" Seccomp localhost profile path for container security.

Examples

Limit nodes with node selector

Restrict DirectPV to specific nodes using labels:

nodeserver:
  nodeSelector:
    aistor.min.io/pool-id: "1"

Allow scheduling on control plane nodes

Add tolerations to schedule on tainted nodes:

nodeserver:
  tolerations:
    - key: "node-role.kubernetes.io/control-plane"
      operator: "Exists"
      effect: "NoSchedule"

Configure seccomp profile

Enable seccomp security profile:

nodeserver:
  seccompLocalhostProfile: "profiles/seccomp.json"
You must load the seccomp profile on nodes before enabling this option. See the security profiles documentation.

Use private registry

Configure image pull secrets for air-gapped environments:

images:
  pullSecrets:
    - name: my-registry-secret
  directpv: my-registry.example.com/minio/directpv:v5.1.0
  livenessprobe: my-registry.example.com/minio/livenessprobe:v2.17.0-0
  csiNodeDriverRegistrar: my-registry.example.com/minio/csi-node-driver-registrar:v2.15.0-0
  csiProvisioner: my-registry.example.com/minio/csi-provisioner:v6.0.0-0
  csiResizer: my-registry.example.com/minio/csi-resizer:v2.0.0-0

Complete custom values file

Example aistor-volumemanager-values.yaml with common customizations:

annotations:
  environment: production

labels:
  team: storage

nodeserver:
  nodeSelector:
    node-role.kubernetes.io/storage: "true"
  tolerations:
    - key: "dedicated"
      operator: "Equal"
      value: "storage"
      effect: "NoSchedule"
  seccompLocalhostProfile: "directpv-seccomp.json"

controller:
  replicas: 3
  podAnnotations:
    prometheus.io/scrape: "true"

Install using the custom values:

helm install directpv minio/aistor-volumemanager -f aistor-volumemanager-values.yaml