I think SSH tunnels are exactly the type of thing that should be handled by a different tool. It's a lot of complexity to add to the app, when the app (and any DB client) inherently already supports connecting via an externally managed tunnel. An established tunnel managing program, or just your terminal, would be better at managing tunnels than a tunnel tool tacked onto this app, and the interoperability is already free.
Tunnels have so many configuration options that you'd either have to support raw configuration in the app (at that point just DIY a tunnel in the terminal), implement something incomplete, or build a full featured SSH tunnel manager into the app.
SSH tunnels can be totally transparent to DB clients. Unlike DB application-layer stuff like credentials, where the DB client needs knowledge of them, I don't see the cost/benefit of integrating SSH tunnels into the app itself.
No reason why you couldn’t call the ssh binary if it’s available in $PATH. I’ve seen other tools do this too.
You’d need to be transparent in your GUI wording that this is forking SSH (in the case of Windows users) but it wouldn’t be an issue for Linux or macOS.
I don't think the guy who you replied to expects anyone to implement their own SSH client to build a tunneling feature. The sensible thing you would do is use a well known library for that.. but that's not any less work than having your program use the SSH binaries to make those features. Honestly it would almost certainly be easier to use a library.
Even easier to just have a doc give some examples of third party tunneling solutions and not have the app try to do anything more than normal connections.
ssh tunneling alone can be done in so many ways with different environments necessitating which might work. are we talking ssh tun/tap IP tunnels? simple port forwarding? either of the above but with a proxyjump required to get there?
Tunnels have so many configuration options that you'd either have to support raw configuration in the app (at that point just DIY a tunnel in the terminal), implement something incomplete, or build a full featured SSH tunnel manager into the app.
SSH tunnels can be totally transparent to DB clients. Unlike DB application-layer stuff like credentials, where the DB client needs knowledge of them, I don't see the cost/benefit of integrating SSH tunnels into the app itself.