fix: Panic if Terraform fails installation (#1056)

This commit is contained in:
Kyle Carberry
2022-04-18 15:11:59 -05:00
committed by GitHub
parent 866205c145
commit 6d948ffba2
+4 -4
View File
@@ -202,9 +202,10 @@ func start() *cobra.Command {
}
}
errCh := make(chan error, 1)
provisionerDaemons := make([]*provisionerd.Server, 0)
for i := 0; uint8(i) < provisionerDaemonCount; i++ {
daemonClose, err := newProvisionerDaemon(cmd.Context(), client, logger, cacheDir)
daemonClose, err := newProvisionerDaemon(cmd.Context(), client, logger, cacheDir, errCh)
if err != nil {
return xerrors.Errorf("create provisioner daemon: %w", err)
}
@@ -216,7 +217,6 @@ func start() *cobra.Command {
}
}()
errCh := make(chan error, 1)
shutdownConnsCtx, shutdownConns := context.WithCancel(cmd.Context())
defer shutdownConns()
go func() {
@@ -413,7 +413,7 @@ func createFirstUser(cmd *cobra.Command, client *codersdk.Client, cfg config.Roo
return nil
}
func newProvisionerDaemon(ctx context.Context, client *codersdk.Client, logger slog.Logger, cacheDir string) (*provisionerd.Server, error) {
func newProvisionerDaemon(ctx context.Context, client *codersdk.Client, logger slog.Logger, cacheDir string, errChan chan error) (*provisionerd.Server, error) {
err := os.MkdirAll(cacheDir, 0700)
if err != nil {
return nil, xerrors.Errorf("mkdir %q: %w", cacheDir, err)
@@ -429,7 +429,7 @@ func newProvisionerDaemon(ctx context.Context, client *codersdk.Client, logger s
Logger: logger,
})
if err != nil {
panic(err)
errChan <- err
}
}()