postgres-util: refactor implementation to use openssh instead
Refactor implementation of SSH tunnels to use openssh instead of async-ssh2-lite due to the issues we've been facing so far.
I'll add tests here soon, I just wanted to get more eyes on it soon, because jetlag.
Motivation
- This PR fixes a recognized bug: #14566
Checklist
-
[ ] This PR has adequate test coverage / QA involvement has been duly considered.
-
[ ] This PR evolves an existing
$T ⇔ Proto$Tmapping (possibly in a backwards-incompatible way) and therefore is tagged with aT-protobuflabel. -
[ ] This PR includes the following user-facing behavior changes:
FYI, I should push the fixes for the comments as soon as I fix the mzcompose test failure: it's something to do with the permissions when openssh reads the key in the container. It's probably something obvious that I'm forgetting, it just takes a while because I have to build a clean docker image to test things.
@andrioni sounds like a great plan!
OK, the issue was completely different, we just didn't have openssh installed in the container 🤦.
Added tests for Postgres with SSL, and merging.
🎉