@@ -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" ,
@@ -199,6 +204,11 @@ var (
199204 Before : createAgentClient ,
200205 Flags : []cli.Flag {
201206 nameSliceFlag ,
207+ & cli.StringFlag {
208+ Name : "project" ,
209+ Usage : "Project to list agents for" ,
210+ Required : false ,
211+ },
202212 },
203213 },
204214 {
@@ -210,6 +220,7 @@ var (
210220 nameFlag (false ),
211221 tomlFlag ,
212222 },
223+ ArgsUsage : "[working-dir]" ,
213224 },
214225 {
215226 Name : "update-secrets" ,
@@ -228,6 +239,7 @@ var (
228239 Value : false ,
229240 },
230241 },
242+ ArgsUsage : "[working-dir]" ,
231243 },
232244 },
233245 },
@@ -239,13 +251,29 @@ var (
239251
240252func createAgentClient (ctx context.Context , cmd * cli.Command ) (context.Context , error ) {
241253 var err error
254+ var agentConfig * AgentTOML
255+ if cmd .String ("toml" ) != "" {
256+ workingDir := "."
257+ if cmd .NArg () > 0 {
258+ workingDir = cmd .Args ().First ()
259+ }
260+ agentConfig , err = loadTomlFile (workingDir , cmd .String ("toml" ))
261+ if err != nil {
262+ return nil , err
263+ }
264+
265+ cmd .Set ("subdomain" , agentConfig .ProjectSubdomain )
266+ } else if cmd .String ("project" ) != "" {
267+ cmd .Set ("project" , cmd .String ("project" ))
268+ }
269+
242270 globalProjectConfig , err = loadProjectDetails (cmd )
243271 if err != nil {
244272 return nil , err
245273 }
246274
247275 agentsClient , err = lksdk .NewAgentClient (globalProjectConfig .URL , globalProjectConfig .APIKey , globalProjectConfig .APISecret )
248- return ctx , err
276+ return nil , err
249277}
250278
251279func loadTomlFile (dir string , tomlFileName string ) (* AgentTOML , error ) {
@@ -362,7 +390,6 @@ func createAgent(ctx context.Context, cmd *cli.Command) error {
362390 defer f .Close ()
363391
364392 agentConfig = & AgentTOML {
365- LocalProjectName : globalProjectConfig .Name ,
366393 ProjectSubdomain : subdomainMatches [1 ],
367394 Name : cmd .String ("name" ),
368395 CPU : clientDefaults_CPU ,
@@ -565,7 +592,6 @@ func createAgentConfig(ctx context.Context, cmd *cli.Command) error {
565592 agent := response .Agents [0 ]
566593 regionAgent := agent .AgentDeployments [0 ]
567594 agentConfig := & AgentTOML {
568- LocalProjectName : globalProjectConfig .Name ,
569595 ProjectSubdomain : matches [1 ],
570596 Name : agent .AgentName ,
571597 CPU : regionAgent .CpuReq ,
@@ -672,7 +698,11 @@ func deployAgent(ctx context.Context, cmd *cli.Command) error {
672698}
673699
674700func getAgentStatus (ctx context.Context , cmd * cli.Command ) error {
675- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
701+ workingDir := "."
702+ if cmd .NArg () > 0 {
703+ workingDir = cmd .Args ().First ()
704+ }
705+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
676706 if err != nil {
677707 return err
678708 }
@@ -766,7 +796,12 @@ func updateAgent(ctx context.Context, cmd *cli.Command) error {
766796}
767797
768798func rollbackAgent (ctx context.Context , cmd * cli.Command ) error {
769- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
799+ workingDir := "."
800+ if cmd .NArg () > 0 {
801+ workingDir = cmd .Args ().First ()
802+ }
803+
804+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
770805 if err != nil {
771806 return err
772807 }
@@ -790,7 +825,11 @@ func rollbackAgent(ctx context.Context, cmd *cli.Command) error {
790825}
791826
792827func getLogs (ctx context.Context , cmd * cli.Command ) error {
793- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
828+ workingDir := "."
829+ if cmd .NArg () > 0 {
830+ workingDir = cmd .Args ().First ()
831+ }
832+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
794833 if err != nil {
795834 return err
796835 }
@@ -799,7 +838,11 @@ func getLogs(ctx context.Context, cmd *cli.Command) error {
799838}
800839
801840func deleteAgent (ctx context.Context , cmd * cli.Command ) error {
802- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
841+ workingDir := "."
842+ if cmd .NArg () > 0 {
843+ workingDir = cmd .Args ().First ()
844+ }
845+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
803846 if err != nil {
804847 return err
805848 }
@@ -840,7 +883,11 @@ func deleteAgent(ctx context.Context, cmd *cli.Command) error {
840883}
841884
842885func listAgentVersions (ctx context.Context , cmd * cli.Command ) error {
843- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
886+ workingDir := "."
887+ if cmd .NArg () > 0 {
888+ workingDir = cmd .Args ().First ()
889+ }
890+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
844891 if err != nil {
845892 return err
846893 }
@@ -912,7 +959,11 @@ func listAgents(ctx context.Context, cmd *cli.Command) error {
912959}
913960
914961func listAgentSecrets (ctx context.Context , cmd * cli.Command ) error {
915- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
962+ workingDir := "."
963+ if cmd .NArg () > 0 {
964+ workingDir = cmd .Args ().First ()
965+ }
966+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
916967 if err != nil {
917968 return err
918969 }
@@ -938,7 +989,11 @@ func listAgentSecrets(ctx context.Context, cmd *cli.Command) error {
938989}
939990
940991func updateAgentSecrets (ctx context.Context , cmd * cli.Command ) error {
941- agentName , err := getAgentName (cmd , "." , cmd .String ("toml" ))
992+ workingDir := "."
993+ if cmd .NArg () > 0 {
994+ workingDir = cmd .Args ().First ()
995+ }
996+ agentName , err := getAgentName (cmd , workingDir , cmd .String ("toml" ))
942997 if err != nil {
943998 return err
944999 }
0 commit comments