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