Note
This README focuses on the abctl tool itself, not the Airbyte platform.
See Airbyte's Quickstart to walk through setting up Airbyte for the first time.
Important
Authentication credentials are randomly generated as part of the installation process.
After installation is complete, to find your authentication credentials run abctl local credentials.
-
Install
Docker -
Install
abctl- Via brew
brew tap airbytehq/tap brew install abctl - Via go install
go install github.com/airbytehq/abctl@latest - Via Github
- Via brew
-
Install
Airbyte# install Airbyte abctl local install # fetch the login credentials abctl local credentials
Note
Depending on your internet speed, abctl local install may take up to 30 minutes.
By default abctl local install configures Airbyte to accessible by all inbound requests on port 8000.
This typically includes access via the host's ip-address and localhost.
If port 8000 is not available. or another port is preferred, --port [PORT] can be specified.
-
Login to
AirbyteIf
abctl local installcompleted successfully, it should open a browser to http://localhost:8000 (or to the--hostand--portoverrides if specified). If this is the first time Airbyte has been installed you will be asked to provide an email and organization name. To retrieve your password to login, runabctl local credentials.
As mentioned in the quickstart, the only prerequisite abctl has is that Docker
must be installed, running, and accessible. However, the Airbyte platform requires a Kubernetes
cluster, which abctl creates by utilizing kind (kind runs a Kubernetes cluster within a
Docker container). With kind's Kubernetes cluster, abctl uses helm to install (or update to) the
latest (by default) Airbyte helm chart and the latest NGINX Ingress Controller
helm chart.
All commands and sub-commands support the following optional global flags:
| Short | Long | Description |
|---|---|---|
| -h | --help | Displays the help information, description the available options. |
| -v | --verbose | Enables verbose (debug) output. Useful when debugging unexpected behavior. |
All commands support the following environment variables:
| Name | Description |
|---|---|
| DO_NOT_TRACK | Set to any value to disable telemetry tracking. |
The following commands are supported:
abctl local --help
The local sub-commands are focused on managing the local Airbyte installation. The following sub-commands are available:
abctl local credentials
Displays the credentials required to login to the local Airbyte installation.
Note
When abctl local install is first executed, random password, client-id, and client-secret
are generated.
Returns ths email, password, client-id, and client-secret credentials.
The email and password are required to login to Airbyte.
The client-id and client-secret are necessary to create an Access Token for interacting with the Airbyte API.
For example:
$ abctl local credentials
{
"password": "[RANDOM PASSWORD]",
"client-id": "[RANDOM CLIENT-ID]",
"client-secret": "[RANDOM CLIENT-SECRET]"
}
credentials supports the following optional flags
| Name | Default | Description |
|---|---|---|
| "" | Changes the authentication email address. | |
| --password | "" | Changes the authentication password. |
abctl local deployments
Display kubernetes deployment information and allows for restarting a kubernetes deployment.
deployments supports the following optional flags
| Name | Default | Description |
|---|---|---|
| --restart | "" | Restarts the provided deployment. |
abctl local install
Installs a local Airbyte instance or updates an existing installation which was initially installed by abctl.
Note
Depending on your internet speed, abctl local install may take up to 30 minutes.
install supports the following optional flags:
Note
An - in the default column indicates no value can be provided.
These flags behave as a switch, enabled if provided, disabled if not.
| Name | Default | Description |
|---|---|---|
| --chart | "" | Path to chart. |
| --chart-version | latest | Which Airbyte helm-chart version to install. |
| --docker-email | "" | Docker email address to authenticate against --docker-server.Can also be specified by the environment-variable ABCTL_LOCAL_INSTALL_DOCKER_EMAIL. |
| --docker-password | "" | Docker password to authenticate against --docker-server.Can also be specified by the environment-variable ABCTL_LOCAL_INSTALL_DOCKER_PASSWORD. |
| --docker-server | "" | Docker server to authenticate against. Can also be specified by the environment-variable ABCTL_LOCAL_INSTALL_DOCKER_SERVER. |
| --docker-username | "" | Docker username to authenticate against --docker-server.Can also be specified by the environment-variable ABCTL_LOCAL_INSTALL_DOCKER_USERNAME. |
| --insecure-cookies | - | Disables secure cookie requirements. Only set if using --host with an insecure (non https) connection. |
| --low-resource-mode | false | Run Airbyte in low resource mode. |
| --host | "" | FQDN where the Airbyte installation will be accessed. Default is to allow for all incoming traffic on port --port.Set this if the Airbyte installation needs a more restricted host configuration. |
| --no-browser | - | Disables launching the browser when installation completes. Useful to set in situations where no browser is available. |
| --port | 8000 | Port where the Airbyte installation will be accessed. Set this if port 8000 is already in use or if a different port is preferred. |
| --secret | "" | Can be set multiple times. Creates a kubernetes secret based on the contents of the file provided. Useful when used in conjunction with --values for customizing installation. |
| --values | "" | Helm values file to further customize the Airbyte installation. |
| --volume | "" | Can be set multiple times. Mounts additional volumes in the kubernetes cluster. Must be in the format of <HOST_PATH>:<GUEST_PATH>. |
The --low-resource-mode flag optimizes Airbyte for environments with limited CPU and memory resources. When enabled, this mode makes the following changes:
Resource Requests:
- Sets all job resource requests (CPU and memory) to
0, allowing Kubernetes to schedule jobs without minimum resource guarantees - Applies to all job types:
check,discover,spec, andsidecarcontainers
Feature Adjustments:
- Disables the Connector Builder Server to reduce overall resource consumption
This mode is ideal for:
- Development and testing environments with limited resources
- Machines with constrained CPU or memory
- Situations where multiple services need to share limited system resources
Note
While low resource mode reduces resource requirements, it may impact performance for data-intensive operations. It is not recommended for production workloads with large data volumes.
Example usage:
abctl local install --low-resource-mode
abctl local status
If an Airbyte installation exists, returns information regarding that installation.
For example:
$ abctl local status
Existing cluster 'airbyte-abctl' found
Found helm chart 'airbyte-abctl'
Status: deployed
Chart Version: 0.422.2
App Version: 0.63.15
Found helm chart 'ingress-nginx'
Status: deployed
Chart Version: 4.11.1
App Version: 1.11.1
Airbyte should be accessible via http://localhost:8000
abctl local uninstall
Uninstalls a local Airbyte instance.
Note
The data associated with the installed Airbyte instance will not be removed.
This is done to allow Airbyte to be reinstalled at a later date with all the data preserved.
uninstall supports the following optional flags:
Note
An - in the default column indicates no value can be provided.
These flags behave as a switch, enabled if provided, disabled if not.
| Name | Default | Description |
|---|---|---|
| --persisted | - | Will remove all data for the Airbyte installation. This cannot be undone. |
abctl images
Manage images used by Airbyte and abctl.
The following sub-commands are available:
abctl images manifest
Display a manifest of images used by Airbyte and abctl.
| Name | Default | Description |
|---|---|---|
| --chart | "" | Path to chart. |
| --chart-version | latest | Which Airbyte helm-chart version to install. |
| --values | "" | Helm values file to further customize the Airbyte installation. |
abctl version
Displays version information about the abctl tool.
For example:
$ abctl version
version: v0.19.0
If you have found a problem with abctl, please open a Github Issue and use the 🐛 [abctl] Report an issue with the abctl tool template.
Install go
This repository utilises a Makefile, wrapping the traditional go commands
used for formatting, vetting, building, and testing go code.
The following make commands are supported:
| name | description |
|---|---|
make build |
Builds the abctl binary, placing it in the build directory. |
make clean |
Removes the build directory. |
make fmt |
Formats the code. |
make test |
Runs all the tests. |
make vet |
Runs the vet command. |