# Adding a new storageclass
As storageclass templates vary as per requirements and cloud provider specifications, this guide will help in using a new storageclass which is not supported by Blockchain Automation Framework (BAF)
- [Adding a new storage class for Hyperledger Fabric](#fabric)
- [Adding a new storage class for R3-Corda](#corda)
- [Adding a new storage class for Hyperledger Indy](#indy)
- [Adding a new storage class for Quorum](#quorum)
## Adding a new storage class for Hyperledger Fabric
To add a new storageclass for Hyperledger Fabric, perform the following steps:
1. Add the new storageclass template `sample_sc.tpl`, under `platforms/hyperledger-fabric/configuration/roles/create/storageclass/templates` with `metadata.name` (storageclass name) as the variable `sc_name`. For example,
```yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: {{ sc_name }}
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
encrypted: "true"
```
2. Mention the template file, which you created above, under `platforms/hyperledger-fabric/configuration/roles/create/storageclass/vars/main.yaml` with a variable reference. For example,
```
sc_templates:
sample-sc: sample_sc.tpl
```
3. Set the `type` variable to `sample-sc` (variable created in step2) in the task `Create Storage Class value file for orderers` and `Create Storage Class value file for Organizations`, located in `platforms/hyperledger-fabric/configuration/roles/create/storageclass/tasks/main.yaml`
## Adding a new storage class for R3-Corda
To add a new storageclass for R3-Corda, perform the following steps:
1. Add the new storageclass template `sample_sc.tpl`, under `platforms/r3-corda/configuration/roles/create/k8_component/templates` with `metadata.name` (storageclass name) as the variable `component_name`. For example,
```yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: {{ component_name }}
provisioner: kubernetes.io/aws-ebs
reclaimPolicy: Delete
volumeBindingMode: Immediate
parameters:
encrypted: "true"
```
2. Mention the template file, which you created above, under `platforms/r3-corda/configuration/roles/create/k8_component/vars/main.yaml` with a variable reference. For example,
```
dlt_templates:
sample-sc: sample_sc.tpl
```
3. Set the `component_type` and `component_name` variable to `sample-sc` (variable created in step2) in the task `Create storageclass`, located in `platforms/r3-corda/configuration/roles/create/storageclass/tasks/main.yaml`
## Adding a new storage class for Hyperledger Indy
To add a new storageclass for Hyplerledger Indy, perform the following steps:
1. Add the new storageclass template `sample_sc.tpl`, under `platforms/hyperledger-indy/configuration/roles/create/k8_component/templates` with `metadata.name` (storageclass name) as the variable `component_name`. For example,
```yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: {{ component_name }}
provisioner: kubernetes.io/aws-ebs
reclaimPolicy: Delete
volumeBindingMode: Immediate
parameters:
encrypted: "true"
```
2. Mention the template file, which you created above, under `platforms/hyperledger-indy/configuration/roles/create/k8_component/vars/main.yaml` with a variable reference. For example,
```
k8_templates:
sample-sc: sample_sc.tpl
```
3. Set the `component_name` variable to `sample-sc` (variable created in step2) in the task `Create Storage Class`, located in `platforms/hyperledger-indy/configuration/deploy-network.yaml`
## Adding a new storage class for Quorum
To add a new storageclass for Quorum, perform the following steps:
1. Add the new storageclass template `sample_sc.tpl`, under `platforms/quorum/configuration/roles/create/k8_component/templates` with `metadata.name` (storageclass name) as the variable `component_name`. For example,
```yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: {{ component_name }}
provisioner: kubernetes.io/aws-ebs
reclaimPolicy: Delete
volumeBindingMode: Immediate
parameters:
encrypted: "true"
```
2. Mention the template file, which you created above, under `platforms/quorum/configuration/roles/create/k8_component/vars/main.yaml` with a variable reference. For example,
```
dlt_templates:
sample-sc: sample_sc.tpl
```
3. Set the `component_type` and `component_name` variable to `sample-sc` (variable created in step2) in the task `Create storageclass`, located in `platforms/quorum/configuration/roles/create/storageclass/tasks/main.yaml`