stackablectl operator
The stackable operator
command allows the listing, installation and removal of Stackable operators. Operators manage
the individual data products of the Stackable Data Platform.
This command manages individual operators. It is intended for people with experience working on the Stackable Data
Platform. If you want an easy way to get started or don’t know which products and versions to install, using the
stackablectl release
command is recommended. This command will install a bundle of
operators from an official Stackable release.
General Usage
Interact with single operator instead of the full platform
Usage: stackablectl operator [OPTIONS] <COMMAND>
Commands:
list List available operators
describe Print out detailed operator information
install Install one or more operators
uninstall Uninstall one or more operators
installed List installed operators
help Print this message or the help of the given subcommand(s)
Options:
-l, --log-level <LOG_LEVEL>
Log level this application uses
--no-cache
Do not cache the remote (default) demo, stack and release files
Cached files are saved at '$XDG_CACHE_HOME/stackablectl', which is usually
'$HOME/.cache/stackablectl' when not explicitly set.
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
File options:
-d, --demo-file <DEMO_FILE>
Provide one or more additional (custom) demo file(s)
Demos are loaded in the following order: Remote (default) demo file, custom
demo files provided via the 'STACKABLE_DEMO_FILES' environment variable, and
lastly demo files provided via the '-d/--demo-file' argument(s). If there are
demos with the same name, the last demo definition will be used.
Use "stackablectl [OPTIONS] <COMMAND> -d path/to/demos1.yaml -d path/to/demos2.yaml"
to provide multiple additional demo files.
-s, --stack-file <STACK_FILE>
Provide one or more additional (custom) stack file(s)
Stacks are loaded in the following order: Remote (default) stack file, custom
stack files provided via the 'STACKABLE_STACK_FILES' environment variable, and
lastly demo files provided via the '-s/--stack-file' argument(s). If there are
stacks with the same name, the last stack definition will be used.
Use "stackablectl [OPTIONS] <COMMAND> -s path/to/stacks1.yaml -s path/to/stacks2.yaml"
to provide multiple additional stack files.
-r, --release-file <RELEASE_FILE>
Provide one or more additional (custom) release file(s)
Releases are loaded in the following order: Remote (default) release file,
custom release files provided via the 'STACKABLE_RELEASE_FILES' environment
variable, and lastly release files provided via the '-r/--release-file'
argument(s). If there are releases with the same name, the last release
definition will be used.
Use "stackablectl [OPTIONS] <COMMAND> -r path/to/releases1.yaml -r path/to/releases2.yaml"
to provide multiple additional release files.
Helm repository options:
--helm-repo-stable <URL>
Provide a custom Helm stable repository URL
[default: https://repo.stackable.tech/repository/helm-stable/]
--helm-repo-test <URL>
Provide a custom Helm test repository URL
[default: https://repo.stackable.tech/repository/helm-test/]
--helm-repo-dev <URL>
Provide a custom Helm dev repository URL
[default: https://repo.stackable.tech/repository/helm-dev/]
Listing Available Operators
To list the operators that are part of the Stackable Data Platform and their stable versions, run the following command:
$ stackablectl operator list
┌────┬───────────┬────────────────────────────────────────────────────────────────────────────────────────┐
│ # ┆ OPERATOR ┆ STABLE VERSIONS │
╞════╪═══════════╪════════════════════════════════════════════════════════════════════════════════════════╡
│ 1 ┆ airflow ┆ 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 23.1.0, 23.4.0, 23.4.1, 23.7.0 │
├╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 2 ┆ ... ┆ ... │
├╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 15 ┆ zookeeper ┆ 0.10.0, 0.11.0, 0.12.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 23.1.0, 23.4.0, 23.4.1, 23.7.0 │
└────┴───────────┴────────────────────────────────────────────────────────────────────────────────────────┘
This command only includes the stable versions of every operator for clarity. If you’re interested in a particular
version of an operator, you can use the describe
command to get more details for a specific operator as follows:
$ stackablectl operator describe airflow
OPERATOR airflow
STABLE VERSIONS 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 23.1.0, 23.4.0, 23.4.1, 23.7.0
TEST VERSIONS 0.0.0-pr303, 0.0.0-pr304, 0.0.0-pr305, 0.0.0-pr307, 0.0.0-pr308, 0.0.0-pr310, 0.0.0-pr311, 0.0.0-pr312, 0.0.0-pr314, 0.0.0-pr315,
0.0.0-pr316, 0.0.0-pr317
DEV VERSIONS 0.0.0-dev
Installing Operators
If you want to access a Kubernetes cluster, make sure your kubectl
Kubernetes client is configured to interact with the Kubernetes cluster. After that, run the following command, which
will install the operators in their latest nightly version - built from the main branch of the operators.
$ stackablectl operator install airflow commons secret listener
Installing 4 operators
Installed airflow operator
Installed commons operator
Installed secret operator
Installed listener operator
Installed 4 operators
If you don’t have a Kubernetes cluster available, stackablectl
can spin up a kind or
minikube Kubernetes cluster for you. Based on the type of local cluster you want to
use, ensure you have either kind
or minikube
installed on your system. See
here for more information.
With this command, we installed the operator for Apache Airflow and three operators needed internally by the Stackable Data Platform (commons, secret and listener). As we didn’t specify a specific version to install, the operators were installed in the latest nightly version - built from the main branch of the operators. If you want to install a specific version, you can add the version to each operator to install as follows:
$ stackablectl operator install airflow=23.7 commons=23.7 secret=23.7 listener=23.7
Installing 4 operators
Installed airflow=23.7 operator
Installed commons=23.7 operator
Installed secret=23.7 operator
Installed listener=23.7 operator
Installed 4 operators
As you can see, the four operators were installed in the requested version.
Remember: If you want to install a recommended and tested set of operator versions, look at the
stackablectl release
command.
Listing Installed Operators
After installing some operators, you can list which operators are installed in your Kubernetes cluster:
$ stackablectl operator installed
┌────────────────────┬─────────┬─────────────────────┬──────────┬──────────────────────────────────────────┐
│ OPERATOR ┆ VERSION ┆ NAMESPACE ┆ STATUS ┆ LAST UPDATED │
╞════════════════════╪═════════╪═════════════════════╪══════════╪══════════════════════════════════════════╡
│ airflow-operator ┆ 23.7.0 ┆ stackable-operators ┆ deployed ┆ 2023-08-23 17:33:01.509777626 +0200 CEST │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ commons-operator ┆ 23.7.0 ┆ stackable-operators ┆ deployed ┆ 2023-08-23 17:33:04.012698515 +0200 CEST │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ listener-operator ┆ 23.7.0 ┆ stackable-operators ┆ deployed ┆ 2023-08-23 17:33:07.217309791 +0200 CEST │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ secret-operator ┆ 23.7.0 ┆ stackable-operators ┆ deployed ┆ 2023-08-23 17:33:06.328410802 +0200 CEST │
└────────────────────┴─────────┴─────────────────────┴──────────┴──────────────────────────────────────────┘
Uninstalling Operators
You can use the stackablectl operator uninstall
command to uninstall the operators again.
$ stackablectl operator uninstall airflow commons secret listener
The release airflow-operator was successfully uninstalled.
The release commons-operator was successfully uninstalled.
The release secret-operator was successfully uninstalled.
The release listener-operator was successfully uninstalled.
Uninstalled 4 operators