git-csi-driver mounts a git repository as a Kubernetes volume. A pod sees a plain directory. The driver keeps a read-only volume current with its ref. For a writeable volume, it commits what the application writes and pushes it to the repository.

Two things want this:

The driver defines no custom resources. A PersistentVolume names the repository, a VolumeAttributesClass names the commit and push policy, and a PersistentVolumeClaim binds the two. A read-only volume needs neither, only the csi block in a pod spec.

Start with the manual. The design and the plans are in the repository.