summaryrefslogtreecommitdiff
path: root/internal/clients/baseclient.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2021-09-18 19:27:50 +0300
committerPaul Buetow <paul@buetow.org>2021-10-02 12:26:29 +0300
commitabeac87aec44249bf67f1b0eca471a31086265ca (patch)
treee4b054f009e8c572da9463ddfcbc7fddb45d22c5 /internal/clients/baseclient.go
parent69b88a1cae0a61bd22530c384f40166b37b9f1ea (diff)
fix auto reconnect
Diffstat (limited to 'internal/clients/baseclient.go')
-rw-r--r--internal/clients/baseclient.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/internal/clients/baseclient.go b/internal/clients/baseclient.go
index d0631fc..5523052 100644
--- a/internal/clients/baseclient.go
+++ b/internal/clients/baseclient.go
@@ -113,12 +113,17 @@ func (c *baseClient) start(ctx context.Context, active chan struct{}, i int, con
time.Sleep(time.Second * 2)
logger.Debug(conn.Server(), "Reconnecting")
- c.connections[i] = c.makeConnection(conn.Server(), c.sshAuthMethods, c.hostKeyCallback)
+ conn = c.makeConnection(conn.Server(), c.sshAuthMethods, c.hostKeyCallback)
+ c.connections[i] = conn
}
}
func (c *baseClient) makeConnection(server string, sshAuthMethods []gossh.AuthMethod, hostKeyCallback client.HostKeyCallback) connectors.Connector {
- return connectors.NewServerConnection(server, c.UserName, sshAuthMethods, hostKeyCallback, c.maker.makeHandler(server), c.maker.makeCommands())
+ if c.Args.Serverless {
+ return connectors.NewServerless(c.UserName, c.maker.makeHandler(server), c.maker.makeCommands())
+ }
+ return connectors.NewServerConnection(server, c.UserName, sshAuthMethods,
+ hostKeyCallback, c.maker.makeHandler(server), c.maker.makeCommands())
}
func (c *baseClient) waitUntilDone(ctx context.Context, active chan struct{}) {