https://github.com/ironcore-dev/ironcore-csi-driver
Kubernetes Container Storage Interface (CSI) Driver for IronCore
https://github.com/ironcore-dev/ironcore-csi-driver
csi csi-driver kubernetes
Last synced: about 1 year ago
JSON representation
Kubernetes Container Storage Interface (CSI) Driver for IronCore
- Host: GitHub
- URL: https://github.com/ironcore-dev/ironcore-csi-driver
- Owner: ironcore-dev
- License: apache-2.0
- Created: 2022-02-12T20:09:29.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-04T06:30:22.000Z (over 1 year ago)
- Last Synced: 2024-11-04T07:19:41.367Z (over 1 year ago)
- Topics: csi, csi-driver, kubernetes
- Language: Go
- Homepage: https://github.com/ironcore-dev
- Size: 9.58 MB
- Stars: 3
- Watchers: 6
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# IronCore CSI Driver
[](https://api.reuse.software/info/github.com/ironcore-dev/ironcore-csi-driver)
[](https://goreportcard.com/report/github.com/ironcore-dev/ironcore-csi-driver)
[](LICENSE)
[](https://makeapullrequest.com)
This document provides an overview of the IronCore CSI Driver, its components, and usage instructions.
## Overview
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.
## Table of Contents
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [Development](#development)
## Prerequisites
- Kubernetes cluster v1.20 or later
- Go 1.16 or later for building the driver
## Installation
To install the IronCore CSI Driver, clone the repository and build the binary using the following command:
```bash
git clone https://github.com/ironcore-dev/ironcore-csi-driver.git
cd ironcore-csi-driver
go build -o ironcore-csi-driver ./cmd
```
## Configuration
The driver can be configured through environment variables and command-line flags.
### Environment Variables
- `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.
### Command-Line Flags
- `--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 is `driver.CSIDriverName`.
## Usage
1. Run the IronCore CSI Driver as a controller:
```bash
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
```
2. Run the IronCore CSI Driver as a node:
```bash
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
```
## Development
To contribute to the development of the IronCore CSI Driver, follow these steps:
1. Fork the repository and clone your fork:
```bash
git clone https://github.com/yourusername/ironcore-csi-driver.git
cd ironcore-csi-driver
```
2. Create a new branch for your changes:
```bash
$ git checkout -b my-new-feature
```
3. Make your changes and commit them to your branch.
4. Push your branch to your fork:
```bash
$ git push origin my-new-feature
```
5. 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 Support
Feedback and contributions are always welcome!
Please report bugs, suggestions or post questions by opening a [Github issue](https://github.com/ironcore-dev/ironcore-csi-driver/issues).
## License
[Apache License 2.0](/LICENSE)