@@ -47,7 +47,30 @@ resource "coder_agent" "main" {
47
47
}
48
48
49
49
resource "docker_volume" "home_volume" {
50
- name = " coder-${ data . coder_workspace . me . owner } -${ lower (data. coder_workspace . me . name )} -root"
50
+ name = " coder-${ data . coder_workspace . me . id } -home"
51
+ # Protect the volume from being deleted due to changes in attributes.
52
+ lifecycle {
53
+ ignore_changes = all
54
+ }
55
+ # Add labels in Docker to keep track of orphan resources.
56
+ labels {
57
+ label = " coder.owner"
58
+ value = data. coder_workspace . me . owner
59
+ }
60
+ labels {
61
+ label = " coder.owner_id"
62
+ value = data. coder_workspace . me . owner_id
63
+ }
64
+ labels {
65
+ label = " coder.workspace_id"
66
+ value = data. coder_workspace . me . id
67
+ }
68
+ # This field becomes outdated if the workspace is renamed but can
69
+ # be useful for debugging or cleaning out dangling volumes.
70
+ labels {
71
+ label = " coder.workspace_name_at_creation"
72
+ value = data. coder_workspace . me . name
73
+ }
51
74
}
52
75
53
76
resource "docker_container" "workspace" {
@@ -69,6 +92,23 @@ resource "docker_container" "workspace" {
69
92
volume_name = docker_volume. home_volume . name
70
93
read_only = false
71
94
}
95
+ # Add labels in Docker to keep track of orphan resources.
96
+ labels {
97
+ label = " coder.owner"
98
+ value = data. coder_workspace . me . owner
99
+ }
100
+ labels {
101
+ label = " coder.owner_id"
102
+ value = data. coder_workspace . me . owner_id
103
+ }
104
+ labels {
105
+ label = " coder.workspace_id"
106
+ value = data. coder_workspace . me . id
107
+ }
108
+ labels {
109
+ label = " coder.workspace_name"
110
+ value = data. coder_workspace . me . name
111
+ }
72
112
}
73
113
74
114
resource "coder_metadata" "container_info" {
0 commit comments