diff --git a/inventory/sample/group_vars/all/upcloud.yml b/inventory/sample/group_vars/all/upcloud.yml
index 060f632498c9ec45e4dda19179045a1524f4d5f2..16e6e6fb262ee3b14c4630bc56b4305066a5851e 100644
--- a/inventory/sample/group_vars/all/upcloud.yml
+++ b/inventory/sample/group_vars/all/upcloud.yml
@@ -7,11 +7,13 @@
 # upcloud_csi_provisioner_image_tag: "v3.1.0"
 # upcloud_csi_attacher_image_tag: "v3.4.0"
 # upcloud_csi_resizer_image_tag: "v1.4.0"
-# upcloud_csi_plugin_image_tag: "alpha"
+# upcloud_csi_plugin_image_tag: "v0.2.1"
 # upcloud_csi_node_image_tag: "v2.5.0"
 # upcloud_tolerations: []
 ## Storage class options
 # expand_persistent_volumes: true
+# parameters:
+#   tier: maxiops # or hdd
 # storage_classes:
 #   - name: standard
 #     is_default: true
diff --git a/roles/kubernetes-apps/csi_driver/upcloud/defaults/main.yml b/roles/kubernetes-apps/csi_driver/upcloud/defaults/main.yml
index 810d00fd24043dcb1e21693fffab3ae41de0793f..01541ec1d05fbbfb354bd50544bd71cafac0d529 100644
--- a/roles/kubernetes-apps/csi_driver/upcloud/defaults/main.yml
+++ b/roles/kubernetes-apps/csi_driver/upcloud/defaults/main.yml
@@ -3,7 +3,7 @@ upcloud_csi_controller_replicas: 1
 upcloud_csi_provisioner_image_tag: "v3.1.0"
 upcloud_csi_attacher_image_tag: "v3.4.0"
 upcloud_csi_resizer_image_tag: "v1.4.0"
-upcloud_csi_plugin_image_tag: "alpha"
+upcloud_csi_plugin_image_tag: "v0.2.1"
 upcloud_csi_node_image_tag: "v2.5.0"
 upcloud_username: "{{ lookup('env','UPCLOUD_USERNAME')  }}"
 upcloud_password: "{{ lookup('env','UPCLOUD_PASSWORD')  }}"
diff --git a/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-controller.yml.j2 b/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-controller.yml.j2
index 71228aabffdc97812c30c1986476fed971a12a88..5bf676ede34a537d004e091dc75f6f4268464428 100644
--- a/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-controller.yml.j2
+++ b/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-controller.yml.j2
@@ -65,7 +65,6 @@ spec:
             - "--nodehost=$(NODE_ID)"
             - "--username=$(UPCLOUD_USERNAME)"
             - "--password=$(UPCLOUD_PASSWORD)"
-            - "--url=$(UPCLOUD_API_URL)"
           env:
             - name: CSI_ENDPOINT
               value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
diff --git a/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-driver.yml.j2 b/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-driver.yml.j2
index b5c45532489f7dbbd0df2b8acc9d4a0ee3a76ce5..363394a21945fd7a5d0e0508b344b170bd01ef75 100644
--- a/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-driver.yml.j2
+++ b/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-driver.yml.j2
@@ -4,4 +4,5 @@ metadata:
   name: storage.csi.upcloud.com
 spec:
   attachRequired: true
-  podInfoOnMount: true
\ No newline at end of file
+  podInfoOnMount: true
+  fsGroupPolicy: File
\ No newline at end of file
diff --git a/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-node.yml.j2 b/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-node.yml.j2
index 6961b8ff13c5469d641170610744f2870c58aea1..0b7b1c9dccbfac884e9f54f324ba8893fa6ddab0 100644
--- a/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-node.yml.j2
+++ b/roles/kubernetes-apps/csi_driver/upcloud/templates/upcloud-csi-node.yml.j2
@@ -47,13 +47,12 @@ spec:
             - name: registration-dir
               mountPath: /registration/
         - name: csi-upcloud-plugin
-          image: ghcr.io/upcloudltd/upcloud-csi:alpha
+          image: ghcr.io/upcloudltd/upcloud-csi:{{ upcloud_csi_plugin_image_tag }}
           args:
             - "--endpoint=$(CSI_ENDPOINT)"
             - "--nodehost=$(NODE_ID)"
             - "--username=$(UPCLOUD_USERNAME)"
             - "--password=$(UPCLOUD_PASSWORD)"
-            - "--url=$(UPCLOUD_API_URL)"
           env:
             - name: CSI_ENDPOINT
               value: unix:///csi/csi.sock
diff --git a/roles/kubernetes-apps/persistent_volumes/upcloud-csi/defaults/main.yml b/roles/kubernetes-apps/persistent_volumes/upcloud-csi/defaults/main.yml
index 2e4726c1fc11d37bd8f09b62cce17bacc2cd5294..7ca901ee18b0e6663cc27d15c0ba871dc7e94d21 100644
--- a/roles/kubernetes-apps/persistent_volumes/upcloud-csi/defaults/main.yml
+++ b/roles/kubernetes-apps/persistent_volumes/upcloud-csi/defaults/main.yml
@@ -1,5 +1,7 @@
 ---
 expand_persistent_volumes: true
+parameters:
+  tier: maxiops
 storage_classes:
   - name: standard
     is_default: true
diff --git a/roles/kubernetes-apps/persistent_volumes/upcloud-csi/templates/upcloud-csi-storage-class.yml.j2 b/roles/kubernetes-apps/persistent_volumes/upcloud-csi/templates/upcloud-csi-storage-class.yml.j2
index fe66801fa5c858ced633408a9be0fa4196e4c50e..058531a30045187b677506355bc197f8806b6fd0 100644
--- a/roles/kubernetes-apps/persistent_volumes/upcloud-csi/templates/upcloud-csi-storage-class.yml.j2
+++ b/roles/kubernetes-apps/persistent_volumes/upcloud-csi/templates/upcloud-csi-storage-class.yml.j2
@@ -7,5 +7,9 @@ metadata:
   annotations:
     storageclass.kubernetes.io/is-default-class: "{{ class.is_default | default(false) | ternary("true","false") }}"
 provisioner: storage.csi.upcloud.com
+parameters:
+{% for key, value in (class.parameters | default({})).items() %}
+  "{{ key }}": "{{ value }}"
+{% endfor %}
 allowVolumeExpansion: {{ expand_persistent_volumes }}
 {% endfor %}