Skip to main content
The Archil CSI Driver provides seamless integration between Kubernetes and Archil’s distributed disk technology. It implements the CSI specification to allow Kubernetes workloads to mount and use Archil disks with both ReadWriteOnce (RWO) and ReadWriteMany (RWX) access modes. Requirements:
  • Helm chart distribution: The driver is provided as an OCI Helm chart and requires Helm v3.8.0 or newer.
  • DNS access: Pods must have access to external DNS to mount Archil disks. (Note: some providers, such as Fly.io, don’t enable this by default.)

Dynamic provisioning

Dynamic provisioning automatically creates and deletes Archil disks when PersistentVolumeClaims are created and deleted. This is the recommended approach for most workloads.

1. Install CSI driver with controller

Create a Kubernetes secret with your API key:
Install the CSI driver with the controller and StorageClass enabled:

2. Create a PersistentVolumeClaim

3. Use the disk in a pod

When the PVC is created, the controller automatically provisions an Archil disk via the controlplane API. When the PVC is deleted (with reclaimPolicy: Delete), the disk is cleaned up automatically.

Static provisioning

If you need to use a pre-existing Archil disk, you can create PersistentVolumes manually.

1. Install CSI driver

Install the CSI driver using our official Helm chart from Docker Hub. The chart deploys the archildata/csi-driver container image.

2. Configure disk users

Archil natively supports using AWS IAM users or roles to authorize access to the disk. Simply add the ARN of the IAM user or role that will be used to connect to the disk.
  • Get your EC2 server’s IAM role arn using the following command:
  • Copy the resulting IAM role arn.
  • Update your helm release:
  • Restart the CSI driver daemonset:
This IAM role is used for authentication from the CSI driver to all disks. The Archil CSI Driver does not currently support specifying IAM roles on a per-disk basis.

3. Create PersistentVolume

4. Create PersistentVolumeClaim

5. Create a pod

This example creates a simple demo pod to verify connectivity to your Archil disk. You can deploy your own applications using any pod configuration, just mount the PVC as shown below.

Configuration reference

Storage access modes

The accessMode that you use when creating your PersistentVolume and PersistentVolumeClaim will determine whether the disk is mounted with support for other clients to access it. When using ReadWriteOnce, the disk is mounted into single ownership mode, preventing other clients from accessing the disk. When using ReadWriteMany, the disk is mounted with --shared, allowing multiple clients to access the disk simultaneously. For more details, see the Shared Disks page.

Helm chart values

The following table describes all available configuration options in values.yaml:

Changelog

2026-03-02
  • Dynamic provisioning via controller plugin
  • Automatic disk creation/deletion when PVCs are created/deleted
  • Support for both IAM (AWS STS) and disk-token-based node authentication
  • New StorageClass with configurable region and auth type
2025-07-28
  • Initial preview release