Contributing
How to contribute to pillar-csi, the Kubernetes CSI driver for ZFS and LVM over NVMe-oF/TCP, and where to find its design documents, RFCs and test specs.
On this page
pillar-csi is developed on GitHub at isac322/pillar-csi. Bug reports, questions and pull requests go there.
Before you start
Read CONTRIBUTING.md for the build setup, the checks a pull request must pass and the commit conventions. Report security problems privately as described in SECURITY.md, not in a public issue.
To report a bug, open an issue with the pillar-csi version, your Kubernetes version, the storage node’s kernel and backend (ZFS or LVM), and the output of kubectl describe for the affected PVC and its PillarVolumeState.
Design documents
The repository keeps its design notes under docs/. Several are written in Korean. Some describe protocols and backends that are not implemented, and they mark those parts as design notes.
| Document | Contents | Language |
|---|---|---|
| PRD.md | Product requirements: CRD design, parameter override layers, components, volume lifecycle | Korean |
| decisions/ | Architecture decision records, starting with the reconciler design | English |
| RFC-multi-protocol-driver-foundation.md | How the controller, node plugin and agent dispatch by protocol. Only NVMe-oF/TCP is implemented | Korean |
| PRD-iscsi.md | Design reference for a possible iSCSI protocol. Not implemented, and its configuration interface is obsolete | Korean |
| E2E-TESTCASES.md | The specification every end-to-end test traces back to | Korean |
| upgrade-crd-names.md | Upgrading across the CRD name changes of issue #58 | Korean |
The architecture and fencing and consistency pages summarize the parts of these documents that match the current code in English.