Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.


A library for writing external provisioners. Projects using this library include:



Contains the Provisioner interface and ProvisionController, a custom Kubernetes controller that watches PersistentVolumes and PersistentVolumeClaims. Implement the Provisioner interface, pass the implementation to a ProvisionController, and Run the controller, which then takes care of calling the Provisioner's Provision or Delete as needed.

Optional Packages


Contains an assortment of useful functions, e.g. any used by in-tree plugins that aren't otherwise easily importable.

gidallocator and allocator

gidallocator is used to allocate a GID from a range specified by StorageClass parameters gidMin & gidMax. allocator is the underlying implementation and can be used to write other allocators. An example use-case for gidallocator is an NFS-based provisioner that chowns each export to a unique GID. See Volume Security for more context.


Is used to read the mount table. Copied from moby.

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.