A command-line tool for interacting with Apache Airflow instances through the Airflow REST API. It offers a convenient interface for performing common operations remotely without direct access to the Airflow scheduler or webserver.
- Communicates with Airflow instances through the REST API
- Supports authentication using Airflow API tokens
- Executes commands against remote Airflow deployments
- Provides intuitive command organization with group-based structure
- Includes detailed help documentation for all commands
- Python 3.10 or later (compatible with Python >= 3.10 and < 3.13)
- Network access to an Apache Airflow instance with REST API enabled
- [Recommended] Keyring backend installed in operating system for secure token storage.
- In case there's no keyring available (common in headless environments) you can provide the token to each command. See the Security page for more information.
Access the tool from your terminal:
airflowctl --helpWant to help improve Apache Airflow? Check out our contributing documentation.
- Please ensure API is running while doing development testing.
- There are two ways to have a CLI command,
- Auto Generated Commands
- Implemented Commands
Auto generation of commands directly from operations methods under airflow-ctl/src/airflowctl/api/operations.py.
Whenever operation is mapped with proper datamodel and response model, it will be automatically added to the command.
You can check each command with airflowctl <command> --help to see the available options.
Implemented commands are the ones which are not auto generated and need to be implemented manually.
You can check the implemented commands under airflow-ctl/src/airflowctl/clt/commands/.