crc icon indicating copy to clipboard operation
crc copied to clipboard

[Epic] User should be able to run the crc VM on a remote server with system tray

Open guillaumerose opened this issue 3 years ago • 5 comments

The daemon brings enough API to be able to run the crc VM on a remote server. The user can manage it from his laptop directly with the CRC System tray. This would also lead to how this system tray may connect to various OpenShift instances the user primarily uses.

The main benefit is that the server will certainly have more CPU and memory than the laptop. The crc VM can also be shared.

The CLI will need to forward the traffic securely between the laptop and the remote server.

We will also have to deal with security when the cluster is 'publicly' exposed:

  • document the certificates
  • static passwords

guillaumerose avatar Jun 21 '21 13:06 guillaumerose

OpenShift Data Foundation is a potential user of this. See https://github.com/ksingh7/odf-nano

guillaumerose avatar Jul 08 '21 09:07 guillaumerose

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Sep 06 '21 18:09 stale[bot]

have to break down this epic into more smaller tasks, but i think as the first step we need to be able to remotely setup crc, i.e crc setup --remote=<ip_address>

anjannath avatar Jun 28 '22 05:06 anjannath

setup may be harder than the others to deal with, as it needs to 'bootstrap' the remote server for crc use. I did some preliminary work in that area in https://github.com/cfergeau/crc/tree/remote I should clean that up some day. The approach I took was to go through the daemon for all the commands in cmd/ instead of calling directly into go code. With this done, doing this remotely instead of locally "only" needs a secure tunnel between the local machine and the remote host.

cfergeau avatar Jun 28 '22 08:06 cfergeau

setup may be harder than the others to deal with, as it needs to 'bootstrap' the remote server for crc use.

what i want to try is, when crc setup --remote=<ip_address> is invoked from a machine, we can do the following:

  1. scp the crc binary to the target server (<ip_address>).
  2. run crc setup in there
  3. report back the status of running crc setup

I did some preliminary work in that area in https://github.com/cfergeau/crc/tree/remote I should clean that up some day. The approach I took was to go through the daemon for all the commands in cmd/ instead of calling directly into go code. With this done, doing this remotely instead of locally "only" needs a secure tunnel between the local machine and the remote host.

i see this as the second step (but initially since setup would be complicated, it makes sense to manually perform the setup steps and test this), since it'd need the crc daemon to be running on the server to which we'll securely tunnel the requests from the crc cli, i.e crc daemon is running and all the virtualization, networking configurations are done.

anjannath avatar Jun 28 '22 09:06 anjannath