diff --git a/charts/apps/templates/ingresscontroller/traefik2.yaml b/charts/apps/templates/ingresscontroller/traefik2.yaml
index d4936c0c1b2575fd34e9184559ade3753ff65861..61c67479e8b7c163ddcf552c2b660749e4358480 100644
--- a/charts/apps/templates/ingresscontroller/traefik2.yaml
+++ b/charts/apps/templates/ingresscontroller/traefik2.yaml
@@ -54,6 +54,7 @@ spec:
           {{- end }}
         persistence:
           enabled: true
+          storageClass: {{ .Values.ingresscontroller.storageClass | quote}}
         deployment:
           initContainers:
           # The "volume-permissions" init container is required if you run into permission issues.
diff --git a/charts/apps/values.yaml b/charts/apps/values.yaml
index 80f099e95991ba59c799f7a5d196ffe06ffa3e87..ed3fed889dcdbb35c27ace3dee5e26edf817273b 100644
--- a/charts/apps/values.yaml
+++ b/charts/apps/values.yaml
@@ -30,6 +30,7 @@ ingresscontroller:
   #privateIP: 1.1.1.2
   #acme:
   #  email: devops.isda@lists.illinois.edu
+  storageClass: ""
   traefik1:
     version: "1.*"
   traefik2:
diff --git a/terraform/modules/argocd/argocd.tf b/terraform/modules/argocd/argocd.tf
index 7461a598ea78cc542a028620c6a8da5323cfa85a..7893b14f2686664aa34acaaaa5cb4691b2e51ca5 100644
--- a/terraform/modules/argocd/argocd.tf
+++ b/terraform/modules/argocd/argocd.tf
@@ -40,6 +40,7 @@ locals {
     floating_ip                 = var.floating_ip
     ingress_controller_enabled  = var.ingress_controller_enabled
     ingress_controller          = var.ingress_controller
+    ingress_storageclass        = var.ingress_storageclass
     traefik_dashboard           = var.traefik_dashboard
     acme_staging                = var.acme_staging
     acme_email                  = var.acme_email
diff --git a/terraform/modules/argocd/templates/argocd.yaml.tmpl b/terraform/modules/argocd/templates/argocd.yaml.tmpl
index 6f39b8b30c60fdb2b138464bea963d6df36a0dd0..4e973b8eb79db0bfa322c7b7057f43c8bc956845 100644
--- a/terraform/modules/argocd/templates/argocd.yaml.tmpl
+++ b/terraform/modules/argocd/templates/argocd.yaml.tmpl
@@ -66,6 +66,7 @@ spec:
           class: ${ingress_controller}
           publicIP: ${floating_ip[0].public_ip}
           privateIP: ${floating_ip[0].private_ip}
+          storageClass: ${ingress_storageclass}
           acme:
             staging: ${acme_staging} 
             %{~ if (acme_staging) ~}
diff --git a/terraform/modules/argocd/variables.tf b/terraform/modules/argocd/variables.tf
index 7031b77a8847ca4c73ff0091b05efb213a5f84c2..6cb420d7436e13f60f94169213c5380d360862ae 100644
--- a/terraform/modules/argocd/variables.tf
+++ b/terraform/modules/argocd/variables.tf
@@ -226,6 +226,12 @@ variable "ingress_controller" {
   }
 }
 
+variable "ingress_storageclass" {
+  type        = string
+  description = "storageclass used by ingress controller"
+  default     = ""
+}
+
 # ----------------------------------------------------------------------
 # TRAEFIK
 # ----------------------------------------------------------------------