{"id":44514456,"url":"https://github.com/simplyblock/simplyblock-csi","last_synced_at":"2026-06-06T00:01:47.143Z","repository":{"id":189849049,"uuid":"681425495","full_name":"simplyblock/simplyblock-csi","owner":"simplyblock","description":"CSI for simplyblock's NVMe-first Kubernetes storage based on NVMe/TCP (NVMe-oF)","archived":false,"fork":false,"pushed_at":"2026-06-01T14:21:58.000Z","size":4571,"stargazers_count":42,"open_issues_count":15,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-01T14:24:17.516Z","etag":null,"topics":["csi","csi-plugin","iops","kubernetes","kubernetes-csi","kubernetes-persistent-volume","kubernetes-storage","kubernetes-volumes","nvme","nvme-of","nvme-over-fabrics","nvme-storage","nvmeof","simplyblock","spdk","storage","storageclass"],"latest_commit_sha":null,"homepage":"https://docs.simplyblock.io/latest/deployments/kubernetes/","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"spdk/spdk-csi","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simplyblock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/support-ports.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-22T01:53:15.000Z","updated_at":"2026-06-01T14:22:53.000Z","dependencies_parsed_at":"2025-04-17T12:50:42.484Z","dependency_job_id":"03bd995b-c219-4de8-8278-6e0ee1b2f862","html_url":"https://github.com/simplyblock/simplyblock-csi","commit_stats":null,"previous_names":["simplyblock-io/spdk-csi","simplyblock-io/simplyblock-csi","simplyblock/simplyblock-csi"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/simplyblock/simplyblock-csi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplyblock%2Fsimplyblock-csi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplyblock%2Fsimplyblock-csi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplyblock%2Fsimplyblock-csi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplyblock%2Fsimplyblock-csi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplyblock","download_url":"https://codeload.github.com/simplyblock/simplyblock-csi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplyblock%2Fsimplyblock-csi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33964367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csi","csi-plugin","iops","kubernetes","kubernetes-csi","kubernetes-persistent-volume","kubernetes-storage","kubernetes-volumes","nvme","nvme-of","nvme-over-fabrics","nvme-storage","nvmeof","simplyblock","spdk","storage","storageclass"],"created_at":"2026-02-13T16:56:04.354Z","updated_at":"2026-06-06T00:01:47.125Z","avatar_url":"https://github.com/simplyblock.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simplyblock CSI Driver for Kubernetes\n\n**High-performance NVMe/TCP (NVMe-over-Fabrics) CSI Driver for Kubernetes**\n\n[![Documentation](https://img.shields.io/badge/Docs-simplyblock-blue)](https://docs.simplyblock.io/latest/deployments/kubernetes/) [![Issues](https://img.shields.io/github/issues/simplyblock/simplyblock-csi)](https://github.com/simplyblock/simplyblock-csi/issues)\n\n![](assets/simplyblock-logo.svg)\n\n---\n\n## 🚀 Overview\n\n`simplyblock-csi` is the official **simplyblock storage plugin for Kubernetes**. \n\nThe **simplyblock CSI** extension delivers **high-performance block storage** to Kubernetes. Simplyblock leverages SPDK and NVMe-over-TCP\nto implement a high-performance and ultra-low latency storage solution.\n\nSimplyblock's CSI driver enables **enterprise-grade, NVMe/TCP-powered block storage** directly inside Kubernetes, offering high performance,\nscalability, and resilience without the need for specialized hardware or vendor lock-in. It supports dynamic provisioning, snapshots, and\nseamless integration via the Container Storage Interface (CSI).\n\nWith simplyblock, you can seamlessly integrate **software-defined storage (SDS)** into your Kubernetes environment, enabling support for\nadvanced features like:\n\n- ⚡ **Ultra-low latency**: Unlock performance with NVMe-over-TCP\n- 🧩 **Native Proxmox integration**: Manage volumes directly in Kubernetes\n- 🛡️ **Enterprise data services**: Snapshots, clones, erasure coding, multi-tenancy\n- 🔒 **Secure \u0026 robust**: Cluster authentication and Quality of Service (QoS)\n- ☁️ **Cloud \u0026 on-prem flexibility**: Deploy into any Kubernetes-based distribution\n\n👉 For full documentation, see the [Simplyblock Kubernetes Deployment Guide](https://docs.simplyblock.io/latest/deployments/kubernetes/).\n\n---\n\n## ✨ Features\n\n| Feature                           | Benefit                                                                 |\n|----------------------------------|-------------------------------------------------------------------------|\n| **Dynamic Volume Provisioning**   | Dynamically provision and lifecycle-manage persistent volumes in Kubernetes |\n| **NVMe/TCP Support**              | High throughput, low latency storage over standard Ethernet              |\n| **Snapshots \u0026 Clones**           | Efficient data protection and instant provisioning                      |\n| **Erasure Coding**                | Fault-tolerant, space-efficient redundancy                             |\n| **Multi-tenancy \u0026 QoS**          | Isolated tenants with guaranteed IOPS, bandwidth, and latency           |\n| **Resilient Networking**         | Supports redundant or isolated storage/control networks                  |\n| **Auto-Reconnect**               | Automatic reconnection of NVMe devices after network or host failures   |\n\n---\n\n## Kubernetes Version Support\n\n| Branch/Tag     | Kubernetes Version | Stability |\n|----------------|--------------------|-----------|\n| `master`       | 1.21+              | Stable    |\n| `v0.1.0`       | 1.21+              | Beta      |\n| `v0.1.1`       | 1.21+              | Stable    |\n\n---\n\n## 📦 Getting Started\n\nThe following section describes the installation of the CSI driver only. If you want to install a full simplyblock storage cluster into Kubernetes, please refer to the full documentation: [Simplyblock Kubernetes Deployment Guide](https://docs.simplyblock.io/latest/deployments/kubernetes/).\n\n### 1. Prerequisites\n\nEnsure your cluster meets the requirements:\n\n- Kernel NVMe/TCP driver is loaded:\n\n  ```bash\n  modprobe nvme-tcp\n  lsmod | grep 'nvme_'\n  ```\n\nYou should see `nvme_tcp`, `nvme_fabrics`, and related modules.\nTo make it persistent, add to `/etc/modules-load.d/nvme-tcp.conf` or `/etc/modules` depending on your distro.\n\n### 2. Install via Helm (Recommended)\n\n```bash\nhelm repo add simplyblock-csi https://install.simplyblock.io/helm\nhelm repo update\n\nexport CLUSTER_UUID=\"\u003cCLUSTER_ID\u003e\"\nexport CLUSTER_SECRET=\"\u003cCLUSTER_SECRET\u003e\"\nexport CNTR_ADDR=\"\u003cCONTROL_PLANE_ADDR\u003e\"\nexport POOL_NAME=\"\u003cSTORAGE_POOL_NAME\u003e\"\n\nhelm install -n simplyblock-csi --create-namespace simplyblock-csi simplyblock-csi/spdk-csi \\\n  --set csiConfig.simplybk.uuid=${CLUSTER_UUID} \\\n  --set csiConfig.simplybk.ip=${CNTR_ADDR} \\\n  --set csiSecret.simplybk.secret=${CLUSTER_SECRET} \\\n  --set logicalVolume.pool_name=${POOL_NAME}\n```\n\nVerify the deployment:\n\n```bash\nkubectl -n simplyblock-csi get pods -l release=simplyblock-csi\n```\n\nYou should see controller and node pods in the `Running` state.\n\n## Storage Cluster Installation in Kubernetes\n\nSimplyblock supports different Kubernetes deployment topologies:\n\n* **Disaggregated Setup**\n  Storage nodes on dedicated worker nodes or separate clusters; CSI driver connects client clusters to storage.\n  📖 [Docs](https://docs.simplyblock.io/latest/deployments/kubernetes/k8s-disaggregated/)\n\n* **Hyper-Converged Setup**\n  CSI driver runs alongside storage and workloads in the same cluster, enabling local storage affinity and simplified topology.\n  📖 [Docs](https://docs.simplyblock.io/latest/deployments/kubernetes/k8s-hyperconverged/)\n\nFor details, see the [Kubernetes Deployment Guide](https://docs.simplyblock.io/latest/deployments/kubernetes/).\n\n---\n\n## 🖥️ Usage\n\nOnce deployed, you can manage persistent volumes using standard Kubernetes objects:\n\n* **StorageClasses**\n* **PersistentVolumeClaims**\n* **Volume Snapshots**\n* **Clones and resizing**\n* **QoS policies via CSI driver**\n\nSee full examples in the [Usage Guide](https://docs.simplyblock.io/latest/usage/simplyblock-csi/).\n\n---\n\n## 🛠️ Troubleshooting \u0026 Operations\n\n* Verify CSI pods are running:\n\n  ```bash\n  kubectl -n simplyblock-csi get pods\n  ```\n* Check logs for a node or controller pod:\n\n  ```bash\n  kubectl -n simplyblock-csi logs \u003cpod-name\u003e\n  ```\n\nFor advanced troubleshooting, monitoring, and maintenance guidance, see the [Operations Docs](https://docs.simplyblock.io/25.7.1/usage/simplyblock-csi/).\n\n---\n\n## 📄 License\n\nThis project is licensed under the **Apache 2.0 License** — see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 📚 Documentation\n\n* [Kubernetes Deployment Guide](https://docs.simplyblock.io/latest/deployments/kubernetes/)\n* [Install CSI Driver Only](https://docs.simplyblock.io/latest/deployments/kubernetes/install-csi/)\n* [Disaggregated Setup](https://docs.simplyblock.io/latest/deployments/kubernetes/k8s-disaggregated/)\n* [Hyper-Converged Setup](https://docs.simplyblock.io/latest/deployments/kubernetes/k8s-hyperconverged/)\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions!\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/my-feature`)\n3. Commit your changes with a clear message\n4. Push to your fork and open a Pull Request\n\nPlease review the [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n---\n\n## 📬 Support\n\n* 📖 [Documentation](https://docs.simplyblock.io/latest/deployments/kubernetes/)\n* 🐞 [GitHub Issues](https://github.com/simplyblock/simplyblock-csi/issues)\n* 🌐 [Simplyblock Website](https://www.simplyblock.io)\n\nMaintained by the **simplyblock team**.\n\n---\n\n**Unlock NVMe-grade performance for your Kubernetes workloads with Simplyblock CSI.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplyblock%2Fsimplyblock-csi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplyblock%2Fsimplyblock-csi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplyblock%2Fsimplyblock-csi/lists"}