@@ -200,9 +200,10 @@ func start() *cobra.Command {
200
200
}
201
201
}
202
202
203
+ errCh := make (chan error , 1 )
203
204
provisionerDaemons := make ([]* provisionerd.Server , 0 )
204
205
for i := 0 ; uint8 (i ) < provisionerDaemonCount ; i ++ {
205
- daemonClose , err := newProvisionerDaemon (cmd .Context (), client , logger , cacheDir )
206
+ daemonClose , err := newProvisionerDaemon (cmd .Context (), client , logger , cacheDir , errCh )
206
207
if err != nil {
207
208
return xerrors .Errorf ("create provisioner daemon: %w" , err )
208
209
}
@@ -214,7 +215,6 @@ func start() *cobra.Command {
214
215
}
215
216
}()
216
217
217
- errCh := make (chan error , 1 )
218
218
shutdownConnsCtx , shutdownConns := context .WithCancel (cmd .Context ())
219
219
defer shutdownConns ()
220
220
go func () {
@@ -411,7 +411,7 @@ func createFirstUser(cmd *cobra.Command, client *codersdk.Client, cfg config.Roo
411
411
return nil
412
412
}
413
413
414
- func newProvisionerDaemon (ctx context.Context , client * codersdk.Client , logger slog.Logger , cacheDir string ) (* provisionerd.Server , error ) {
414
+ func newProvisionerDaemon (ctx context.Context , client * codersdk.Client , logger slog.Logger , cacheDir string , errChan chan error ) (* provisionerd.Server , error ) {
415
415
err := os .MkdirAll (cacheDir , 0700 )
416
416
if err != nil {
417
417
return nil , xerrors .Errorf ("mkdir %q: %w" , cacheDir , err )
@@ -427,7 +427,7 @@ func newProvisionerDaemon(ctx context.Context, client *codersdk.Client, logger s
427
427
Logger : logger ,
428
428
})
429
429
if err != nil {
430
- panic ( err )
430
+ errChan <- err
431
431
}
432
432
}()
433
433
0 commit comments