Skip to main content

speedctl

Your friendly command line tool for working with Speedscale cloud.

About

The speedctl CLI tool is used to interact with the Speedscale cloud, and requires an active Speedscale subscription. If you don't have an account with Speedscale the speedscale CLI tool is fully free, with a limited set of functionality.

speedctl is the Speedscale API. Use speedctl to programmatically get reports, create snapshots, update configs, etc.

Version

You may want to double check what version you are running, that can be accomplished with the simple version command. It will also show when it was compiled so you can decide if you need an update.

speedctl version

The output looks like this:

speedctl version v0.5.5 compiled at 2021-05-13T18:41:31+0000

Update

Here is how to download a new version, it will update the binary in your ~/.speedscale directory.

sh -c "$(curl -Lfs https://downloads.speedscale.com/speedctl/install)"

The output looks like this:

Checking if you are running the latest speedctl.
* Comparing checksum...
* The checksum was different.
Downloading speedctl-darwin...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 40.7M 100 40.7M 0 0 22.7M 0 0:00:01 0:00:01 --:--:-- 22.7M
Download complete!
* Comparing checksum...
* The checksum was the same.
speedctl was successfully installed 🎉

Help

You can figure out what commands are available by adding --help to the end of the current command. For example just running help itself will have this kind of output (don't be surprised if yours is different, new features pop up all the time):

speedctl --help

The output looks like this:

speedctl handles common operations for deploying, and maintaining, and interacting
with Speedscale resources and services. Most commands are run in conjunction with kubectl.

Usage:
speedctl [command]

Available Commands:
act Execute scenario actions manually
check Prints config to help make sure that the config file syntax is correct
completion Generates completion scripts for bash or zsh
controlplane Deploys Speedscale control plane services
creds Deploys ONLY credentials
delete Deletes resources from Speedscale database
generator Deploys generator ONLY with dependent services
get Retrieve resources from Speedscale database
help Help about any command
init Initializes speedctl configuration
inject Inject Speedscale sidecar to Kubernetes pod resources
operator Deploys the Speedscale operator to a cluster
put Insert resources into Speedscale database
report Manages report artifacts in the Speedscale datastore
responder Deploys responder ONLY with dependent services
snapshot Manages snapshot artifacts in the Speedscale datastore
tenantinfo Retrieves tenant info from Speedscale service
testconfig Manages test config artifacts in the Speedscale datastore
tokenconfig Manages token config artifacts in the Speedscale datastore
uninject Uninject Speedscale sidecar from Kubernetes pod resources
version Prints current version

Flags:
--app-url string URL of the speedscale app
--config string Config file (default ${HOME}/.speedscale/config.yaml)
-c, --context string Uses a specific context from those listed in ${HOME}/.speedscale/config.yaml
-h, --help help for speedctl
-v, --verbose Verbose output

Use "speedctl [command] --help" for more information about a command.

Flags

Note that the flags can be used to modify the command that is being sent. Each different command has it's own flags, for example here is how to get more information about the init command:

speedctl init --help

The output looks like this:

Initializes speedctl by authorizing your account and downloading your account config.yaml file

Usage:
speedctl init [flags]

Aliases:
init, initialize, bootstrap

Flags:
-f, --force Force install with default values
-h, --help help for init

Note that there is just one option which is --force which automatically supplies all the defaults if you don't want to answer all the questions from the init command.