b2c4b779112fd85c6ac00cbef7ceffa210cd383e
				
			
			
		
	STAGE_UNSTAGE_VOLUME capability
		
			
			Summary: Before this, we directly mounted the the rawfile on the mountpoint. In this revision the `STAGE_UNSTAGE_VOLUME` capability is implemented, meaning that the volume is first mounted to a staging path, and then `bind`-mounted to the actual path. This way we can free up loopback devices when they are not needed. Test Plan: - Create a pvc, and use it inside a pod - Run `losetup -l` on the node running the pod, and assert the creation of a loop device - Delete the pod, but not the pvc - Run `losetup -l` on the same node, and assert the removal of the loop device Reviewers: h.marvi, bghadiri Differential Revision: https://phab.hamravesh.ir/D806
RawFilePV
Kubernetes LocalPVs on Steroids
Install
helm install -n kube-system rawfile-csi ./deploy/charts/rawfile-csi/
Usage
Create a StorageClass with your desired options:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: my-sc
provisioner: rawfile.hamravesh.com
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
Features
- Direct I/O: Near-zero disk performance overhead
 - Dynamic provisioning
 - Enforced volume size limit
 - Thin provisioned
 - Access Modes
- ReadWriteOnce
 ReadOnlyManyReadWriteMany
 - Volume modes
FilesystemmodeBlockmode
 - Volume metrics
 - Supports fsTypes
 - Online expansion: If fs supports it (e.g. ext4, btrfs)
 - Online shrinking: If fs supports it (e.g. btrfs)
 - Offline expansion/shrinking
 - Ephemeral inline volume
 - Snapshots: If the fs supports it (e.g. btrfs)
 
Description
				
					Languages
				
				
								
								
									Python
								
								93.3%
							
						
							
								
								
									Shell
								
								3.5%
							
						
							
								
								
									Smarty
								
								2.2%
							
						
							
								
								
									Dockerfile
								
								1%