Installation

Using Pre-Compiled Binaries

Stackable provides pre-compiled binaries of stackablectl, which should work on most environments such as Windows, macOS, and Linux distributions like Ubuntu and Arch. You can also build the binary from source. More information about the manual building steps can be found in this section.

  • Linux

  • macOS

  • Windows

Download the appropriate binary file for your architecture, stackablectl-x86_64-unknown-linux-gnu for Intel-based devices or stackablectl-aarch64-unknown-linux-gnu for ARM-based devices from the latest release, then rename the file to stackablectl. You can also use the following command:

x86_64 (amd64):

$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-24.7.0/stackablectl-x86_64-unknown-linux-gnu

aarch64 (arm64):

$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-24.7.0/stackablectl-aarch64-unknown-linux-gnu

Install the binary into a directory in the $PATH, and make it executable:

If you have a directory in your $HOME for user binaries, you can remove sudo, and change the directory to that.
$ sudo install -m 755 -t /usr/local/bin stackablectl

Test that it works:

$ stackablectl --version

Download the appropriate binary file for your architecture, stackablectl-x86_64-apple-darwin for Intel-based devices or stackablectl-aarch64-apple-darwin for ARM-based devices from the latest release, then rename the file to stackablectl. You can also use the following command:

x86_64 (amd64):

$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-24.7.0/stackablectl-x86_64-apple-darwin

aarch64 (arm64):

$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-24.7.0/stackablectl-aarch64-apple-darwin

Install the binary into a directory in the $PATH, and make it executable:

If you have a directory in your $HOME for user binaries, you can remove sudo, and change the directory to that.
$ sudo install -m 755 -t /usr/local/bin stackablectl

Test that it works:

$ stackablectl --version

If macOS denies the execution of stackablectl go to Settings → Security & Privacy → General. Here you will see a pop up asking if you want to allow access for stackablectl. You must allow access.

Currently, there are no pre-built binaries available for Windows. Please refer to this section to learn how to build the binary from source.

Building from Source

To build stackablectl from source you need to have the following tools installed:

  • The Rust toolchain: Needed for compiling the source code of stackablectl itself. Use rustup to easily install all required tools.

  • The Go toolchain: Needed for compiling a wrapper around the Go library go-helm-client.

Continue by cloning the repository located at https://github.com/stackabletech/stackable-cockpit. Then, compile the binary using the following command:

$ cargo build -p stackablectl --release

After a successful build, the binary will be placed in target/release/stackablectl. Copy it to your systems path to access it from anywhere if you like:

$ cp target/release/stackablectl /usr/local/bin

Test that it works:

$ stackablectl --version

Shell Completions

We provide completions for stackablectl for major shells out there. Currently, ZSH, Fish and Bash are supported. The repository provides pre-generated completion files. These can be downloaded and copied to the appropriate location on your system.

  • ZSH

  • Fish

  • Bash

Download the completions file and place it in /usr/local/share/zsh/site-functions/ to load it automatically.

$ wget https://raw.githubusercontent.com/stackabletech/stackable-cockpit/main/extra/completions/_stackablectl
$ mv _stackablectl /usr/local/share/zsh/site-functions/

Download the completions file and place it in any of the supported location listed here.

$ wget https://raw.githubusercontent.com/stackabletech/stackable-cockpit/main/extra/completions/stackablectl.fish

Download the completions file and place it in /etc/bash_completion.d/ to load it automatically.

$ wget https://raw.githubusercontent.com/stackabletech/stackable-cockpit/main/extra/completions/stackablectl.bash
$ mv stackablectl.bash /etc/bash_completion.d/

You can generate the completions on your own by using the stackablectl completions command. See here for more information.