fix(cli): correctly use cache dir for provisionerd work dir (#7651)

This commit is contained in:
Colin Adler
2023-05-23 13:37:27 -04:00
committed by GitHub
parent ba02dc8f3a
commit c8ea76c7fa

View File

@ -1183,6 +1183,12 @@ func newProvisionerDaemon(
return nil, xerrors.Errorf("mkdir %q: %w", cacheDir, err) return nil, xerrors.Errorf("mkdir %q: %w", cacheDir, err)
} }
tfDir := filepath.Join(cacheDir, "terraform")
err = os.MkdirAll(tfDir, 0o700)
if err != nil {
return nil, xerrors.Errorf("mkdir terraform dir: %w", err)
}
tracer := coderAPI.TracerProvider.Tracer(tracing.TracerName) tracer := coderAPI.TracerProvider.Tracer(tracing.TracerName)
terraformClient, terraformServer := provisionersdk.MemTransportPipe() terraformClient, terraformServer := provisionersdk.MemTransportPipe()
wg.Add(1) wg.Add(1)
@ -1201,7 +1207,7 @@ func newProvisionerDaemon(
ServeOptions: &provisionersdk.ServeOptions{ ServeOptions: &provisionersdk.ServeOptions{
Listener: terraformServer, Listener: terraformServer,
}, },
CachePath: cacheDir, CachePath: tfDir,
Logger: logger, Logger: logger,
Tracer: tracer, Tracer: tracer,
}) })
@ -1213,9 +1219,10 @@ func newProvisionerDaemon(
} }
}() }()
tempDir, err := os.MkdirTemp("", "provisionerd") workDir := filepath.Join(cacheDir, "work")
err = os.MkdirAll(workDir, 0o700)
if err != nil { if err != nil {
return nil, err return nil, xerrors.Errorf("mkdir work dir: %w", err)
} }
provisioners := provisionerd.Provisioners{ provisioners := provisionerd.Provisioners{
@ -1259,7 +1266,7 @@ func newProvisionerDaemon(
UpdateInterval: time.Second, UpdateInterval: time.Second,
ForceCancelInterval: cfg.Provisioner.ForceCancelInterval.Value(), ForceCancelInterval: cfg.Provisioner.ForceCancelInterval.Value(),
Provisioners: provisioners, Provisioners: provisioners,
WorkDirectory: tempDir, WorkDirectory: workDir,
TracerProvider: coderAPI.TracerProvider, TracerProvider: coderAPI.TracerProvider,
Metrics: &metrics, Metrics: &metrics,
}), nil }), nil