8282 Hidden : true ,
8383 }
8484
85+ dockerFileFlag = & cli.StringFlag {
86+ Name : "dockerfile" ,
87+ Usage : "Path to the Dockerfile to use for the agent. If unset, will use the Dockerfile in the working directory." ,
88+ Required : false ,
89+ Aliases : []string {"f" },
90+ }
91+
8592 AgentCommands = []* cli.Command {
8693 {
8794 Name : "agent" ,
98105 secretsFileFlag ,
99106 silentFlag ,
100107 regionFlag ,
108+ dockerFileFlag ,
101109 },
102110 ArgsUsage : "[working-dir]" ,
103111 },
@@ -119,6 +127,7 @@ var (
119127 Flags : []cli.Flag {
120128 secretsFlag ,
121129 secretsFileFlag ,
130+ dockerFileFlag ,
122131 },
123132 ArgsUsage : "[working-dir]" ,
124133 },
@@ -357,8 +366,11 @@ func createAgent(ctx context.Context, cmd *cli.Command) error {
357366 return err
358367 }
359368
360- if err := requireDockerfile (ctx , cmd , workingDir , settingsMap ); err != nil {
361- return err
369+ dockerfile := cmd .String ("dockerfile" )
370+ if dockerfile == "" {
371+ if err := requireDockerfile (ctx , cmd , workingDir , settingsMap ); err != nil {
372+ return err
373+ }
362374 }
363375
364376 if err := agentfs .CheckSDKVersion (workingDir , settingsMap ); err != nil {
@@ -381,6 +393,7 @@ func createAgent(ctx context.Context, cmd *cli.Command) error {
381393 }
382394
383395 lkConfig .Agent .ID = resp .AgentId
396+ lkConfig .Agent .Dockerfile = dockerfile
384397 if err := lkConfig .SaveTOMLFile (workingDir , tomlFilename ); err != nil {
385398 return err
386399 }
@@ -391,7 +404,7 @@ func createAgent(ctx context.Context, cmd *cli.Command) error {
391404 }
392405
393406 fmt .Printf ("Created agent with ID [%s]\n " , util .Accented (resp .AgentId ))
394- err = agentfs .Build (ctx , resp .AgentId , project )
407+ err = agentfs .Build (ctx , resp .AgentId , project , dockerfile )
395408 if err != nil {
396409 return err
397410 }
@@ -499,6 +512,8 @@ func deployAgent(ctx context.Context, cmd *cli.Command) error {
499512 return err
500513 }
501514
515+ dockerfile := cmd .String ("dockerfile" )
516+
502517 req = & lkproto.DeployAgentRequest {
503518 AgentId : agentId ,
504519 }
@@ -532,7 +547,7 @@ func deployAgent(ctx context.Context, cmd *cli.Command) error {
532547 }
533548
534549 fmt .Printf ("Updated agent [%s]\n " , util .Accented (resp .AgentId ))
535- err = agentfs .Build (ctx , resp .AgentId , project )
550+ err = agentfs .Build (ctx , resp .AgentId , project , dockerfile )
536551 if err != nil {
537552 return err
538553 }
0 commit comments