@@ -103,54 +103,56 @@ type sshWorkspaceConfig struct {
103
103
Hosts []string
104
104
}
105
105
106
- func sshPrepareWorkspaceConfigs (ctx context.Context , client * codersdk.Client ) (receive func () ([]sshWorkspaceConfig , error )) {
107
- wcC := make (chan []sshWorkspaceConfig , 1 )
108
- errC := make (chan error , 1 )
109
- go func () {
110
- wc , err := func () ([]sshWorkspaceConfig , error ) {
111
- workspaces , err := client .Workspaces (ctx , codersdk.WorkspaceFilter {
112
- Owner : codersdk .Me ,
113
- })
106
+ func fetchWorkspaceConfigs (ctx context.Context , client * codersdk.Client ) ([]sshWorkspaceConfig , error ) {
107
+ workspaces , err := client .Workspaces (ctx , codersdk.WorkspaceFilter {
108
+ Owner : codersdk .Me ,
109
+ })
110
+ if err != nil {
111
+ return nil , err
112
+ }
113
+
114
+ var errGroup errgroup.Group
115
+ workspaceConfigs := make ([]sshWorkspaceConfig , len (workspaces ))
116
+ for i , workspace := range workspaces {
117
+ i := i
118
+ workspace := workspace
119
+ errGroup .Go (func () error {
120
+ resources , err := client .TemplateVersionResources (ctx , workspace .LatestBuild .TemplateVersionID )
114
121
if err != nil {
115
- return nil , err
122
+ return err
116
123
}
117
124
118
- var errGroup errgroup. Group
119
- workspaceConfigs := make ([] sshWorkspaceConfig , len ( workspaces ))
120
- for i , workspace := range workspaces {
121
- i := i
122
- workspace := workspace
123
- errGroup . Go ( func () error {
124
- resources , err := client . TemplateVersionResources ( ctx , workspace .LatestBuild . TemplateVersionID )
125
- if err != nil {
126
- return err
125
+ wc := sshWorkspaceConfig { Name : workspace . Name }
126
+ for _ , resource := range resources {
127
+ if resource . Transition != codersdk . WorkspaceTransitionStart {
128
+ continue
129
+ }
130
+ for _ , agent := range resource . Agents {
131
+ hostname := workspace .Name
132
+ if len ( resource . Agents ) > 1 {
133
+ hostname += "." + agent . Name
127
134
}
135
+ wc .Hosts = append (wc .Hosts , hostname )
136
+ }
137
+ }
138
+ workspaceConfigs [i ] = wc
128
139
129
- wc := sshWorkspaceConfig {Name : workspace .Name }
130
- for _ , resource := range resources {
131
- if resource .Transition != codersdk .WorkspaceTransitionStart {
132
- continue
133
- }
134
- for _ , agent := range resource .Agents {
135
- hostname := workspace .Name
136
- if len (resource .Agents ) > 1 {
137
- hostname += "." + agent .Name
138
- }
139
- wc .Hosts = append (wc .Hosts , hostname )
140
- }
141
- }
142
- workspaceConfigs [i ] = wc
140
+ return nil
141
+ })
142
+ }
143
+ err = errGroup .Wait ()
144
+ if err != nil {
145
+ return nil , err
146
+ }
143
147
144
- return nil
145
- })
146
- }
147
- err = errGroup .Wait ()
148
- if err != nil {
149
- return nil , err
150
- }
148
+ return workspaceConfigs , nil
149
+ }
151
150
152
- return workspaceConfigs , nil
153
- }()
151
+ func sshPrepareWorkspaceConfigs (ctx context.Context , client * codersdk.Client ) (receive func () ([]sshWorkspaceConfig , error )) {
152
+ wcC := make (chan []sshWorkspaceConfig , 1 )
153
+ errC := make (chan error , 1 )
154
+ go func () {
155
+ wc , err := fetchWorkspaceConfigs (ctx , client )
154
156
wcC <- wc
155
157
errC <- err
156
158
}()
0 commit comments