# README
Container Storage Interface
The official Container Storage Interface (CSI) for Flow Swiss and Cloudbit block storage volumes. This plugin enables you to use our block storage devices within Kubernetes or any other Container Orchestrator.
Deploying on Kubernetes
If you use a Managed Kubernetes Cluster, the CSI driver will be deployed automatically, and you do not have to setup anything. If you however choose to host your own cluster on our Compute Platform, you need to apply the following steps to deploy this driver.
1. Create an API token
Go into our portal and navigate to the Application Tokens section. Here you can create a new one by giving it a name. Copy the generated token and store it somewhere safe.
2. Create secret
Create a secret containing the token in a namespace of your choice on your cluster.
kubectl create secret generic flow \
--from-literal=base=[environment-url] \
--from-literal=token=[application-token]
Replace the application-token
placeholder with the previously generated API
token. For the placeholder environment-url
, enter the URL of the system you
are using (https://api.flow.swiss/
or https://api.cloudbit.ch/
)
The same configuration can be achieved through the following yaml configuration:
apiVersion: v1
kind: Secret
metadata:
name: flow
data:
base: [environment-url-base64]
token: [application-token-base64]
3. Deploy the CSI plugin
All needed kubernetes configurations can be found in this repository in the deployments directory. Choose the desired version and apply it using the kubectl command.
kubectl apply -f deployments/kubernetes/VERSION
4. Verify installation
To verify your installation you can create a simple volume claim by applying the following configuration.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-test
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: flow-block-storage
If everything was successful you can check that the volume has been created by running the following command.
$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-6d28a5c7-43f6-4be8-afb7-ab0dca6ed48b 1Gi RWO Delete Bound default/csi-test flow-block-storage 7s