@voxis/cli v0.3.15
CLI
The CLI app for the Voxis platform.
Quick Start
Install the CLI
- Install the CLI globally:
npm install -g @voxis/cli. - Verify the CLI is installed and linked:
vox --version.
Register
- Run
vox register. - You'll be prompted for a few details.
Login
- Login with your email:
vox login <EMAIL>e.g.vox login user@example.com. - You'll receive a one-time password via email. Enter the password when prompted.
Authenticate your VCS provider
- Grant Voxis access to your VCS:
vox vcs.login <VCS>, e.g.vox vcs.login gitlab. - Complete authorisation on the VCS website.
Create your first app
- CD into your repository, then run
vox createand follow the prompts. - Check the deployment status with
vox status.
User Authentication
Commands for user registration and login.
> vox register \<EMAIL?>
Register a new account and user credentials.
Examples
vox registervox register user@example.com
> vox login \<EMAIL?>
Login with existing user credentials.
Examples
vox loginvox login user@example.com
> vox logout
Logs out the current user from the Voxis API. If there is no current user nothing happens.
Flags
| Flag | Behaviour |
|---|---|
--force | Also remove the credentials from disk. |
Examples
vox logoutvox logout --force
Contexts
Commands for managing logins to multiple accounts. The currently active account login is known as the "context".
> vox context.list
Prints all the stored contexts.
Examples
vox context.listvox context- Shorthand.
> vox context.use \
Switch to the given context number. The context number can be obtained from vox context.list.
Examples
vox context.use 2- Switch to the numbered context.vox use 2- Shorthand.
> vox context.remove \
Remove the given context number from disk. The context number can be obtained from vox context.list.
Examples
vox context.remove 2
Configuration
Commands for managing the configuration of the CLI.
> vox config.list
Prints all the stored configuration values.
Examples
vox config.listvox config- Shorthand.
> vox config.get \
Prints the value for the given configuration key.
Examples
vox config.get apiBaseUrl
> vox config.set \ \
Sets the value for the given configuration key.
Examples
vox config.set apiBaseUrl https://api.voxis.io
> vox config.reset \<KEY?>
Resets the given configuration value or all values if the --all flag is passed.
Flags
| Flag | Behaviour |
|---|---|
--all | Resets all configuration values. |
Examples
vox config.reset apiBaseUrlvox config.reset --all
Domains
Commands for managing domain names.
> vox domain.list
Prints all the domains added to the account.
Flags
| Flag | Behaviour |
|---|---|
--more | Print additional information. |
Examples
vox domain.listvox domain- Shorthand.
> vox domain.add \<FQDN?>
Adds a new domain to the account.
Examples
vox domain.addvox domain.add voxis.io
> vox domain.setup \
Prints the DNS record setup information for the given domain name.
Examples
vox domain.setup voxis.io
> vox domain.status \
Prints the status of the given domain name.
Flags
| Flag | Behaviour |
|---|---|
--more | Print additional information. |
Examples
vox domain.status voxis.iovox domain voxis.io- Shorthand.
Vaults
Commands for managing vaults for secure storage of secrets.
> vox vault.create
Creates a new secrets vault.
Examples
vox vault.create my-vault
> vox vault.list
List all the vaults in the account.
Examples
vox vault.listvox vault- Shorthand.
> vox vault.status \
Prints the status of the given vault.
Examples
vox vault.status my-vaultvox vault my-vault- Shorthand.
> vox vault.add \<VAULT_KEY> \<SECRET_KEY> \
Adds a new secret to the given vault. Specifying a secret that already exists will add a new version with the given value.
Examples
vox vault.add my-vault my-secret 123
> vox vault.secrets \<VAULT_KEY>
Prints the secrets and their latest version numbers (but not the secret values!) of all the secrets in the given vault.
Examples
vox vault.secrets <VAULT_KEY>
> vox vault.grant \<VAULT_KEY> \<APP_KEY>
Grants an application access to the given vault.
Examples
vox vault.grant my-vault my-app
Applications
Commands for managing application deployments.
> vox app.create
Creates a new application and optionally deploys it.
Flags
| Flag | Behaviour |
|---|---|
--deploy | Deploys the app immediately after creating it. |
Examples
vox app.createvox create- Shorthand.
> vox app.list
Prints a list of all applications in the account.
Flags
| Flag | Behaviour |
|---|---|
--more | Print additional information. |
Examples
vox app.listvox app- Shorthand.
> vox app.deploy \<APP_KEY> \<DESCRIPTION?>
Triggers a deployment for the given application, with an optional pipeline description.
Flags
| Flag | Behaviour |
|---|---|
--branch | Specify a branch to deploy. |
--tag | Specify a tag to deploy. |
--force | Deploys all services even if there are no changes. |
Examples
Inside the application directory (or its subdirectories):
vox app.deployvox deploy- Shorthand.
Globally or outside the application directory:
vox app.deploy my-appvox deploy my-app- Shorthand.vox app.deploy my-app "Some description goes here"- Add a pipeline description.
> vox app.status \<APP_KEY?> \<SERVICE_KEY?> \<ENV_KEY?>
Prints the status of the given application as a whole, or optionally of the given service.
Flags
| Flag | Behaviour |
|---|---|
--more | Print additional information. |
Examples
Inside the application directory (or its subdirectories):
vox app.status- Shorthand.vox status- Shorthand.
Globally or outside the application directory:
vox app.status my-app- Prints the status of the app.vox status my-app- Shorthand.vox app.status my-app some-service prod- Prints the status of the service in the prod environment.vox status my-app some-service prod- Shorthand.
Miscellaneous
Various other commands.
> vox about
Prints information about the CLI.
Examples
vox about
> vox --version
Prints the version number of the CLI.
Examples
vox --version
Flags
There are a few flags you can pass which change the behaviour of the CLI. You can specify flags in long form --verbose, short form -v, and with values --branch=develop in long form.
| Flag | Default | Description |
|---|---|---|
--all -a | false | Behaviour depends on command. |
--branch | Pass a branch name to the command. | |
--color --colour | true | Pass --color=false to disable color output. |
--deploy | false | Trigger a deployment (behaviour depends on command). |
--dev -d | false | Connects to an API running locally when developing the CLI itself. |
--force -f | false | Forcefully executes the command (behaviour depends on command). |
--more -m | false | Prints more output than the default (behaviour depends on command). |
--tag | Pass a tag name to the command. | |
--verbose -v | false | Turn on verbose logging. |
--version | false | Print the CLI version and exit. |
--yes -y | false | Provides a "yes" answer to any "yes/no" prompt. |