Installation
RemotiveCLI is a new tool within the RemotiveLabs Platform. Changes between versions might occur. The tool is fully functional, however bugs might exist. Please report installation issues, bugs and send feature wishes to support@remotivelabs.com
You can install the CLI with pipx/pip.
Latest version
- Pip / Pipx
You will need at least python 3.8
pipx is the recommended way to install remotivelabs-cli
pipx
Pipx installs remotivelabs-cli in a separate virtualenv which is recommended.
Initial installation
pipx install remotivelabs-cli
Upgrade to latest
pipx upgrade remotivelabs-cli
pip
pip install -U remotivelabs-cli
Verify installation
Regardless of the installation choice you made, you should be able to run this command and get this output.
remotive --version
remotivelabs-cli x.x.x
$ remotive --help
Usage: remotive [OPTIONS] COMMAND [ARGS]...
Welcome to RemotiveLabs CLI - Simplify and automate tasks for cloud
resources and brokers
╭─ Options ────────────────────────────────────────────────────────────────╮
│ --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 ───────────────────────────────────────────────────────────────╮
│ broker Manage a single broker - local or cloud │
│ cloud Manage resources in RemotiveCloud │
│ tui Explore remotive-cli and generate commands with this │
│ textual user interface application │
╰──────────────────────────────────────────────────────────────────────────╯
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
CA certs
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
Cloud setup
This part covers how to use the cli to operate with cloud resources at https://cloud.remotivelabs.com.
Login
This will not work if you are running the cli with docker, please read the installation instructions for docker
When signing in, a web-browser will be opened to let you sign-in with your credentials. Once you have signed in with the browser you are good to go.
$ remotive cloud auth login
Successfully logged on, you are ready to go with cli
Verify credentials
- Verify that you are who you think you are
$ remotive cloud auth whoami | jq .
{
"firstName": "John",
"lastName": "Dev",
"email": "john.dev@remotivelabs.com",
"picture": "https://lh3.googleusercontent.com/a/asdf=s96-c",
"uid": "xxx"
}
- Get your organisation and projects
First you need the uid of the organisation that you want to work with, you can get your organisations with the following command
$ remotive cloud organisations
["my-organisation", "another-organisation"]
In order to to anything useful you need to project your are working with, use this command to list available projects.
$ remotive cloud projects list --organisation my-organisation
["my-personal-project", "customer-project"]
How to use cli with cloud
Under RemotiveCloud section of the documentation we cover how to work with our cloud both with Cloud console and CLI - for each feature!
How-to use default values
When you are working with the cli, some common option parameters must be set and having to always set these can be tedious. We provide three options that can be overridden with default values as environment variables
Organisation
Some commands require the --organisation
command but its not that common, on the other hand
this is likely not to change so often.
REMOTIVE_CLOUD_ORGANISATION=my-organisation
Project
When working with cloud resources such as recordings or brokers all reside within
a project. Instead of always supplying --project
option you can set environment variable
to the project your are currently working on
REMOTIVE_CLOUD_PROJECT=my-project
Recording session
When working with recordings it can help you to not always having to supply the --recording-session
REMOTIVE_CLOUD_RECORDING_SESSION=my-recording-session
Broker url and api-key
Instead of --url you can set (REMOTIVE_BROKER_URL=http://localhost:50051
) and instead
of --api-key use can use (REMOTIVE_BROKER_API_KEY=xxx-xxx-xxx-xxx
)
Help
All cli groups and commands support --help option so you can always ask for more help.
Example
remotive cloud recordings list --help
Usage: remotive cloud recordings list [OPTIONS] [TYPE]
Lists recordings in project
╭─ Arguments ──────────────────────────────────────────────────────────────╮
│ type [TYPE] all, processing, recent [default: all] │
╰──────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────╮
│ * --project TEXT Project ID │
│ [env var: REMOTIVE_CLOUD_PROJECT] │
│ [default: None] │
│ [required] │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────╯