Skip to content

Commit 1c75618

Browse files
spikecurtispull[bot]
authored andcommitted
feat: add support for networked provisioners (#9593)
* Refactor provisionerd to use interface to connect to provisioners Signed-off-by: Spike Curtis <spike@coder.com> * feat: add support for networked provisioners Signed-off-by: Spike Curtis <spike@coder.com> * fix token length and linting Signed-off-by: Spike Curtis <spike@coder.com> --------- Signed-off-by: Spike Curtis <spike@coder.com>
1 parent a43b425 commit 1c75618

File tree

11 files changed

+994
-45
lines changed

11 files changed

+994
-45
lines changed

cli/server.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,7 +1309,7 @@ func newProvisionerDaemon(
13091309
return nil, xerrors.Errorf("mkdir work dir: %w", err)
13101310
}
13111311

1312-
provisioners := provisionerd.Provisioners{}
1312+
connector := provisionerd.LocalProvisioners{}
13131313
if cfg.Provisioner.DaemonsEcho {
13141314
echoClient, echoServer := provisionersdk.MemTransportPipe()
13151315
wg.Add(1)
@@ -1336,7 +1336,7 @@ func newProvisionerDaemon(
13361336
}
13371337
}
13381338
}()
1339-
provisioners[string(database.ProvisionerTypeEcho)] = sdkproto.NewDRPCProvisionerClient(echoClient)
1339+
connector[string(database.ProvisionerTypeEcho)] = sdkproto.NewDRPCProvisionerClient(echoClient)
13401340
} else {
13411341
tfDir := filepath.Join(cacheDir, "tf")
13421342
err = os.MkdirAll(tfDir, 0o700)
@@ -1375,7 +1375,7 @@ func newProvisionerDaemon(
13751375
}
13761376
}()
13771377

1378-
provisioners[string(database.ProvisionerTypeTerraform)] = sdkproto.NewDRPCProvisionerClient(terraformClient)
1378+
connector[string(database.ProvisionerTypeTerraform)] = sdkproto.NewDRPCProvisionerClient(terraformClient)
13791379
}
13801380

13811381
debounce := time.Second
@@ -1390,7 +1390,7 @@ func newProvisionerDaemon(
13901390
JobPollDebounce: debounce,
13911391
UpdateInterval: time.Second,
13921392
ForceCancelInterval: cfg.Provisioner.ForceCancelInterval.Value(),
1393-
Provisioners: provisioners,
1393+
Connector: connector,
13941394
TracerProvider: coderAPI.TracerProvider,
13951395
Metrics: &metrics,
13961396
}), nil

coderd/coderdtest/coderdtest.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ func NewProvisionerDaemon(t testing.TB, coderAPI *coderd.API) io.Closer {
484484
JobPollInterval: 50 * time.Millisecond,
485485
UpdateInterval: 250 * time.Millisecond,
486486
ForceCancelInterval: time.Second,
487-
Provisioners: provisionerd.Provisioners{
487+
Connector: provisionerd.LocalProvisioners{
488488
string(database.ProvisionerTypeEcho): sdkproto.NewDRPCProvisionerClient(echoClient),
489489
},
490490
})
@@ -524,7 +524,7 @@ func NewExternalProvisionerDaemon(t *testing.T, client *codersdk.Client, org uui
524524
JobPollInterval: 50 * time.Millisecond,
525525
UpdateInterval: 250 * time.Millisecond,
526526
ForceCancelInterval: time.Second,
527-
Provisioners: provisionerd.Provisioners{
527+
Connector: provisionerd.LocalProvisioners{
528528
string(database.ProvisionerTypeEcho): sdkproto.NewDRPCProvisionerClient(echoClient),
529529
},
530530
})

enterprise/cli/provisionerdaemons.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ func (r *RootCmd) provisionerDaemonStart() *clibase.Cmd {
124124

125125
logger.Info(ctx, "starting provisioner daemon", slog.F("tags", tags))
126126

127-
provisioners := provisionerd.Provisioners{
127+
connector := provisionerd.LocalProvisioners{
128128
string(database.ProvisionerTypeTerraform): proto.NewDRPCProvisionerClient(terraformClient),
129129
}
130130
srv := provisionerd.New(func(ctx context.Context) (provisionerdproto.DRPCProvisionerDaemonClient, error) {
@@ -140,7 +140,7 @@ func (r *RootCmd) provisionerDaemonStart() *clibase.Cmd {
140140
JobPollInterval: pollInterval,
141141
JobPollJitter: pollJitter,
142142
UpdateInterval: 500 * time.Millisecond,
143-
Provisioners: provisioners,
143+
Connector: connector,
144144
})
145145

146146
var exitErr error

enterprise/coderd/provisionerdaemons_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
253253
errCh <- err
254254
}()
255255

256-
provisioners := provisionerd.Provisioners{
256+
connector := provisionerd.LocalProvisioners{
257257
string(database.ProvisionerTypeEcho): proto.NewDRPCProvisionerClient(terraformClient),
258258
}
259259
another := codersdk.New(client.URL)
@@ -269,8 +269,8 @@ func TestProvisionerDaemonServe(t *testing.T) {
269269
PreSharedKey: "provisionersftw",
270270
})
271271
}, &provisionerd.Options{
272-
Logger: logger.Named("provisionerd"),
273-
Provisioners: provisioners,
272+
Logger: logger.Named("provisionerd"),
273+
Connector: connector,
274274
})
275275
defer pd.Close()
276276

0 commit comments

Comments
 (0)