@@ -38,6 +38,10 @@ resource "kubernetes_pod" "main" {
38
38
name = " coder-${ data . coder_workspace . me . owner } -${ data . coder_workspace . me . name } "
39
39
}
40
40
spec {
41
+ security_context {
42
+ run_as_user = 1000
43
+ fs_group = 1000
44
+ }
41
45
container {
42
46
name = " go"
43
47
image = " mcr.microsoft.com/vscode/devcontainers/go:1"
@@ -49,6 +53,10 @@ resource "kubernetes_pod" "main" {
49
53
name = " CODER_TOKEN"
50
54
value = coder_agent. go . token
51
55
}
56
+ volume_mount {
57
+ mount_path = " /home/vscode"
58
+ name = " home-directory"
59
+ }
52
60
}
53
61
container {
54
62
name = " java"
@@ -61,6 +69,10 @@ resource "kubernetes_pod" "main" {
61
69
name = " CODER_TOKEN"
62
70
value = coder_agent. java . token
63
71
}
72
+ volume_mount {
73
+ mount_path = " /home/vscode"
74
+ name = " home-directory"
75
+ }
64
76
}
65
77
container {
66
78
name = " ubuntu"
@@ -73,6 +85,31 @@ resource "kubernetes_pod" "main" {
73
85
name = " CODER_TOKEN"
74
86
value = coder_agent. ubuntu . token
75
87
}
88
+ volume_mount {
89
+ mount_path = " /home/vscode"
90
+ name = " home-directory"
91
+ }
92
+ }
93
+ volume {
94
+ name = " home-directory"
95
+ persistent_volume_claim {
96
+ claim_name = kubernetes_persistent_volume_claim. home-directory . metadata . 0 . name
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ resource "kubernetes_persistent_volume_claim" "home-directory" {
103
+ metadata {
104
+ name = " coder-pvc-${ data . coder_workspace . me . owner } -${ data . coder_workspace . me . name } "
105
+ }
106
+ spec {
107
+ access_modes = [" ReadWriteOnce" ]
108
+ resources {
109
+ requests = {
110
+ # TODO: turn these into variables
111
+ storage= " 5Gi"
112
+ }
76
113
}
77
114
}
78
115
}