@@ -62,6 +62,7 @@ import (
6262 "github.com/coder/coder/v2/buildinfo"
6363 "github.com/coder/coder/v2/cli/clibase"
6464 "github.com/coder/coder/v2/cli/cliui"
65+ "github.com/coder/coder/v2/cli/cliutil"
6566 "github.com/coder/coder/v2/cli/config"
6667 "github.com/coder/coder/v2/coderd"
6768 "github.com/coder/coder/v2/coderd/autobuild"
@@ -86,6 +87,7 @@ import (
8687 "github.com/coder/coder/v2/coderd/unhanger"
8788 "github.com/coder/coder/v2/coderd/updatecheck"
8889 "github.com/coder/coder/v2/coderd/util/slice"
90+ stringutil "github.com/coder/coder/v2/coderd/util/strings"
8991 "github.com/coder/coder/v2/coderd/workspaceapps"
9092 "github.com/coder/coder/v2/codersdk"
9193 "github.com/coder/coder/v2/cryptorand"
@@ -875,9 +877,14 @@ func (r *RootCmd) Server(newAPI func(context.Context, *coderd.Options) (*coderd.
875877 defer provisionerdWaitGroup .Wait ()
876878 provisionerdMetrics := provisionerd .NewMetrics (options .PrometheusRegistry )
877879 for i := int64 (0 ); i < vals .Provisioner .Daemons .Value (); i ++ {
880+ suffix := fmt .Sprintf ("%d" , i )
881+ // The suffix is added to the hostname, so we may need to trim to fit into
882+ // the 64 character limit.
883+ hostname := stringutil .Truncate (cliutil .Hostname (), 63 - len (suffix ))
884+ name := fmt .Sprintf ("%s-%s" , hostname , suffix )
878885 daemonCacheDir := filepath .Join (cacheDir , fmt .Sprintf ("provisioner-%d" , i ))
879886 daemon , err := newProvisionerDaemon (
880- ctx , coderAPI , provisionerdMetrics , logger , vals , daemonCacheDir , errCh , & provisionerdWaitGroup ,
887+ ctx , coderAPI , provisionerdMetrics , logger , vals , daemonCacheDir , errCh , & provisionerdWaitGroup , name ,
881888 )
882889 if err != nil {
883890 return xerrors .Errorf ("create provisioner daemon: %w" , err )
@@ -1243,6 +1250,7 @@ func newProvisionerDaemon(
12431250 cacheDir string ,
12441251 errCh chan error ,
12451252 wg * sync.WaitGroup ,
1253+ name string ,
12461254) (srv * provisionerd.Server , err error ) {
12471255 ctx , cancel := context .WithCancel (ctx )
12481256 defer func () {
@@ -1334,9 +1342,9 @@ func newProvisionerDaemon(
13341342 return provisionerd .New (func (ctx context.Context ) (proto.DRPCProvisionerDaemonClient , error ) {
13351343 // This debounces calls to listen every second. Read the comment
13361344 // in provisionerdserver.go to learn more!
1337- return coderAPI .CreateInMemoryProvisionerDaemon (ctx )
1345+ return coderAPI .CreateInMemoryProvisionerDaemon (ctx , name )
13381346 }, & provisionerd.Options {
1339- Logger : logger .Named ("provisionerd" ),
1347+ Logger : logger .Named (fmt . Sprintf ( "provisionerd-%s" , name ) ),
13401348 UpdateInterval : time .Second ,
13411349 ForceCancelInterval : cfg .Provisioner .ForceCancelInterval .Value (),
13421350 Connector : connector ,
0 commit comments