{"id":19383812,"url":"https://github.com/airbytehq/abctl","last_synced_at":"2026-03-05T20:30:52.167Z","repository":{"id":233314330,"uuid":"772768484","full_name":"airbytehq/abctl","owner":"airbytehq","description":"Airbyte's CLI for managing local Airbyte installations","archived":false,"fork":false,"pushed_at":"2024-10-18T22:49:09.000Z","size":551,"stargazers_count":30,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-19T02:47:20.736Z","etag":null,"topics":["elt","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/airbytehq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-15T21:27:09.000Z","updated_at":"2024-10-18T22:49:12.000Z","dependencies_parsed_at":"2024-05-21T00:33:44.732Z","dependency_job_id":"44a8eabc-926c-4699-a177-11ae99dfb308","html_url":"https://github.com/airbytehq/abctl","commit_stats":null,"previous_names":["airbytehq/abctl"],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airbytehq%2Fabctl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airbytehq%2Fabctl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airbytehq%2Fabctl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airbytehq%2Fabctl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/airbytehq","download_url":"https://codeload.github.com/airbytehq/abctl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250517982,"owners_count":21443870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elt","go","golang"],"created_at":"2024-11-10T09:27:59.350Z","updated_at":"2026-03-05T20:30:52.154Z","avatar_url":"https://github.com/airbytehq.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg alt=\"abctl logo\" src=\"https://avatars.githubusercontent.com/u/59758427?size=64\" height=\"100%\" align=\"left\" /\u003e\n\u003ch1 align=\"left\"\u003eabctl\u003c/h1\u003e\nAirbyte's command line tool for local Airbyte deployments.\n\u003cbr clear=\"left\"/\u003e\n\u003cbr /\u003e\n\n\u003e [!NOTE]\n\u003e This README focuses on the `abctl` tool itself, not the Airbyte platform.\n\u003e \n\u003e See Airbyte's [Quickstart](https://docs.airbyte.com/platform/using-airbyte/getting-started/oss-quickstart) to walk through setting up Airbyte for the first time.\n\n---\n\n- [Quickstart](#quickstart)\n- [Overview](#overview)\n- [Commands](#commands)\n- [Contributing](#contributing) \n\n# Quickstart\n\n\u003e [!IMPORTANT]\n\u003e Authentication credentials are randomly generated as part of the installation process.\n\u003e\n\u003e After installation is complete, to find your authentication credentials run `abctl local credentials`.\n\n1. Install `Docker`\n   - [Linux](https://docs.docker.com/desktop/install/linux-install/)\n   - [Mac](https://docs.docker.com/desktop/install/mac-install/)\n   - [Windows](https://docs.docker.com/desktop/install/windows-install/)\n   \n2. Install `abctl`\n   - Via [brew](https://brew.sh/)\n     ```\n     brew tap airbytehq/tap\n     brew install abctl\n     ``` \n   - Via [go install](https://go.dev/ref/mod#go-install)\n     ```\n     go install github.com/airbytehq/abctl@latest\n     ```\n   - Via [Github ](https://github.com/airbytehq/abctl/releases/latest)\n3. Install `Airbyte`\n   ```\n   # install Airbyte \n   abctl local install\n   # fetch the login credentials\n   abctl local credentials\n   ```\n\u003e [!NOTE]\n\u003e Depending on your internet speed, `abctl local install` may take up to 30 minutes.\n\u003e \n\u003e By default `abctl local install` configures Airbyte to accessible by all inbound requests on port `8000`.\n\u003e This typically includes access via the host's ip-address and `localhost`.\n\u003e\n\u003e If port `8000` is not available. or another port is preferred, `--port [PORT]` can be specified.\n\n4. Login to `Airbyte`\n\n   If `abctl local install` completed successfully, it should open a browser to http://localhost:8000\n   (or to the `--host` and `--port` overrides if specified).  If this is the first time Airbyte has been\n   installed you will be asked to provide an email and organization name.  To retrieve your password\n   to login, run `abctl local credentials`.\n\n# Overview\n\n![arch.png](imgs/arch.png)\n\nAs mentioned in the [quickstart](#quickstart), the only prerequisite `abctl` has is that [Docker](https://www.docker.com/) \nmust be installed, running, and accessible. However, the Airbyte platform requires a [Kubernetes](https://kubernetes.io/) \ncluster, which `abctl` creates by utilizing [kind](https://kind.sigs.k8s.io/) (kind runs a Kubernetes cluster within a \nDocker container). With kind's Kubernetes cluster, `abctl` uses [helm](https://helm.sh/) to install (or update to) the \nlatest (by default) Airbyte helm chart and the latest [NGINX Ingress Controller](https://docs.nginx.com/nginx-ingress-controller/) \nhelm chart.\n\n# Commands\n\nAll commands and sub-commands support the following optional global flags:\n\n| Short | Long      | Description                                                                     |\n|-------|-----------|---------------------------------------------------------------------------------|\n| -h    | --help    | Displays the help information, description the available options.               |\n| -v    | --verbose | Enables verbose (debug) output.\u003cbr /\u003eUseful when debugging unexpected behavior. |\n\nAll commands support the following environment variables:\n\n| Name         | Description                                     |\n|--------------|-------------------------------------------------|\n| DO_NOT_TRACK | Set to any value to disable telemetry tracking. |\n\nThe following commands are supported:\n- [local](#local)\n- [version](#version)\n\n## local\n\n```abctl local --help```\n\nThe local sub-commands are focused on managing the local Airbyte installation.\nThe following sub-commands are available:\n- [credentials](#credentials)\n- [deployments](#deployments)\n- [install](#install)\n- [status](#status)\n- [uninstall](#uninstall)\n   \n### credentials\n\n```abctl local credentials```\n\nDisplays the credentials required to login to the local Airbyte installation.\n\n\u003e [!NOTE]\n\u003e When `abctl local install` is first executed, random `password`, `client-id`, and `client-secret`\n\u003e are generated.\n\nReturns ths `email`, `password`, `client-id`, and `client-secret` credentials.\nThe `email` and  `password` are required to login to Airbyte.\nThe `client-id` and `client-secret` are necessary to create an [`Access Token` for interacting with the Airbyte API](https://reference.airbyte.com/reference/createaccesstoken).\n\nFor example:\n```\n$ abctl local credentials\n{\n  \"password\": \"[RANDOM PASSWORD]\",\n  \"client-id\": \"[RANDOM CLIENT-ID]\",\n  \"client-secret\": \"[RANDOM CLIENT-SECRET]\"\n}\n```\n\n`credentials` supports the following optional flags\n\n| Name       | Default | Description                               |\n|------------|---------|-------------------------------------------|\n| --email    | \"\"      | Changes the authentication email address. |\n| --password | \"\"      | Changes the authentication password.      |\n\n### deployments\n\n```abctl local deployments```\n\nDisplay kubernetes deployment information and allows for restarting a kubernetes deployment.\n\n`deployments` supports the following optional flags\n\n| Name      | Default | Description                       |\n|-----------|---------|-----------------------------------|\n| --restart | \"\"      | Restarts the provided deployment. | \n\n### install\n\n```abctl local install```\n\nInstalls a local Airbyte instance or updates an existing installation which was initially installed by `abctl`.\n\n\u003e [!NOTE]\n\u003e Depending on your internet speed, `abctl local install` may take up to 30 minutes.\n\n`install` supports the following optional flags:\n\n\u003e [!NOTE]\n\u003e An `-` in the default column indicates no value can be provided.  \n\u003e \n\u003e These flags behave as a switch, enabled if provided, disabled if not.\n\n| Name                | Default | Description                                                                                                                                                                                                                                            |\n|---------------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| --chart             | \"\"      | Path to chart. |\n| --chart-version     | latest  | Which Airbyte helm-chart version to install.                                                                                                                                                                                                           | \n| --docker-email      | \"\"      | Docker email address to authenticate against `--docker-server`.\u003cbr /\u003eCan also be specified by the environment-variable `ABCTL_LOCAL_INSTALL_DOCKER_EMAIL`.                                                                                             |\n| --docker-password   | \"\"      | Docker password to authenticate against `--docker-server`.\u003cbr /\u003eCan also be specified by the environment-variable `ABCTL_LOCAL_INSTALL_DOCKER_PASSWORD`.                                                                                               |\n| --docker-server     | \"\"      | Docker server to authenticate against.\u003cbr /\u003eCan also be specified by the environment-variable `ABCTL_LOCAL_INSTALL_DOCKER_SERVER`.                                                                                                                     |\n| --docker-username   | \"\"      | Docker username to authenticate against `--docker-server`.\u003cbr /\u003eCan also be specified by the environment-variable `ABCTL_LOCAL_INSTALL_DOCKER_USERNAME`.                                                                                               |\n| --insecure-cookies  | -       | Disables secure cookie requirements.\u003cbr /\u003eOnly set if using `--host` with an insecure (non `https`) connection.                                                                                                                                        |\n| --low-resource-mode | false   | Run Airbyte in low resource mode.                                                                                                                                                                                                                      |\n| --host              | \"\"      | FQDN where the Airbyte installation will be accessed. Default is to allow for all incoming traffic on port `--port`.\u003cbr /\u003eSet this if the Airbyte installation needs a more restricted host configuration.                                             |\n| --no-browser        | -       | Disables launching the browser when installation completes.\u003cbr /\u003eUseful to set in situations where no browser is available.                                                                                                                            |\n| --port              | 8000    | Port where the Airbyte installation will be accessed.\u003cbr /\u003eSet this if port 8000 is already in use or if a different port is preferred.                                                                                                                |\n| --secret            | \"\"      | **Can be set multiple times**.\u003cbr /\u003eCreates a kubernetes secret based on the contents of the file provided.\u003cbr /\u003eUseful when used in conjunction with `--values` for customizing installation.                                                         |\n| --values            | \"\"      | Helm values file to further customize the Airbyte installation.                                                                                                                                                                                        |\n| --volume            | \"\"      | **Can be set multiple times**.\u003cbr /\u003eMounts additional volumes in the kubernetes cluster.\u003cbr /\u003eMust be in the format of `\u003cHOST_PATH\u003e:\u003cGUEST_PATH\u003e`.                                                                                                     |\n\n#### Low Resource Mode\n\nThe `--low-resource-mode` flag optimizes Airbyte for environments with limited CPU and memory resources. When enabled, this mode makes the following changes:\n\n**Resource Requests:**\n- Sets all job resource requests (CPU and memory) to `0`, allowing Kubernetes to schedule jobs without minimum resource guarantees\n- Applies to all job types: `check`, `discover`, `spec`, and `sidecar` containers\n\n**Feature Adjustments:**\n- Disables the Connector Builder Server to reduce overall resource consumption\n\nThis mode is ideal for:\n- Development and testing environments with limited resources\n- Machines with constrained CPU or memory\n- Situations where multiple services need to share limited system resources\n\n\u003e [!NOTE]\n\u003e 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.\n\nExample usage:\n```\nabctl local install --low-resource-mode\n```\n\n#### Deploying a Specific Airbyte Version\n\nBy default, `abctl local install` installs the latest version of Airbyte. To deploy a specific version, create a custom Helm values file and pass it using the `--values` flag.\n\n1. Create an `override_values.yaml` file with the following content (replacing `1.2.0` with your desired version):\n\n   ```yaml\n   global:\n     # Docker image config that will apply to all images.\n     image:\n       # Image tag to use for airbyte images.\n       # Does not include non-airbyte images such as temporal, minio, etc.\n       tag: \"1.2.0\"\n   ```\n\n2. Install Airbyte using the custom values file:\n\n   ```\n   abctl local install --values override_values.yaml\n   ```\n\n\u003e [!NOTE]\n\u003e The `--values` flag can be used to customize any Airbyte Helm chart values, not just the image tag.\n\u003e See the [Airbyte Helm chart](https://github.com/airbytehq/airbyte-platform/tree/main/charts/airbyte) for all available configuration options.\n\n### status\n\n```abctl local status```\n\nIf an Airbyte installation exists, returns information regarding that installation.\n\nFor example:\n```\n$ abctl local status\nExisting cluster 'airbyte-abctl' found\nFound helm chart 'airbyte-abctl'\n  Status: deployed\n  Chart Version: 0.422.2\n  App Version: 0.63.15\nFound helm chart 'ingress-nginx'\n  Status: deployed\n  Chart Version: 4.11.1\n  App Version: 1.11.1\nAirbyte should be accessible via http://localhost:8000\n```\n\n### uninstall\n\n```abctl local uninstall```\n\nUninstalls a local Airbyte instance.\n\n\u003e [!NOTE]\n\u003e The data associated with the installed Airbyte instance will not be removed.\n\u003e \n\u003e This is done to allow Airbyte to be reinstalled at a later date with all the data preserved. \n\n`uninstall` supports the following optional flags:\n\n\u003e [!NOTE]\n\u003e An `-` in the default column indicates no value can be provided.\n\u003e\n\u003e These flags behave as a switch, enabled if provided, disabled if not.\n\n| Name        | Default | Description                                                                    |\n|-------------|---------|--------------------------------------------------------------------------------|\n| --persisted | -       | Will remove all data for the Airbyte installation.\u003cbr /\u003eThis cannot be undone. |\n\n## images\n\n```abctl images```\n\nManage images used by Airbyte and abctl.\n\nThe following sub-commands are available:\n- [manifest](#manifest)\n\n### manifest\n\n```abctl images manifest```\n\nDisplay a manifest of images used by Airbyte and abctl.\n\n| Name                | Default | Description  |\n|---------------------|---------|--------------|\n| --chart             | \"\"      | Path to chart. |\n| --chart-version     | latest  | Which Airbyte helm-chart version to install.    |\n| --values            | \"\"      | Helm values file to further customize the Airbyte installation. |\n\n\n\n## version\n\n```abctl version```\n\nDisplays version information about the `abctl` tool.\n\nFor example:\n```\n$ abctl version\nversion: v0.19.0\n```\n\n# Contributing\n\n## Report an Issue\nIf you have found a problem with `abctl`, please open a [Github Issue](https://github.com/airbytehq/airbyte/issues/new/choose) and use the `🐛 [abctl] Report an issue with the abctl tool` template.\n\n## Build\n\nInstall `go`\n- Via [brew](https://brew.sh/)\n   ```\n   brew install go\n   ``` \n- Via [go.dev](https://go.dev/doc/install)\n\nThis repository utilises a [Makefile](Makefile), wrapping the traditional `go` commands\nused for formatting, vetting, building, and testing `go` code.\n\nThe following `make` commands are supported:\n\n| name         | description                                                                         |\n|--------------|-------------------------------------------------------------------------------------|\n| `make build` | Builds the `abctl` binary, placing it in the `build` directory.                     |\n| `make clean` | Removes the `build` directory.                                                      |\n| `make fmt`   | [Formats the code](https://pkg.go.dev/cmd/go#hdr-Gofmt__reformat__package_sources). |\n| `make test`  | Runs all the tests.                                                                 |\n| `make vet`   | Runs the [vet](https://pkg.go.dev/cmd/vet) command.                                 |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairbytehq%2Fabctl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairbytehq%2Fabctl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairbytehq%2Fabctl/lists"}