-
Notifications
You must be signed in to change notification settings - Fork 16.2k
Open
Labels
airflow3.0:candidatePotential candidates for Airflow 3.0Potential candidates for Airflow 3.0area:UIRelated to UI/UX. For Frontend Developers.Related to UI/UX. For Frontend Developers.kind:featureFeature RequestsFeature Requests
Milestone
Description
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
- Option 1: Manually migrate providers once from code to YAML
- Option 2: Implement a automated migration similar to PoC to make ProvidersManager independent of FAB for connection forms #41656 to read Python code and create YAML as pre-commit hook to keep it in sync
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
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
airflow3.0:candidatePotential candidates for Airflow 3.0Potential candidates for Airflow 3.0area:UIRelated to UI/UX. For Frontend Developers.Related to UI/UX. For Frontend Developers.kind:featureFeature RequestsFeature Requests