@@ -24,7 +24,6 @@ import (
2424)
2525
2626type AgentTOML struct {
27- LocalProjectName string `toml:"local_project_name"`
2827 ProjectSubdomain string `toml:"project_subdomain"`
2928 Name string `toml:"name"`
3029 CPU string `toml:"cpu"`
@@ -104,13 +103,14 @@ var (
104103 },
105104 {
106105 Name : "config" ,
107- Usage : fmt .Sprintf ("Creates a %s in the current directory for an existing agent." , AgentTOMLFile ),
106+ Usage : fmt .Sprintf ("Creates a %s in the working directory for an existing agent." , AgentTOMLFile ),
108107 Before : createAgentClient ,
109108 Action : createAgentConfig ,
110109 Flags : []cli.Flag {
111110 nameFlag (true ),
112111 tomlFlag ,
113112 },
113+ ArgsUsage : "[working-dir]" ,
114114 },
115115 {
116116 Name : "deploy" ,
@@ -131,6 +131,7 @@ var (
131131 nameFlag (false ),
132132 tomlFlag ,
133133 },
134+ ArgsUsage : "[working-dir]" ,
134135 },
135136 {
136137 Name : "update" ,
@@ -159,6 +160,7 @@ var (
159160 nameFlag (false ),
160161 tomlFlag ,
161162 },
163+ ArgsUsage : "[working-dir]" ,
162164 },
163165 {
164166 Name : "logs" ,
@@ -170,6 +172,7 @@ var (
170172 nameFlag (false ),
171173 tomlFlag ,
172174 },
175+ ArgsUsage : "[working-dir]" ,
173176 },
174177 {
175178 Name : "delete" ,
@@ -181,6 +184,7 @@ var (
181184 nameFlag (false ),
182185 tomlFlag ,
183186 },
187+ ArgsUsage : "[working-dir]" ,
184188 },
185189 {
186190 Name : "versions" ,
@@ -191,6 +195,7 @@ var (
191195 nameFlag (false ),
192196 tomlFlag ,
193197 },
198+ ArgsUsage : "[working-dir]" ,
194199 },
195200 {
196201 Name : "list" ,
@@ -210,6 +215,7 @@ var (
210215 nameFlag (false ),
211216 tomlFlag ,
212217 },
218+ ArgsUsage : "[working-dir]" ,
213219 },
214220 {
215221 Name : "update-secrets" ,
@@ -228,6 +234,7 @@ var (
228234 Value : false ,
229235 },
230236 },
237+ ArgsUsage : "[working-dir]" ,
231238 },
232239 },
233240 },
@@ -239,13 +246,29 @@ var (
239246
240247func createAgentClient (ctx context.Context , cmd * cli.Command ) (context.Context , error ) {
241248 var err error
249+ var agentConfig * AgentTOML
250+ if cmd .String ("toml" ) != "" {
251+ workingDir := "."
252+ if cmd .NArg () > 0 {
253+ workingDir = cmd .Args ().First ()
254+ }
255+ agentConfig , err = loadTomlFile (workingDir , cmd .String ("toml" ))
256+ if err != nil {
257+ return nil , err
258+ }
259+
260+ cmd .Set ("subdomain" , agentConfig .ProjectSubdomain )
261+ } else if cmd .String ("project" ) != "" {
262+ cmd .Set ("project" , cmd .String ("project" ))
263+ }
264+
242265 globalProjectConfig , err = loadProjectDetails (cmd )
243266 if err != nil {
244267 return nil , err
245268 }
246269
247270 agentsClient , err = lksdk .NewAgentClient (globalProjectConfig .URL , globalProjectConfig .APIKey , globalProjectConfig .APISecret )
248- return ctx , err
271+ return nil , err
249272}
250273
251274func loadTomlFile (dir string , tomlFileName string ) (* AgentTOML , error ) {
@@ -362,7 +385,6 @@ func createAgent(ctx context.Context, cmd *cli.Command) error {
362385 defer f .Close ()
363386
364387 agentConfig = & AgentTOML {
365- LocalProjectName : globalProjectConfig .Name ,
366388 ProjectSubdomain : subdomainMatches [1 ],
367389 Name : cmd .String ("name" ),
368390 CPU : clientDefaults_CPU ,
@@ -565,7 +587,6 @@ func createAgentConfig(ctx context.Context, cmd *cli.Command) error {
565587 agent := response .Agents [0 ]
566588 regionAgent := agent .AgentDeployments [0 ]
567589 agentConfig := & AgentTOML {
568- LocalProjectName : globalProjectConfig .Name ,
569590 ProjectSubdomain : matches [1 ],
570591 Name : agent .AgentName ,
571592 CPU : regionAgent .CpuReq ,
@@ -672,7 +693,11 @@ func deployAgent(ctx context.Context, cmd *cli.Command) error {
672693}
673694
674695func getAgentStatus (ctx context.Context , cmd * cli.Command ) error {
675- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
696+ workingDir := "."
697+ if cmd .NArg () > 0 {
698+ workingDir = cmd .Args ().First ()
699+ }
700+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
676701 if err != nil {
677702 return err
678703 }
@@ -766,7 +791,12 @@ func updateAgent(ctx context.Context, cmd *cli.Command) error {
766791}
767792
768793func rollbackAgent (ctx context.Context , cmd * cli.Command ) error {
769- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
794+ workingDir := "."
795+ if cmd .NArg () > 0 {
796+ workingDir = cmd .Args ().First ()
797+ }
798+
799+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
770800 if err != nil {
771801 return err
772802 }
@@ -790,7 +820,11 @@ func rollbackAgent(ctx context.Context, cmd *cli.Command) error {
790820}
791821
792822func getLogs (ctx context.Context , cmd * cli.Command ) error {
793- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
823+ workingDir := "."
824+ if cmd .NArg () > 0 {
825+ workingDir = cmd .Args ().First ()
826+ }
827+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
794828 if err != nil {
795829 return err
796830 }
@@ -799,7 +833,11 @@ func getLogs(ctx context.Context, cmd *cli.Command) error {
799833}
800834
801835func deleteAgent (ctx context.Context , cmd * cli.Command ) error {
802- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
836+ workingDir := "."
837+ if cmd .NArg () > 0 {
838+ workingDir = cmd .Args ().First ()
839+ }
840+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
803841 if err != nil {
804842 return err
805843 }
@@ -840,7 +878,11 @@ func deleteAgent(ctx context.Context, cmd *cli.Command) error {
840878}
841879
842880func listAgentVersions (ctx context.Context , cmd * cli.Command ) error {
843- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
881+ workingDir := "."
882+ if cmd .NArg () > 0 {
883+ workingDir = cmd .Args ().First ()
884+ }
885+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
844886 if err != nil {
845887 return err
846888 }
@@ -912,7 +954,11 @@ func listAgents(ctx context.Context, cmd *cli.Command) error {
912954}
913955
914956func listAgentSecrets (ctx context.Context , cmd * cli.Command ) error {
915- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
957+ workingDir := "."
958+ if cmd .NArg () > 0 {
959+ workingDir = cmd .Args ().First ()
960+ }
961+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
916962 if err != nil {
917963 return err
918964 }
@@ -938,7 +984,11 @@ func listAgentSecrets(ctx context.Context, cmd *cli.Command) error {
938984}
939985
940986func updateAgentSecrets (ctx context.Context , cmd * cli.Command ) error {
941- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
987+ workingDir := "."
988+ if cmd .NArg () > 0 {
989+ workingDir = cmd .Args ().First ()
990+ }
991+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
942992 if err != nil {
943993 return err
944994 }
0 commit comments