This article is an introduction to Calabash CLI.
What Is It?
Calabash CLI is a command-line tool running on your local computer, such as your laptop. It connects to your account on the Calabash repository to access the design of system objects, including infrastructure objects, readers, writers, and pipelines. Your local computer should also have sufficient authorization to your GCP account.
In the CLI interactive shell, you can issue commands to deploy the design to the cloud. You can also undeploy and clean up the cloud resources. You can always see the current deployment statuses. In general, Calabash CLI manages the runtime of your system.
Although each Calabash CLI command is simple, it may generate multiple REST requests to the GCP. These include checking status, creating/deleting objects, modifying properties of the existing objects. The GCP sends status responses to Calabash CLI, which, in turn, saves them to the Calabash repository. All the details are hidden from the users. The users just type the CLI command and wait for the statuses.
Installation
The latest build of Calabash CLI can be downloaded from one of these sources:
Mac or Linux | calabash-cli-3.0.2.tar.gz 1 file(s) 75.98 MB
|
Windows | calabash-cli-3.0.2-windows.zip 1 file(s) 75.99 MB
|
Just unpack the downloaded file in any directory. You are all set.
Beyond Resource Management
In addition to the cloud resource deployment, Calabash CLI also offers the following features.
- It retrieves access tokens for PCA and API service readers. You can retrieve these access tokens if you are the Calabash user who owns these objects in the Calabash repository. You can pass the access tokens to users who need to use these services. (See mark 1 in the illustration below.)
- It sets up a TLS (SSL) client on the local machine. You will need SSL certificates to communicate to a Kafka system or a Kubernetes cluster. Calabash CLI will help you create them. (See mark 2 in the illustration below.)
- It sets up a Kafka Client Environment (KCE). The KCE contains the access token and SSL certificates for accessing a Kafka system. It also has scripts for managing the Kafka system, including adding/deleting ACLs, topics, consumer groups, connectors, Kafka-Connect offsets, etc. You will have everything you need in a KCE to manage the data lake. (See mark 3 in the illustration below.)
- It can export and import metadata in the Calabash repository.