Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
72d5e9d
First run at deleting the legacy UI and webserver
bbovenzi Feb 18, 2025
db39cea
fixup! First run at deleting the legacy UI and webserver
ashb Feb 19, 2025
fdcc386
fixup! First run at deleting the legacy UI and webserver
ashb Feb 19, 2025
c8bf093
Fix static checks
jedcunningham Feb 20, 2025
0e47361
Remove airflow.www.security_manager
jedcunningham Feb 20, 2025
6804bd0
Fix chart default airflowlocalsettings
jedcunningham Feb 20, 2025
514cd18
FAB is now a optional dep for the amazon provider
jedcunningham Feb 20, 2025
ff4bfe4
Stop testing api_connexion
jedcunningham Feb 20, 2025
0edc8b8
Import dag_edges from canonical location
uranusjr Feb 21, 2025
5beec68
Remove 'app' fixture
uranusjr Feb 21, 2025
87e47ae
Fix FAB dependency in Amazon provider
uranusjr Feb 21, 2025
468848e
Remove www references in Breeze
uranusjr Feb 21, 2025
0c89747
Move `dont_initialize_flask_app_submodules` to FAB provider
vincbeck Feb 21, 2025
1570b6d
Move `tests_common/test_utils/www.py` to FAB provider
vincbeck Feb 21, 2025
4ca5903
Remove `providers/amazon/tests/unit/amazon/aws/auth_manager/security_…
vincbeck Feb 21, 2025
3b6e8cc
Fix some pytests in breeze
jscheffl Feb 21, 2025
4c1584b
Fix Breeze unit tests
potiuk Feb 21, 2025
3d07493
Ignore `aws_security_manager_override.py`
vincbeck Feb 21, 2025
0c0974e
Fix databricks test
vincbeck Feb 21, 2025
9ffdf93
Fix google test
vincbeck Feb 21, 2025
e4f2783
Typos
vincbeck Feb 21, 2025
8c9185c
Fix some static checks
jscheffl Feb 22, 2025
d2d8ec9
Fix some static checks in fab tests
jscheffl Feb 22, 2025
ef11104
Remove (some) core pytesst errors
jscheffl Feb 22, 2025
0bceb13
Fix dagrun links from trigger_dagrun and external task sensor
jedcunningham Feb 23, 2025
5452c71
Missed a test covering the old helper
jedcunningham Feb 23, 2025
87d3f04
Restricting moto 5.1.0 to fix ci (#47005)
amoghrajesh Feb 24, 2025
635b534
AIP-84 Adding logging actions (#46814)
vatsrahul1001 Feb 24, 2025
ec6ca70
Fix TestRdsCopyDbSnapshotOperator tests (#47006)
gopidesupavan Feb 24, 2025
a5b1d4d
Fix `test_providers_modules_should_have_tests`
vincbeck Feb 24, 2025
416ffe3
Fix simple auth manager test
vincbeck Feb 24, 2025
0b5a0d5
Move `check_last_log` to `tests_common`
vincbeck Feb 24, 2025
0409d40
Remove `TestPluginsRBAC`
vincbeck Feb 24, 2025
eb0fbec
Remove `test_sync_perm_for_dag_with_dict_access_control`
vincbeck Feb 24, 2025
0ebc25d
Fix `test_external_task_sensor_extra_link`
vincbeck Feb 24, 2025
b4cc2bc
Fix `tests/api_fastapi/core_api/routes/public/test_connections.py`
vincbeck Feb 24, 2025
26aed55
Fix `providers/google/tests/unit/google/common/auth_backend/test_goog…
vincbeck Feb 24, 2025
29ed157
AIP-84 Fix sqlite test lock error on logs (#47016)
pierrejeambrun Feb 25, 2025
b7c69e5
Auto-generate the Pydantic datamodels for TaskSDK in pre-commit (#47026)
ashb Feb 25, 2025
80accac
Ignore databricks plugin tests if AF3
vincbeck Feb 25, 2025
4f91522
Fix tests
vincbeck Feb 25, 2025
9f5f599
Fix `providers/amazon/tests/unit/amazon/aws/auth_manager/test_aws_aut…
vincbeck Feb 25, 2025
d9b5d0e
Keep using Flask app from core for `test_databricks_workflow`
vincbeck Feb 25, 2025
c3e1ec2
Use fastapi server in Python API client test
vincbeck Feb 25, 2025
2906ef8
Fix python client tests
potiuk Feb 26, 2025
26f9d40
Fix fastapi config
vincbeck Feb 26, 2025
b6f283f
Fix compat test
vincbeck Feb 26, 2025
7a0133c
Fix compat tests
vincbeck Feb 26, 2025
d60c64f
fixup! Fix compat tests
potiuk Feb 26, 2025
47a163c
fixup! fixup! Fix compat tests
potiuk Feb 26, 2025
2a475f2
Fix docker compose tests
potiuk Feb 26, 2025
9275cfd
Update docker_tests/test_docker_compose_quick_start.py
potiuk Feb 26, 2025
03dd224
Delete providers/fab/src/airflow/providers/3rd-party-licenses/LICENSE…
potiuk Feb 26, 2025
3fd6517
Bring back api server starting for python client tests
potiuk Feb 26, 2025
3c64711
Add temporary error workaround on test_python_client
potiuk Feb 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,6 @@

# Git version is dynamically generated
airflow/git_version
# Exclude mode_modules pulled by "yarn" for compilation of www files generated by NPM
airflow/www/node_modules
airflow/ui/node_modules
airflow/auth/managers/simple/ui/node_modules

Expand Down
3 changes: 0 additions & 3 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@
/airflow/api_connexion/ @ephraimbuddy @pierrejeambrun
/airflow/api_fastapi/ @ephraimbuddy @pierrejeambrun

# WWW
/airflow/www/ @ryanahamilton @ashb @bbovenzi @pierrejeambrun @jscheffl

# UI
/airflow/ui/ @bbovenzi @pierrejeambrun @ryanahamilton @jscheffl

Expand Down
20 changes: 0 additions & 20 deletions .github/boring-cyborg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,6 @@ labelPRBasedOnFilePath:
- airflow/api_fastapi/**/*
- clients/**/*
- docs/apache-airflow/stable-rest-api-ref.rst
- tests/api_connexion/**/*
- tests/api_fastapi/**/*

area:dev-tools:
Expand All @@ -321,10 +320,6 @@ labelPRBasedOnFilePath:
- .pre-commit-config.yaml
- .rat-excludes
- .readthedocs.yml
- airflow/www/.eslintignore
- airflow/www/.eslintrc
- airflow/www/.stylelintignore
- airflow/www/.stylelintrc

kind:documentation:
- docs/**/*
Expand All @@ -333,22 +328,7 @@ labelPRBasedOnFilePath:
- chart/**/*
- docs/helm-chart/**

area:Webserver:
- airflow/cli/commands/local_commands/webserver_command.py
- airflow/www/**/*
- tests/cli/commands/local_commands/test_webserver_command.py
- tests/www/**/*

area:UI:
- airflow/www/static/**/*
- airflow/www/templates/**/*
- airflow/www/.eslintignore
- airflow/www/.eslintrc
- airflow/www/.stylelintignore
- airflow/www/.stylelintrc
- airflow/www/package.json
- airflow/www/webpack.config.js
- airflow/www/yarn.lock
- docs/apache-airflow/ui.rst
- airflow/ui/**/*

Expand Down
38 changes: 0 additions & 38 deletions .github/workflows/basic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,44 +151,6 @@ jobs:
retention-days: '2'
if: steps.restore-eslint-cache-simple-am-ui.outputs.stash-hit != 'true'

tests-www:
timeout-minutes: 10
name: React WWW tests
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
if: inputs.run-www-tests == 'true'
steps:
- name: "Cleanup repo"
shell: bash
run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*"
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: "Cleanup docker"
run: ./scripts/ci/cleanup_docker.sh
- name: "Setup node"
uses: actions/setup-node@v4
with:
node-version: 21
- name: "Restore eslint cache (www)"
uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
with:
path: airflow/www/node_modules/
key: cache-www-node-modules-v1-${{ runner.os }}-${{ hashFiles('airflow/www/**/yarn.lock') }}
id: restore-eslint-cache
- run: yarn --cwd airflow/www/ install --frozen-lockfile --non-interactive
- run: yarn --cwd airflow/www/ run test
env:
FORCE_COLOR: 2
- name: "Save eslint cache (www)"
uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
with:
path: airflow/www/node_modules/
key: cache-www-node-modules-v1-${{ runner.os }}-${{ hashFiles('airflow/www/**/yarn.lock') }}
if-no-files-found: 'error'
retention-days: '2'
if: steps.restore-eslint-cache.outputs.stash-hit != 'true'

install-pre-commit:
timeout-minutes: 5
name: "Install pre-commit for cache"
Expand Down
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ airflow.db

# Airflow temporary artifacts
airflow/git_version
airflow/www/static/coverage/
airflow/www/*.log
airflow/ui/coverage/
logs/
airflow-webserver.pid
Expand Down
64 changes: 8 additions & 56 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,23 +67,13 @@ repos:
- id: insert-license
name: Add license for CSS/JS/JSX/PUML/TS/TSX
files: \.(css|jsx?|puml|tsx?)$
exclude: ^\.github/.*$|^airflow/www/static/js/types/api-generated.ts$|ui/openapi-gen/|.*/dist/.*
exclude: ^\.github/.*$|ui/openapi-gen/|.*/dist/.*
args:
- --comment-style
- "/*!| *| */"
- --license-filepath
- scripts/ci/license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- id: insert-license
name: Add license for all JINJA template files
files: ^airflow/www/templates/.*\.html$
exclude: ^\.github/.*$
args:
- --comment-style
- "{#||#}"
- --license-filepath
- scripts/ci/license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- id: insert-license
name: Add license for all Shell files
exclude: ^\.github/.*$|^dev/breeze/autocomplete/.*$
Expand Down Expand Up @@ -312,7 +302,7 @@ repos:
exclude: material-icons\.css$|^images/.*$|^RELEASE_NOTES\.txt$|^.*package-lock\.json$|^.*/kinglear\.txt$|^.*pnpm-lock\.yaml$|.*/dist/.*
args:
- --ignore-words=docs/spelling_wordlist.txt
- --skip=providers/.*/src/airflow/providers/*/*.rst,providers/*/docs/changelog.rst,airflow/www/*.log,docs/*/commits.rst,providers/*/docs/commits.rst,providers/*/*/docs/commits.rst,docs/apache-airflow/tutorial/pipeline_example.csv,*.min.js,*.lock,INTHEWILD.md
- --skip=providers/.*/src/airflow/providers/*/*.rst,providers/*/docs/changelog.rst,docs/*/commits.rst,providers/*/docs/commits.rst,providers/*/*/docs/commits.rst,docs/apache-airflow/tutorial/pipeline_example.csv,*.min.js,*.lock,INTHEWILD.md
- --exclude-file=.codespellignorelines
- repo: https://github.com/woodruffw/zizmor-pre-commit
rev: v1.0.0
Expand Down Expand Up @@ -616,7 +606,6 @@ repos:
^airflow/api_connexion/openapi/v1.yaml$|
^airflow/ui/openapi-gen/|
^airflow/cli/commands/local_commands/fastapi_api_command.py$|
^airflow/cli/commands/local_commands/webserver_command.py$|
^airflow/config_templates/|
^airflow/models/baseoperator.py$|
^airflow/operators/__init__.py$|
Expand Down Expand Up @@ -649,9 +638,6 @@ repos:
^airflow/ui/pnpm-lock.yaml$|
^airflow/utils/db.py$|
^airflow/utils/trigger_rule.py$|
^airflow/www/static/css/bootstrap-theme.css$|
^airflow/www/static/js/types/api-generated.ts$|
^airflow/www/templates/appbuilder/flash.html$|
^chart/values.schema.json$|
^dev/|
^docs/README.rst$|
Expand Down Expand Up @@ -858,13 +844,6 @@ repos:
entry: koalaman/shellcheck:v0.8.0 -x -a
files: \.(bash|sh)$|^hooks/build$|^hooks/push$
exclude: ^dev/breeze/autocomplete/.*$
- id: lint-css
name: stylelint
entry: "stylelint"
language: node
files: ^airflow/www/.*\.(css|sass|scss)$
# Keep dependency versions in sync w/ airflow/www/package.json
additional_dependencies: ['stylelint@13.3.1', 'stylelint-config-standard@20.0.0', 'stylelint-config-prettier@9.0.5']
- id: compile-ui-assets
name: Compile ui assets (manual)
language: node
Expand All @@ -874,15 +853,6 @@ repos:
entry: ./scripts/ci/pre_commit/compile_ui_assets.py
pass_filenames: false
additional_dependencies: ['pnpm@9.7.1']
- id: compile-ui-assets-dev
name: Compile ui assets in dev mode (manual)
language: node
stages: ['manual']
types_or: [javascript, ts, tsx]
files: ^airflow/ui/|^airflow/auth/managers/simple/ui/
entry: ./scripts/ci/pre_commit/compile_ui_assets_dev.py
pass_filenames: false
additional_dependencies: ['pnpm@9.7.1']
- id: compile-fab-assets
name: Compile FAB provider assets
language: node
Expand All @@ -891,24 +861,15 @@ repos:
entry: ./scripts/ci/pre_commit/compile_fab_assets.py
pass_filenames: false
additional_dependencies: [ 'yarn@1.22.21' ]
- id: compile-www-assets
name: Compile www assets (manual)
language: node
stages: ['manual']
'types_or': [javascript, ts, tsx]
files: ^airflow/www/
entry: ./scripts/ci/pre_commit/compile_www_assets.py
pass_filenames: false
additional_dependencies: ['yarn@1.22.21']
- id: compile-www-assets-dev
name: Compile www assets in dev mode (manual)
- id: compile-ui-assets-dev
name: Compile ui assets in dev mode (manual)
language: node
stages: ['manual']
'types_or': [javascript, ts, tsx]
files: ^airflow/www/
entry: ./scripts/ci/pre_commit/compile_www_assets_dev.py
types_or: [javascript, ts, tsx]
files: ^airflow/ui/|^airflow/auth/managers/simple/ui/
entry: ./scripts/ci/pre_commit/compile_ui_assets_dev.py
pass_filenames: false
additional_dependencies: ['yarn@1.22.21']
additional_dependencies: ['pnpm@9.7.1']
- id: check-providers-subpackages-init-file-exist
name: Provider subpackage init files are there
pass_filenames: false
Expand Down Expand Up @@ -1194,15 +1155,6 @@ repos:
additional_dependencies: ['rich>=12.4.4']
pass_filenames: false
files: ^tests/.*\.py$
- id: ts-compile-format-lint-www
name: Compile / format / lint WWW
description: TS types generation / ESLint / Prettier against UI files
language: node
'types_or': [javascript, ts, tsx, yaml, css, json]
files: ^airflow/www/static/(js|css)/|^airflow/api_connexion/openapi/v1\.yaml$
entry: ./scripts/ci/pre_commit/lint_www.py
additional_dependencies: ['yarn@1.22.21', "openapi-typescript@>=6.7.4"]
pass_filenames: false
- id: ts-compile-format-lint-ui
name: Compile / format / lint UI
description: TS types generation / ESLint / Prettier new UI files
Expand Down
70 changes: 35 additions & 35 deletions Dockerfile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -1016,8 +1016,8 @@ function check_airflow_python_client_installation() {
python "${IN_CONTAINER_DIR}/install_airflow_python_client.py"
}

function start_webserver_with_examples(){
if [[ ${START_WEBSERVER_WITH_EXAMPLES=} != "true" ]]; then
function start_api_server_with_examples(){
if [[ ${START_API_SERVER_WITH_EXAMPLES=} != "true" ]]; then
return
fi
export AIRFLOW__CORE__LOAD_EXAMPLES=True
Expand All @@ -1038,22 +1038,22 @@ function start_webserver_with_examples(){
airflow users create -u admin -p admin -f Thor -l Administrator -r Admin -e admin@email.domain
echo "Admin user created"
echo
echo "${COLOR_BLUE}Starting airflow webserver${COLOR_RESET}"
echo "${COLOR_BLUE}Starting airflow api server${COLOR_RESET}"
echo
airflow webserver --port 8080 --daemon
airflow api-server --port 9091 --daemon
echo
echo "${COLOR_BLUE}Waiting for webserver to start${COLOR_RESET}"
echo "${COLOR_BLUE}Waiting for api-server to start${COLOR_RESET}"
echo
check_service_connection "Airflow webserver" "run_nc localhost 8080" 100
check_service_connection "Airflow api-server" "run_nc localhost 9091" 100
EXIT_CODE=$?
if [[ ${EXIT_CODE} != 0 ]]; then
echo
echo "${COLOR_RED}Webserver did not start properly${COLOR_RESET}"
echo "${COLOR_RED}Api server did not start properly${COLOR_RESET}"
echo
exit ${EXIT_CODE}
fi
echo
echo "${COLOR_BLUE}Airflow webserver started${COLOR_RESET}"
echo "${COLOR_BLUE}Airflow api-server started${COLOR_RESET}"
}

handle_mount_sources
Expand All @@ -1064,7 +1064,7 @@ check_downgrade_sqlalchemy
check_downgrade_pendulum
check_force_lowest_dependencies
check_airflow_python_client_installation
start_webserver_with_examples
start_api_server_with_examples
check_run_tests "${@}"

exec /bin/bash "${@}"
Expand Down Expand Up @@ -1115,8 +1115,8 @@ ARG DEV_APT_COMMAND=""
ARG ADDITIONAL_DEV_APT_COMMAND=""
ARG ADDITIONAL_DEV_ENV_VARS=""
ARG ADDITIONAL_DEV_APT_DEPS="bash-completion dumb-init git graphviz krb5-user \
less libenchant-2-2 libgcc-11-dev libgeos-dev libpq-dev net-tools netcat-openbsd \
openssh-server postgresql-client software-properties-common rsync tmux unzip vim xxd"
less libenchant-2-2 libgcc-11-dev libgeos-dev libpq-dev net-tools netcat-openbsd \
openssh-server postgresql-client software-properties-common rsync tmux unzip vim xxd"

ARG ADDITIONAL_DEV_APT_ENV=""

Expand Down Expand Up @@ -1153,7 +1153,7 @@ RUN bash /scripts/docker/install_mysql.sh prod \
&& bash /scripts/docker/install_postgres.sh dev \
# The user is added to allow ssh debugging (you can connect with airflow/airflow over ssh)
&& adduser --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password \
--quiet "airflow" --home "/home/airflow" \
--quiet "airflow" --home "/home/airflow" \
&& echo -e "airflow\nairflow" | passwd airflow 2>&1 \
&& echo "airflow ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/airflow \
&& chmod 0440 /etc/sudoers.d/airflow
Expand Down Expand Up @@ -1309,7 +1309,7 @@ ENV ADDITIONAL_PYTHON_DEPS=${ADDITIONAL_PYTHON_DEPS}
RUN --mount=type=cache,id=ci-$TARGETARCH-$DEPENDENCY_CACHE_EPOCH,target=/root/.cache/ \
bash /scripts/docker/install_packaging_tools.sh; \
if [[ -n "${ADDITIONAL_PYTHON_DEPS}" ]]; then \
bash /scripts/docker/install_additional_dependencies.sh; \
bash /scripts/docker/install_additional_dependencies.sh; \
fi

COPY --from=scripts entrypoint_ci.sh /entrypoint
Expand All @@ -1319,7 +1319,7 @@ RUN chmod a+x /entrypoint /entrypoint-exec

# Install autocomplete for airflow and kubectl
RUN if command -v airflow; then \
register-python-argcomplete airflow >> ~/.bashrc ; \
register-python-argcomplete airflow >> ~/.bashrc ; \
fi; \
echo "source /etc/bash_completion" >> ~/.bashrc

Expand All @@ -1346,27 +1346,27 @@ RUN ln -sf /usr/bin/dumb-init /usr/local/bin/dumb-init
EXPOSE 8080

LABEL org.apache.airflow.distro="debian" \
org.apache.airflow.module="airflow" \
org.apache.airflow.component="airflow" \
org.apache.airflow.image="airflow-ci" \
org.apache.airflow.version="${AIRFLOW_VERSION}" \
org.apache.airflow.uid="0" \
org.apache.airflow.gid="0" \
org.apache.airflow.build-id="${BUILD_ID}" \
org.apache.airflow.commit-sha="${COMMIT_SHA}" \
org.opencontainers.image.source="${AIRFLOW_IMAGE_REPOSITORY}" \
org.opencontainers.image.created="${AIRFLOW_IMAGE_DATE_CREATED}" \
org.opencontainers.image.authors="dev@airflow.apache.org" \
org.opencontainers.image.url="https://airflow.apache.org" \
org.opencontainers.image.documentation="https://airflow.apache.org/docs/docker-stack/index.html" \
org.opencontainers.image.source="https://github.com/apache/airflow" \
org.opencontainers.image.version="${AIRFLOW_VERSION}" \
org.opencontainers.image.revision="${COMMIT_SHA}" \
org.opencontainers.image.vendor="Apache Software Foundation" \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.ref.name="airflow-ci-image" \
org.opencontainers.image.title="Continuous Integration Airflow Image" \
org.opencontainers.image.description="Installed Apache Airflow with Continuous Integration dependencies"
org.apache.airflow.module="airflow" \
org.apache.airflow.component="airflow" \
org.apache.airflow.image="airflow-ci" \
org.apache.airflow.version="${AIRFLOW_VERSION}" \
org.apache.airflow.uid="0" \
org.apache.airflow.gid="0" \
org.apache.airflow.build-id="${BUILD_ID}" \
org.apache.airflow.commit-sha="${COMMIT_SHA}" \
org.opencontainers.image.source="${AIRFLOW_IMAGE_REPOSITORY}" \
org.opencontainers.image.created="${AIRFLOW_IMAGE_DATE_CREATED}" \
org.opencontainers.image.authors="dev@airflow.apache.org" \
org.opencontainers.image.url="https://airflow.apache.org" \
org.opencontainers.image.documentation="https://airflow.apache.org/docs/docker-stack/index.html" \
org.opencontainers.image.source="https://github.com/apache/airflow" \
org.opencontainers.image.version="${AIRFLOW_VERSION}" \
org.opencontainers.image.revision="${COMMIT_SHA}" \
org.opencontainers.image.vendor="Apache Software Foundation" \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.ref.name="airflow-ci-image" \
org.opencontainers.image.title="Continuous Integration Airflow Image" \
org.opencontainers.image.description="Installed Apache Airflow with Continuous Integration dependencies"

ENTRYPOINT ["/usr/bin/dumb-init", "--", "/entrypoint"]
CMD []
2 changes: 1 addition & 1 deletion airflow/api_fastapi/core_api/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@
from starlette.staticfiles import StaticFiles
from starlette.templating import Jinja2Templates

from airflow.api_fastapi.core_api.init_dagbag import get_dag_bag
from airflow.api_fastapi.core_api.middleware import FlaskExceptionsMiddleware
from airflow.configuration import conf
from airflow.exceptions import AirflowException
from airflow.settings import AIRFLOW_PATH
from airflow.www.extensions.init_dagbag import get_dag_bag

log = logging.getLogger(__name__)

Expand Down
Loading