The Astronomer CLI can be used to build Airflow DAGs locally and run them via Docker-Compose, as well as to deploy those DAGs to Astronomer-managed Airflow clusters and interact with the Astronomer API in general.
astro is a command line interface for working with the Astronomer Platform. Usage: astro [command] Available Commands: auth Manage astronomer identity cluster Manage Astronomer EE clusters config Manage astro project configurations deploy Deploy an airflow project deployment Manage airflow deployments dev Manage airflow projects and deployments help Help about any command service-account Manage astronomer service accounts upgrade Check for newer version of Astronomer CLI user Manage astronomer user version Astronomer CLI version workspace Manage Astronomer workspaces Flags: -h, --help help for astro Use "astro [command] --help" for more information about a command.
If you're using Astronomer Cloud or Astronomer Enterprise v0.7.x
curl -sSL https://install.astronomer.io | sudo bash -s -- v0.7.5
If you're using Astronomer Enterprise v0.8 or later
curl -sSL https://install.astronomer.io | sudo bash
curl -sSL https://install.astronomer.io | sudo bash -s -- [TAGNAME]
curl -sSL https://install.astronomer.io | sudo bash -s -- v0.3.1
Note: If you get mkdir error during installation please download and run godownloader script locally.
$ cat godownloader.sh | bash -s -- -b /usr/local/bin
Installing on Windows
Note: Make sure you have Windows 10 and Docker installed
- Download latest release of astro-cli using this astro_0.8.2_windows_386.zip
astro.exesomewhere in your
- Open cmd or PowerShell console and run:
C:\Windows\system32>astro version Astro CLI Version: 0.8.2 Git Commit: f5cdab8f832da3c6184a7ac167b491e3bac3c022
- Make sure you go through instruction to install Docker on windows properly https://docs.docker.com/docker-for-windows/install/
- Make sure you enabled Hyper-V, it's requre to Docker and Linux Containers, also plesae review this document https://docs.docker.com/docker-for-windows/troubleshoot/
- Confirm the install worked:
- Create a project:
$ mkdir hello-astro && cd hello-astro $ astro dev init
This will generate a skeleton project directory:
. ├── dags │ ├── example-dag.py ├── Dockerfile ├── include ├── packages.txt ├── plugins └── requirements.txt
Dags can go in the
dags folder, custom airflow plugins in
plugins, python packages needed can go in
requirements.txt, and OS level packages can go in
- Start airflow
astro dev start to start a local version of airflow on your machine. This will spin up a few locally running docker containers - one for the airflow scheduler, one for the webserver, and one for postgres.
docker ps to verify)
The CLI includes a help command, descriptions, as well as usage info for subcommands.
To see the help overview:
$ astro help
Or for subcommands:
$ astro dev --help
$ astro deploy --help
How to get started as a developer:
$ git clone firstname.lastname@example.org:astronomerio/astro-cli.git $ cd astro-cli $ make build
- (Optional) Install to
$ make install
astro-cli is a single component of the much larger Astronomer Enterprise platform. In order to test locally you will need to
local: enabled: true houston: http://localhost:8871/v1 orbit: http://localhost:5000
Docs (/docs) are generated using the
github.com/spf13/cobra/doc pkg. Currently this pkg is broken with go vendoring, the following instructions include a workaround
- Remove the
/vendor/github.com/spf13/cobrapkg, forcing Go to search your go path for the package instead
go run gendocs/gendocs.go
The Astronomer platform is under very active development. Because of this we cannot make backwards compatibility guarantees between versions.
The astro-cli is following a semantic versioning scheme
with all releases up until 1.0.0 considered beta.
astro-cli tightly tracks the platform release versioning, this means that compatibility is only guaranteed between matching minor versions of the platform and the astro-cli. ie. astro-cli
v0.9.0 is guaranteed to be compatible with houston-api
v0.9.x but not houston-api