Exclusive remote files

One of the two ways Remote Development can be done in Bunnyshell is by working directly in the container, without any local files. This helps implementing Zero-Trust policies and increase security in remote work set-ups.


Run the Remote Development Command

  1. The CLI command must be ran without sync (--sync-mode none) and in non-interactive mode (--no-tty).
$ bns remote-development up --component bLzVRA1z61 --sync-mode none --no-tty
∙●∙ Fetching API data...

  1. If the Pod contains multiple containers, you will be asked to pick the container you want to develop remotely on.
$ bns remote-development up --component bLzVRA1z61 --sync-mode none --no-tty
? Select container  [Use arrows to move, type to filter]
> api
  dind
  nginx-api
  log-streamer

  1. Afterwards, you must select the remote path, in which your local files will be sync'ed.
$ bns remote-development up --component bLzVRA1z61 --sync-mode none --no-tty
? Select container api
? Remote Path

You can also pass the remote path using the command parameter --remote-sync-path or -r.


  1. You need to wait for the Pod definition to be changed.
$ bns remote-development up --component bLzVRA1z61 --sync-mode none --no-tty
? Select container api
? Remote Path /var/www
∙●∙ Waiting for pod to be ready

You can adjust the timeout for this operation by passing in the `--wait-timeout parameter.


  1. If all goes well, you will see a message instructing you where to find the SSH config file which you can use in your IDE.
$ bns remote-development up --component bLzVRA1z61 --sync-mode none --no-tty
? Select container api
? Remote Path /var/www
Pod is ready for Remote Development.
You can find the SSH Config file in /Users/myuser/.bunnyshell/remote-dev/ssh-config

👍

VS Code Setup

See how to configure VS Code for Remote Development with Bunnyshell with no local file sync.