@@ -704,8 +704,10 @@ func updateAgent(ctx context.Context, cmd *cli.Command) error {
704704 }
705705
706706 var resp * lkproto.UpdateAgentResponse
707- util .Await ("Updating agent [" + util .Accented (lkConfig .Agent .ID )+ "]" , func () {
708- resp , err = agentsClient .UpdateAgent (ctx , req )
707+ err = util .Await ("Updating agent [" + util .Accented (lkConfig .Agent .ID )+ "]" , ctx , func (ctx context.Context ) error {
708+ var clientErr error
709+ resp , clientErr = agentsClient .UpdateAgent (ctx , req )
710+ return clientErr
709711 })
710712 if err != nil {
711713 if twerr , ok := err .(twirp.Error ); ok {
@@ -732,11 +734,13 @@ func rollbackAgent(ctx context.Context, cmd *cli.Command) error {
732734 }
733735
734736 var resp * lkproto.RollbackAgentResponse
735- util .Await ("Rolling back agent [" + util .Accented (agentID )+ "]" , func () {
736- resp , err = agentsClient .RollbackAgent (ctx , & lkproto.RollbackAgentRequest {
737+ err = util .Await ("Rolling back agent [" + util .Accented (agentID )+ "]" , ctx , func (ctx context.Context ) error {
738+ var clientErr error
739+ resp , clientErr = agentsClient .RollbackAgent (ctx , & lkproto.RollbackAgentRequest {
737740 AgentId : agentID ,
738741 Version : cmd .String ("version" ),
739742 })
743+ return clientErr
740744 })
741745
742746 if err != nil {
@@ -790,25 +794,25 @@ func deleteAgent(ctx context.Context, cmd *cli.Command) error {
790794 }
791795
792796 var res * lkproto.DeleteAgentResponse
793- var agentErr error
794- if err := util .Await (
797+ err = util .Await (
795798 "Deleting agent [" + util .Accented (agentID )+ "]" ,
796- func () {
797- res , agentErr = agentsClient .DeleteAgent (ctx , & lkproto.DeleteAgentRequest {
799+ ctx ,
800+ func (ctx context.Context ) error {
801+ var clientErr error
802+ res , clientErr = agentsClient .DeleteAgent (ctx , & lkproto.DeleteAgentRequest {
798803 AgentId : agentID ,
799804 })
805+ return clientErr
800806 },
801- ); err != nil {
802- return err
803- }
807+ )
804808
805- if agentErr != nil {
806- if twerr , ok := agentErr .(twirp.Error ); ok {
809+ if err != nil {
810+ if twerr , ok := err .(twirp.Error ); ok {
807811 if twerr .Code () == twirp .PermissionDenied {
808812 return fmt .Errorf ("agent hosting is disabled for this project -- join the beta program here [%s]" , cloudAgentsBetaSignupURL )
809813 }
810814 }
811- return agentErr
815+ return err
812816 }
813817
814818 if ! res .Success {
@@ -1026,10 +1030,11 @@ func getAgentID(ctx context.Context, cmd *cli.Command, agentDir string, tomlFile
10261030
10271031func selectAgent (ctx context.Context , _ * cli.Command , excludeEmptyVersion bool ) (string , error ) {
10281032 var agents * lkproto.ListAgentsResponse
1029- var err error
10301033
1031- util .Await ("No agent ID provided, selecting from available agents..." , func () {
1032- agents , err = agentsClient .ListAgents (ctx , & lkproto.ListAgentsRequest {})
1034+ err := util .Await ("No agent ID provided, selecting from available agents..." , ctx , func (ctx context.Context ) error {
1035+ var clientErr error
1036+ agents , clientErr = agentsClient .ListAgents (ctx , & lkproto.ListAgentsRequest {})
1037+ return clientErr
10331038 })
10341039 if err != nil {
10351040 if twerr , ok := err .(twirp.Error ); ok {
@@ -1127,26 +1132,24 @@ func requireSecrets(_ context.Context, cmd *cli.Command, required, lazy bool) ([
11271132 return secretsSlice , nil
11281133}
11291134
1130- func requireDockerfile (_ context.Context , cmd * cli.Command , workingDir string , projectType agentfs.ProjectType , settingsMap map [string ]string ) error {
1135+ func requireDockerfile (ctx context.Context , cmd * cli.Command , workingDir string , projectType agentfs.ProjectType , settingsMap map [string ]string ) error {
11311136 dockerfileExists , err := agentfs .HasDockerfile (workingDir )
11321137 if err != nil {
11331138 return err
11341139 }
11351140
11361141 if ! dockerfileExists {
11371142 if ! cmd .Bool ("silent" ) {
1138- var innerErr error
1139- if err := util .Await (
1143+ err := util .Await (
11401144 "Creating Dockerfile..." ,
1141- func () {
1142- innerErr = agentfs .CreateDockerfile (workingDir , projectType , settingsMap )
1145+ ctx ,
1146+ func (ctx context.Context ) error {
1147+ return agentfs .CreateDockerfile (workingDir , projectType , settingsMap )
11431148 },
1144- ); err != nil {
1149+ )
1150+ if err != nil {
11451151 return err
11461152 }
1147- if innerErr != nil {
1148- return innerErr
1149- }
11501153 fmt .Println ("Created [" + util .Accented ("Dockerfile" ) + "]" )
11511154 } else {
11521155 if err := agentfs .CreateDockerfile (workingDir , projectType , settingsMap ); err != nil {
@@ -1169,8 +1172,10 @@ func getClientSettings(ctx context.Context, silent bool) (map[string]string, err
11691172 if ! silent {
11701173 err = util .Await (
11711174 "Loading client settings..." ,
1172- func () {
1175+ ctx ,
1176+ func (ctx context.Context ) error {
11731177 clientSettingsResponse , err = agentsClient .GetClientSettings (ctx , & lkproto.ClientSettingsRequest {})
1178+ return err
11741179 },
11751180 )
11761181 } else {
@@ -1186,6 +1191,10 @@ func getClientSettings(ctx context.Context, silent bool) (map[string]string, err
11861191 return nil , err
11871192 }
11881193
1194+ if clientSettingsResponse == nil {
1195+ return nil , fmt .Errorf ("unable to contact server; please try again later" )
1196+ }
1197+
11891198 settingsMap := make (map [string ]string )
11901199 for _ , setting := range clientSettingsResponse .Params {
11911200 settingsMap [setting .Name ] = setting .Value
0 commit comments