Installation
Current version
Choose installation
Linux packages (rpm/deb)
Linux packages in deb and rpm are distributed, and this is recommended when possible.
Pipx
Use Pipx if you know what you are doing and have at least python 3.10+ installed.
This allows you to use some but not all capabilities on Windows and MacOS as well.
On Windows, the recommendation is to use WSL2 with Linux packages
- .deb
- .rpm
- pipx
deb package
curl -fsSL https://packages.remotivelabs.com/apt-repo-signing-key.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/remotivelabs-apt.gpg
echo "deb [signed-by=/usr/share/keyrings/remotivelabs-apt.gpg] \
https://packages.remotivelabs.com remotivelabs-apt main" \
| sudo tee -a /etc/apt/sources.list.d/remotivelabs.list
Install/upgrade
sudo apt update
sudo apt install remotivelabs-cli
rpm package
tee /etc/yum.repos.d/remotivelabs.repo > /dev/null <<EOF
[remotivelabs]
name=Remotivelabs
baseurl=https://packages.remotivelabs.com/yum/remotivelabs-yum
enabled=1
gpgcheck=0
gpgkey=https://packages.remotivelabs.com/yum-repo-signing-key.gpg
EOF
sudo dnf install remotivelabs-cli
Upgrade
sudo dnf upgrade remotivelabs-cli
You need at least python 3.10
Pipx installation guide: https://pipx.pypa.io/stable/installation/
pipx
pipx installs remotivelabs-cli in a separate virtualenv.
Initial installation
pipx install remotivelabs-cli
Upgrade to latest
pipx upgrade remotivelabs-cli
Verify installation
Regardless of the installation choice you made, you should be able to run this command and get a similar output
Print version
remotive --version
Output
remotivelabs-cli 0.x.x (python 3.12.11; linux; native)
Print help
remotive --help
Output
Usage: remotive [OPTIONS] COMMAND [ARGS]...
Welcome to RemotiveLabs CLI - Simplify and automate tasks for cloud resources and brokers
For documentation - https://docs.remotivelabs.com
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version Print current version │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ tui Explore remotive-cli and generate commands with this textual user interface application │
│ topology Interact and manage RemotiveTopology resources │
│ broker Manage a single broker - local or cloud │
│ cloud Manage resources in RemotiveCloud │
│ connect Integrations with other systems │
│ tools CLI tools unrelated to cloud or broker │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Proxy support
If you are behind a corporate proxy you need to set the following environment variables, note that both are required.
export HTTPS_PROXY=http://proxy:port
export https_proxy=http://proxy:port
Certificates
If you need to change CA certs used you should use the following environment variables.
export REQUESTS_CA_BUNDLE=/path/to/cacerts
export GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/path/to/cacerts
Authentication
If you want to use RemotiveTopology or RemotiveCloud features you must have a RemotiveCloud account. If you don't have an account, it's be created for you during sign-in process. If your organization have an enterprise account, make sure to login with correct email and login option.
Login
When signing in, a web-browser is opened to let you sign-in with your credentials. Once you have signed in with the browser you are good to go. If you are in an environment where no browser is available such as virtual machine or docker you can use headless support - However, you still need access to a browser just not on the target machine.
You can login with more than one account (email) and have multiple credentials that you can switch between.
- Desktop (normal)
- Headless (virtual machine, etc)
remotive cloud auth login
Follow the authentication flow until your browser says that you have been successfully logged on and then you should see the same output in the terminal.
Successfully logged on
Using the --no-browser option you can get a link to the sign-in and follow that until you get a code to paste into the terminal.
$ remotive cloud auth login --no-browser
Copy the following link in a browser to login to cloud, and complete the sign-in prompts:
http://cloud.remotivelabs.com/login?state=ZgFOoT56dmXQJlDYqFX-YA&cli_version=0.1.0&response_type=code&code_challenge=yk2IjvygcxZXdRX0av8LU2OzNq4KOJ1j7eaGg-y14Xg
Once finished, enter the verification code provided in your browser:
Follow the authentication flow until you get prompted to copy the verification code in the browser. Paste into the terminal.
![[Image] Project page](/assets/images/login_ver_code-396f5ce8bc2850e69b7074643f345e69.png)
Once finished, enter the verification code provided in your browser: xxxxxx
Successfully logged on
Existing accounts
If you try to login and you already have existing accounts you are always prompted to use one of these first instead first. Enter or 'Y' (default) allows you to activate (see below) existing credentials and 'n' allows you to login again.
You have credentials available already, would you like to choose one of these instead? [Y/n]:
Switch between existing accounts
You can also activate existing accounts simply using the command below and you get the same prompt.
remotive cloud auth activate
Then choose the account to use
┏━━━┳━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ # ┃ Active ┃ Type ┃ Token ┃ Account ┃ Created ┃ Expires ┃
┡━━━╇━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ 1 │ x │ user │ A75A71ED20AACC48 │ user@domain.com │ 2025-06-16 │ 2026-06-16 │
│ 1 │ │ user │ BC5A719D20DA1C41 │ user2@domain.com │ 2025-06-16 │ 2026-06-16 │
└───┴────────┴──────┴──────────────────┴──────────────────────┴────────────┴────────────┘
Enter the number(# 1-2) of the account to select (q to quit) [1]:
Verify credentials
- Verify that you are who you think you are
remotive cloud auth whoami
{
"firstName": "John",
"lastName": "Dev",
"email": "john.dev@remotivelabs.com",
"picture": "https://lh3.googleusercontent.com/a/asdf=s96-c",
"uid": "xxx"
}
Set default organization
RemotiveTopology requires an organization to work, then you must also set a default organization or set ENV variable.
remotive cloud organizations default
This shows you the organizations you have available.
┏━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ # ┃ Name ┃ Uid ┃ Default ┃
┡━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ 1 │ My org │ my-org │ │
│ 2 │ Another org │ mzfazxo2ypxxd9cbfig │ │
└───┴───────────────┴──────────────────────┴─────────┘
Enter the number(# 1-2) of the organisation to select (or q to quit):
It's also possible to set this using an environment variable
export REMOTIVE_CLOUD_ORGANISATION=my-org
Specify access token
In i.e CI environments its recommended that the access token comes from an external secret and its possible to set the access token to use with REMOTIVE_CLOUD_AUTH_TOKEN (introduced in v0.3.5).
export REMOTIVE_CLOUD_AUTH_TOKEN=my-token-xxx