Skip to content

octohelm/unifs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UniFS

flowchart TB
    s3_fs[S3 FS]
    ftp_fs[Ftp FS]
    local_fs[Local FS]
    webdav_fs[WebDAV FS]
    fsi(FileSystem Inteface)
    ftp_fs & s3_fs & webdav_fs & local_fs --> fsi
    webdav_server[WebDAV Server]
    ftp_server[Ftp Server]
    fuse_fs[Fuse Fs]
    go_code[Go code]
    fsi -->|mount| fuse_fs
    fsi -->|direct| go_code
    fsi -->|serve| ftp_server
    fsi -->|serve| webdav_server
Loading

Supported Backends

ftp://<username>:<password>@<host>[<bath_path>]

webdav://<username>:<password>@<host>[<bath_path>][?insecure=true]

s3://<access_key_id>:<access_key_secret>@<host>/<bucket>[<bath_path>][?insecure=true]

file://<absolute_path>

CSI

Create StorageClass

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: unifs
provisioner: csi-driver.unifs.octohelm.tech
parameters:
  csi.storage.k8s.io/provisioner-secret-name: "${pvc.name}"
  csi.storage.k8s.io/provisioner-secret-namespace: "${pvc.namespace}"
  csi.storage.k8s.io/node-publish-secret-name: "${pvc.name}"
  csi.storage.k8s.io/node-publish-secret-namespace: "${pvc.namespace}"
reclaimPolicy: Delete

Create Secret && PersistentVolumeClaim

---
apiVersion: v1
kind: Secret
metadata:
  name: fuse-file
  namespace: storage-system--unifs
type: Opaque
stringData:
  backend: file:///data/unifs
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: fuse-file
  namespace: storage-system--unifs
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  storageClassName: unifs
  volumeMode: Filesystem
---
apiVersion: v1
kind: Pod
metadata:
  name: task-pv-pod
  namespace: storage-system--unifs
spec:
  volumes:
    - name: pv-storage
      persistentVolumeClaim:
        claimName: fuse-file
  containers:
    - name: web
      image: nginx
      ports:
        - containerPort: 80
          name: "http"
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: pv-storage

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages