summaryrefslogtreecommitdiff
path: root/volume.tf
blob: 909f84135990056766ee4f90bd876c6067ba8ed0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
resource "kubernetes_persistent_volume_v1" "this" {
  metadata {
    name = var.name
  }

  spec {
    storage_class_name = var.class
    access_modes       = var.modes

    capacity = {
      storage = var.size
    }

    persistent_volume_reclaim_policy = "Retain"

    mount_options = concat(var.mount_options, [
      "cache=strict",
      "dir_mode=${var.dir_mode}",
      "file_mode=${var.file_mode}",
      "gid=${var.gid != null ? var.gid : var.uid}",
      "mfsymlinks",
      "noperm",
      "noserverino",
      "uid=${var.uid}",
    ])

    persistent_volume_source {
      csi {
        driver        = var.driver
        volume_handle = "${var.server}/${var.share}##"
        volume_attributes = {
          source = "//${var.server}/${var.share}"
        }

        node_stage_secret_ref {
          name      = var.credentials.secret
          namespace = try(var.credentials.namespace, "default")
        }
      }
    }
  }
}