Skip to content

Dependency to FAB is removed in Connection Forms #42016

@jscheffl

Description

@jscheffl

Description

Relates to #39593

AFter a PoC in #41656 and the Airflow 3 Dev Call this is a follow-up issue to keep track of the efforts to remove the FAB dependency from ProvidersManager Connection Forms for Custom fields.

Technical Idea:

  • Make the custom form field definition into the provider.yaml description as structure
    • NO python code!
    • Follow the structure of JSON Schema like Custom Form fields in DAG Trigger UI (just as YAML/JSON dict)
    • On scheduler where providers are loaded persist the structure to DB
    • WebUI REST API can load the dict information from DB and render UI w/o need to have provider code available and initialized
      • Benefit: Less security risk of exposure due to bad code/dependencies, faster loading of web server API on start (=less imports needed)
  • Migrate existing providers

Use case/motivation

FAB should be an optional dependency and UI should eb able to render custom form fields w/o FAB installed.

Currently custom connection fields are defined in Python Code. This makes additional dependency that Python Provider code must be deployed and loaded in Webserver as well as FAB is needed to render the UI.

Related issues

Airflow 3: #39593
PoC PR: #41656

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    airflow3.0:candidatePotential candidates for Airflow 3.0area:UIRelated to UI/UX. For Frontend Developers.kind:featureFeature Requests

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions