Last modified March 5, 2020
gsctl is the command line utility to manage your Giant Swarm clusters.
Follow the links below for detailed documentation, where available. You can also always use
gsctl <command> --help.
||Create completion scripts for Bash and Zsh|
||Create a new cluster|
||Create and download new key pair|
||Create/download new key pair and update
||Create a new node pool|
||Delete a cluster|
||Delete a node pool|
||Print information on status, configuration, and the installation|
||List key pairs|
||List node pools|
||Sign in as a user|
||Check API connection|
||Add or remove worker nodes of a cluster|
||Select an endpoint|
||Show cluster details|
||Show node pool details|
||Show details on a release|
||Modify (rename, scale) a node pool|
||Set provider credentials for an organization|
||Upgrade a cluster|
||Print version number|
Installing and updating
gsctl comes as a self-contained binary for Mac, Linux, and Windows. Below you find installation instructions for different platforms. If you want to build
gsctl from source, find everything you need in its GitHub repository.
gsctl version is 0.19.0. Find details in the release notes.
Homebrew provides the most convenient way to install
gsctl and keep it up to date. To install, use this command:
brew tap giantswarm/giantswarm brew install gsctl
brew upgrade gsctl
To install without homebrew, download the latest release from GitHub, unpack the binary and move it to a location covered by your `PATH` environment variable.
gsctl can be installed using an AUR helper, such as
yay -S gsctl-bin
For other distributions, download the latest release from GitHub, unpack the binary and move it to a location covered by your `PATH` environment variable.
scoop enables convenient installs and updates for Windows PowerShell users. Before you can install
gsctl for the first time, execute this:
scoop bucket add giantswarm https://github.com/giantswarm/scoop-bucket.git
scoop install gsctl
scoop update gsctl
To install without scoop, download the latest release from GitHub, unpack the binary and move it to a location covered by your `PATH` environment variable.
gsctl keeps it’s own settings under
$HOME/.config/gsctl/. There is a configuration file called
config.yaml. Key pairs are stored in the
The following environment variables can be used to affect some behavior:
GSCTL_ENDPOINT: This can be used to specify an API endpoint URL.
GSCTL_CAFILE: If your Giant Swarm API endpoint uses a certificate signed by an authority not known to your operating system, this variable can be set to the path of a custom CA (certification authority) bundle. A CA bundle is a text file containing one or more CA certificates in PEM format.
GSCTL_CAPATH: Similar to
GSCTL_CAPATHis expected to point to a directory containing one or more PEM files.
GSCTL_DISABLE_COLORS: When this variable is set to any non-empty string, all terminal output will be monochrome.
GSCTL_DISABLE_CMDLINE_TRACKING: When this variable is set to any non-empty string, command lines won’t be submitted to the API. Otherwise command lines are submitted to learn about the tool’s usage and find ways to improve.
In addition, global command-line options are available.
Known bugs and limitations
Check our issues with label
You’ll find info on changes in the release description.
We welcome your feedback on
gsctl. If you feel like sharing openly, use the GitHub repository and create an issue, so other users can participate. Otherwise please use the common Giant Swarm support channels.