Single pomerium-cli running multiple connections?

Hi, I’m wondering if any thought’s been given to having a single instance of pomerium-cli that could handle multiple TCP connections at a time.

For example, if you have an internal development server with services on a few different ports (database, SSH, etc.), it’d be handy to give users a single command they can run to open those ports all at once, and CTRL+C when they’re done.

pomerium-cli tcp host1.internal.example.com:22 --listen :2022 \
    host1.internal.example.com:5432 --listen :55432 \
    host2.internal.example.com:12345 --listen :12345

As a single process, theoretically it could even cache authentication across the services so the user would only need to authenticate once.

As it stands now I’d have to give them a script that launches a couple of instances of pomerium-cli in the background, which will look confusing and make it harder for them to shut them all down.

What’s your environment like?

  • Pomerium version (retrieve with pomerium --version): 0.17.2
  • Server Operating System/Architecture/Cloud: Ubuntu 20.04

If you’re in the GUI environment, you may use pomerium desktop-client where you may click through the connections you want to listen to.

Desktop client allows you to export a (subset) of connections as a JSON file.

It might be possible to make CLI consume that configuration and start all listeners automatically.

Do you mind opening a ticket in GitHub - pomerium/cli: Pomerium CLI ?

Thanks Denis, good pointer on the desktop client, I’ll try that! I didn’t realize it had an export/import function.

And I’ve opened a feature request for the CLI: Handle TCP connections in a single command invocation · Issue #58 · pomerium/cli · GitHub