View Code? Open in Web Editor
NEW
Educational/learning project for Container Storage Interface
License: The Unlicense
Makefile 16.99%
Go 77.99%
Dockerfile 2.96%
Shell 2.06%
csi-quickstart's Introduction
๐ญ Iโm currently working on Go, Kubernetes, AWS
๐ฑ Iโm currently learning about and working with Kubernetes Operators & Controllers, gRPC, Protobufs
๐ท Check out what I'm currently working on
๐จโ๐ป Repositories I created recently
๐ Latest releases I've contributed to
๐๐ป My GitHub streak
csi-quickstart's People
Contributors
Stargazers
Watchers
csi-quickstart's Issues
Check out CodeCatalyst as an alternative/supplement to VSCode Devcontainer
Goals
Approach
After #12 is done, this will be pretty straightforward as the workflows can just invoke the scripts.
Goals
Update
These are not mandatory.
GetPluginCapabilities
method
Probe
method
Goals
Approach
Related to #11
After adding tests, write empty methods to check tests failing
After setting up the workflow with tests and empty methods added, continue with action implementation
Goal
Find out what is the official/conventional way to create the volumes
same volume as CSI
separate volume
Background
Ref: #25 (comment)
A volume mounted from the host in both the plugin container and the node-driver-registrar
container, which is used primarily for the CSI socket
spec :
template :
spec :
containers :
- volumeMounts :
- mountPath : /csi
name : plugin-dir
volumes :
- hostPath :
path : /var/lib/kubelet/plugins/emptydirclone.mriyam.dev
type : DirectoryOrCreate
name : plugin-dir
The plugin creating a volume, that gets mounted at the target path as requested by kubelet. Now the path that the plugin uses for creating the volume lives under the path /csi
// getVolumePath returns the canonical path for emptydirclone volume
func getVolumePath (volName string ) string {
return filepath .Join ("/csi/data" , volName )
}
Although this works, the pattern I've seen is,
A volume separate from the one used for the CSI socket mounted from the host in both the plugin container and the node-driver-registrar
container
spec :
template :
spec :
containers :
- volumeMounts :
- mountPath : /csi-data-dir
name : csi-data-dir
volumes :
- hostPath :
path : /var/lib/csi-emptydirclone.mriyam.dev-data/
type : DirectoryOrCreate
name : csi-data-dir
The plugin uses the volume /csi-data-dir/
to create all volumes within that path.
Testing of creation of issue via quick link provided by GitHub. Can be ignored.
Add a README defining the goal/scope of the project