This document provides an overview of the IronCore CSI Driver, its components, and usage instructions.
The IronCore CSI Driver is a Kubernetes storage plugin that enables the management of IronCore volumes as Kubernetes Persistent Volumes (PVs). The driver supports dynamic provisioning, mounting, and management of IronCore volumes.
- Kubernetes cluster v1.20 or later
- Go 1.16 or later for building the driver
To install the IronCore CSI Driver, clone the repository and build the binary using the following command:
git clone https://github.com/ironcore-dev/ironcore-csi-driver.git
cd ironcore-csi-driver
go build -o ironcore-csi-driver ./cmd
The driver can be configured through environment variables and command-line flags.
X_CSI_MODE
: Set the CSI driver mode. Supported modes are node and controller.KUBE_NODE_NAME
: Set the Kubernetes node name when the driver is running in node mode.VOLUME_NS
: Set the IronCore driver namespace when the driver is running in controller mode.
--target-kubeconfig
: Path pointing to the target kubeconfig.--ironcore-kubeconfig
: Path pointing to the IronCore kubeconfig.--driver-name
: Override the default driver name. Default value isdriver.CSIDriverName
.
- Run the IronCore CSI Driver as a controller:
export X_CSI_MODE=controller
export VOLUME_NS=my-driver-namespace
./ironcore-csi-driver --target-kubeconfig=/path/to/target/kubeconfig --ironcore-kubeconfig=/path/to/ironcore/kubeconfig
- Run the IronCore CSI Driver as a node:
export X_CSI_MODE=node
export KUBE_NODE_NAME=my-node-name
./ironcore-csi-driver --target-kubeconfig=/path/to/target/kubeconfig --ironcore-kubeconfig=/path/to/ironcore/kubeconfig
To contribute to the development of the IronCore CSI Driver, follow these steps:
- Fork the repository and clone your fork:
git clone https://github.com/yourusername/ironcore-csi-driver.git
cd ironcore-csi-driver
- Create a new branch for your changes:
$ git checkout -b my-new-feature
-
Make your changes and commit them to your branch.
-
Push your branch to your fork:
$ git push origin my-new-feature
- Create a pull request against the original repository.
Remember to keep your fork and branch up-to-date with the original repository before submitting a pull request.
Feedback and contributions are always welcome!
Please report bugs, suggestions or post questions by opening a Github issue.