dheerajturaga opened a new pull request, #75034: URL: https://github.com/apache/airflow/pull/75034
### Stack Stacks on #75033. Stack index: 2 of 20. A PR from a fork cannot target a fork branch, so each PR in the stack is based on `main` and contains every commit below it; only the top commit is new. Review only the commit "Validate api-server --apps values"; the commits below it belong to earlier PRs in the stack. ### Status Draft, part of the stack for [AIP-125 (Inbound Webhooks)](https://lists.apache.org/thread/p3dpnor4zwko8tldpncj6ftj1bpp18q7), which is under discussion on dev@ and has not been voted on. This change does not need the AIP and could be reviewed on its own. ### Why `--apps` is free text that reaches `create_app` through `AIRFLOW_API_APPS`, and any value other than `core`, `execution` or `all` was silently ignored, so a typo such as `--apps webhook` served only the docs pages. AIP-125 adds a `webhooks` app to this set, which makes such typos likelier. The CLI also checks before it starts the server, so multi-worker, `--dev` and `--daemon` runs fail fast rather than in a worker that uvicorn restarts or in a daemon log. ### What to look at - Behaviour change: values that used to start a partial server now fail at startup with `ValueError`, including `"core, execution"` (the space) and `"core,"`. Those deployments already served less than they asked for. No newsfragment is included; a maintainer can ask for one. - The check runs in the CLI and again in `create_app`, which `airflow.api_fastapi.main` reaches through `AIRFLOW_API_APPS` without the CLI. - `API_APPS` has to stay in sync with the `--apps` help text. ### Testing - `test_app.py` and `test_api_server_command.py` passed under breeze on SQLite, Postgres and MySQL. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5.5) Generated-by: Claude Code (Opus 5.5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) --- * Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)** for more information. Note: commit author/co-author name and email in commits become permanently public when merged. * For fundamental code changes, an Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals)) is needed. * When adding dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x). * For significant user-facing changes create newsfragment: `{pr_number}.significant.rst`, in [airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments). You can add this file in a follow-up commit after the PR is created so you know the PR number. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
