Skip to content

[AIP-94] airflowctl command migration #68402

Description

@bugraoz93

Body

Goal: move every remote airflow CLI command (anything backed by a public REST API endpoint)
into airflowctl. Admin commands have no API and are local-only. They run components (scheduler,
api-server, triggerer, dag-processor, kerberos, standalone), manage the DB, or reach internals
directly (DAG parsing/rendering, local provider manager). Those remain in the airflow CLI and are
out of scope here.

Why:
AIP-81: Enhanced Security in CLI via Integration of API
and its sub-proposal
AIP-94: Decouple Remote Commands from the airflow CLI.

Status: converted. The only work per command now is to add the marker decorator to the
listed commands so they are frozen for development. There is no airflowctl migration to
do.

What to do:

  • Add the marker decorator to each command on the list. See PR Convert CLI Deprecations to maintainer idetifiable only #68726 for how the
    decorator is converted to a maintainer and developer facing marker (it replaces the
    user facing deprecation warning). Apply that same decorator to each command.
  • The decorator is maintainer and developer facing only. It records the airflowctl
    equivalent and adds a note in the code, and it does not print anything to users or
    change behavior.
  • The point of the marker is to freeze these commands for development. Once a command is
    marked, no new features or behavior changes should land on it.

Admin (no API, local-only, not migrated, stay in the airflow CLI):

  • dags: show, show-dependencies, test, reserialize (parse/render DAGs directly)
  • tasks: test, render (execute/render DAG files directly)
  • providers: links, widgets, hooks, triggers, behaviours, logging, secrets,
    executors, queues, notifications, configs, lazy-loaded, auth-managers (read the local
    provider manager)

dags

tasks

  • operations for tasks
  • tasks state
  • tasks states-for-dag-run
  • tasks clear
  • tasks list
  • tasks failed-deps

assets

pools

variables

connections

backfill

  • backfill create

jobs

  • jobs check

config

providers

Committer

  • I acknowledge that I am a maintainer/committer of the Apache Airflow project.

Activity

  1. added this to the Airflow 3.3.0 milestone on Jun 11, 2026
  2. added theissue type on Jun 11, 2026
  3. Prab-27 commented on Jun 13, 2026

    @Prab-27
    Contributor

    I'm working on connections

  4. bugraoz93 commented on Jun 13, 2026

    @bugraoz93
    ContributorAuthor

    @ElangoSubramani, you mentioned you would like to work. Pick a single command. That would be easier rather than going for full. It would be helpful for reviews too.

  5. justinpakzad commented on Jun 13, 2026

    @justinpakzad
    Contributor

    I'm going to take assets if that's cool.

  6. yuseok89 commented on Jun 14, 2026

    @yuseok89
    Contributor

    I'd like to take backfill create and providers get.

  7. 12 remaining items

  8. added a commit that references this issue on Jul 26, 2026
  9. vatsrahul1001 commented on Jul 28, 2026

    @vatsrahul1001
    Contributor

    Moving to 3.4.0 as its more appropriate for minor

  10. added a commit that references this issue on Sep 24, 2026
  11. kaxil commented on Oct 1, 2026

    @kaxil
    Member

    All the items tracked here are now closed or merged. Can this be closed, or is there remaining work it should track?

  12. yuseok89 commented on Oct 7, 2026

    @yuseok89
    Contributor

    I checked the unchecked items against main.

    Two checked items have the marker but no airflowctl command on main yet.

    Apart from these, everything else looks done to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions