diff --git a/Dockerfile.ci b/Dockerfile.ci
index 268ef4bbab88f..fec3dd4ac47b7 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -1040,11 +1040,11 @@ function start_api_server_with_examples(){
echo
echo "${COLOR_BLUE}Starting airflow api server${COLOR_RESET}"
echo
- airflow api-server --port 9091 --daemon
+ airflow api-server --port 8080 --daemon
echo
echo "${COLOR_BLUE}Waiting for api-server to start${COLOR_RESET}"
echo
- check_service_connection "Airflow api-server" "run_nc localhost 9091" 100
+ check_service_connection "Airflow api-server" "run_nc localhost 8080" 100
EXIT_CODE=$?
if [[ ${EXIT_CODE} != 0 ]]; then
echo
diff --git a/airflow/config_templates/config.yml b/airflow/config_templates/config.yml
index 6a57fc709874a..46f11e34ab80e 100644
--- a/airflow/config_templates/config.yml
+++ b/airflow/config_templates/config.yml
@@ -534,7 +534,7 @@ core:
version_added: 3.0.0
type: string
example: ~
- default: "http://localhost:9091/execution/"
+ default: "http://localhost:8080/execution/"
database:
description: ~
options:
@@ -1321,7 +1321,7 @@ api:
version_added: ~
type: string
example: ~
- default: "http://localhost:9091"
+ default: "http://localhost:8080"
host:
description: |
The ip specified when starting the api server
@@ -1335,7 +1335,7 @@ api:
version_added: ~
type: string
example: ~
- default: "9091"
+ default: "8080"
workers:
description: |
Number of workers to run on the API server
diff --git a/airflow/ui/CONTRIBUTING.md b/airflow/ui/CONTRIBUTING.md
index 44e5a55570e27..73ff3ee00df46 100644
--- a/airflow/ui/CONTRIBUTING.md
+++ b/airflow/ui/CONTRIBUTING.md
@@ -28,7 +28,7 @@ Manually:
- Have the `dev-mode` environment variable enabled
- Run `pnpm install && pnpm dev`
-- Note: Make sure to access the UI via the Airflow localhost port (9091 or 29091) and not the vite port (5173)
+- Note: Make sure to access the UI via the Airflow localhost port (8080 or 28080) and not the vite port (5173)
## More
diff --git a/airflow/ui/src/router.tsx b/airflow/ui/src/router.tsx
index fe88d08fea577..b3d5ecbc15694 100644
--- a/airflow/ui/src/router.tsx
+++ b/airflow/ui/src/router.tsx
@@ -189,7 +189,7 @@ export const routerConfig = [
},
];
-const baseUrl = document.querySelector("base")?.href ?? "http://localhost:9091/";
+const baseUrl = document.querySelector("base")?.href ?? "http://localhost:8080/";
const basename = new URL(baseUrl).pathname;
export const router = createBrowserRouter(routerConfig, { basename });
diff --git a/airflow/utils/helpers.py b/airflow/utils/helpers.py
index 6196ec7802810..86730198ee4ef 100644
--- a/airflow/utils/helpers.py
+++ b/airflow/utils/helpers.py
@@ -256,7 +256,7 @@ def build_airflow_dagrun_url(dag_id: str, run_id: str) -> str:
Build airflow dagrun url using base_url and provided dag_id and run_id.
For example:
- http://localhost:9091/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q
+ http://localhost:8080/dags/hi/runs/manual__2025-02-23T18:27:39.051358+00:00_RZa1at4Q
"""
baseurl = conf.get("api", "base_url")
return f"{baseurl}/dags/{dag_id}/runs/{run_id}"
diff --git a/chart/values.schema.json b/chart/values.schema.json
index bdbfc372a3733..edd019cfaf5c7 100644
--- a/chart/values.schema.json
+++ b/chart/values.schema.json
@@ -4962,7 +4962,7 @@
],
"examples": [
{
- "port": 9091
+ "port": 8080
}
]
}
@@ -5190,7 +5190,7 @@
"examples": [
{
"name": "api-server",
- "port": 9091,
+ "port": 8080,
"targetPort": "api-server"
},
{
@@ -8186,7 +8186,7 @@
"apiServer": {
"description": "API server port.",
"type": "integer",
- "default": 9091
+ "default": 8080
},
"workerLogs": {
"description": "Worker logs port.",
diff --git a/chart/values.yaml b/chart/values.yaml
index 13ac9891c6f3f..25d67fced692f 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -2541,7 +2541,7 @@ ports:
statsdScrape: 9102
pgbouncer: 6543
pgbouncerScrape: 9127
- apiServer: 9091
+ apiServer: 8080
# Define any ResourceQuotas for namespace
quotas: {}
diff --git a/clients/python/test_python_client.py b/clients/python/test_python_client.py
index b3ab213bb93df..7b103210b748c 100644
--- a/clients/python/test_python_client.py
+++ b/clients/python/test_python_client.py
@@ -58,7 +58,7 @@
# Configure HTTP basic authorization: Basic
configuration = airflow_client.client.Configuration(
- host="http://localhost:9091/public", username="admin", password="admin"
+ host="http://localhost:8080/public", username="admin", password="admin"
)
# Make sure in the [core] section, the `load_examples` config is set to True in your airflow.cfg
diff --git a/contributing-docs/03_contributors_quick_start.rst b/contributing-docs/03_contributors_quick_start.rst
index e6b42a282393c..7cab285316ff5 100644
--- a/contributing-docs/03_contributors_quick_start.rst
+++ b/contributing-docs/03_contributors_quick_start.rst
@@ -505,7 +505,7 @@ Using Breeze
Ports are forwarded to the running docker containers for webserver and database
* 12322 -> forwarded to Airflow ssh server -> airflow:22
- * 29091 -> forwarded to Airflow api server API -> airflow:9091
+ * 28080 -> forwarded to Airflow api server API -> airflow:8080
* 25555 -> forwarded to Flower dashboard -> airflow:5555
* 25433 -> forwarded to Postgres database -> postgres:5432
* 23306 -> forwarded to MySQL database -> mysql:3306
@@ -514,7 +514,7 @@ Using Breeze
Direct links to those services that you can use from the host:
* ssh connection for remote debugging: ssh -p 12322 airflow@127.0.0.1 (password: airflow)
- * API server: http://127.0.0.1:29091
+ * API server: http://127.0.0.1:28080
* Flower: http://127.0.0.1:25555
* Postgres: jdbc:postgresql://127.0.0.1:25433/airflow?user=postgres&password=airflow
* Mysql: jdbc:mysql://127.0.0.1:23306/airflow?user=root
@@ -575,12 +575,12 @@ Using Breeze
:select-layout tiled
-2. Now you can access airflow web interface on your local machine at |http://localhost:29091| with user name ``admin``
+2. Now you can access airflow web interface on your local machine at |http://localhost:28080| with user name ``admin``
and password ``admin``
- .. |http://localhost:29091| raw:: html
+ .. |http://localhost:28080| raw:: html
- http://localhost:29091
+ http://localhost:28080
.. raw:: html
diff --git a/dev/breeze/doc/03_developer_tasks.rst b/dev/breeze/doc/03_developer_tasks.rst
index 8641744982be7..10e0e0f777596 100644
--- a/dev/breeze/doc/03_developer_tasks.rst
+++ b/dev/breeze/doc/03_developer_tasks.rst
@@ -112,7 +112,7 @@ When you run Airflow Breeze, the following ports are automatically forwarded:
.. code-block::
* 12322 -> forwarded to Airflow ssh server -> airflow:22
- * 29091 -> forwarded to Airflow FastAPI API -> airflow:9091
+ * 28080 -> forwarded to Airflow API server or webserver -> airflow:8080
* 25555 -> forwarded to Flower dashboard -> airflow:5555
* 25433 -> forwarded to Postgres database -> postgres:5432
* 23306 -> forwarded to MySQL database -> mysql:3306
@@ -124,7 +124,7 @@ You can connect to these ports/databases using:
.. code-block::
* ssh connection for remote debugging: ssh -p 12322 airflow@127.0.0.1 pw: airflow
- * FastAPI API: http://127.0.0.1:29091
+ * API server or webserver: http://127.0.0.1:28080
* Flower: http://127.0.0.1:25555
* Postgres: jdbc:postgresql://127.0.0.1:25433/airflow?user=postgres&password=airflow
* Mysql: jdbc:mysql://127.0.0.1:23306/airflow?user=root
@@ -152,8 +152,7 @@ database client:
You can change the used host port numbers by setting appropriate environment variables:
* ``SSH_PORT``
-* ``WEBSERVER_HOST_PORT`` - for Airflow 2 web UI when --use-airflow-version is used
-* ``API_SERVER_HOST_PORT``
+* ``WEB_HOST_PORT`` - API server for Airflow 3, or webserver port for Airflow 2 when --use-airflow-version is used
* ``POSTGRES_HOST_PORT``
* ``MYSQL_HOST_PORT``
* ``MSSQL_HOST_PORT``
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py
index 5ea0888f9e908..9c64c567c413a 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -334,8 +334,7 @@ def get_default_platform_machine() -> str:
REDIS_HOST_PORT = "26379"
SSH_PORT = "12322"
VITE_DEV_PORT = "5173"
-WEBSERVER_HOST_PORT = "28080"
-API_SERVER_HOST_PORT = "29091"
+WEB_HOST_PORT = "28080"
CELERY_BROKER_URLS_MAP = {"rabbitmq": "amqp://guest:guest@rabbitmq:5672", "redis": "redis://redis:6379/0"}
SQLITE_URL = "sqlite:////root/airflow/sqlite/airflow.db"
diff --git a/dev/breeze/src/airflow_breeze/params/shell_params.py b/dev/breeze/src/airflow_breeze/params/shell_params.py
index 4646f2b2bf802..38e97804c5f4d 100644
--- a/dev/breeze/src/airflow_breeze/params/shell_params.py
+++ b/dev/breeze/src/airflow_breeze/params/shell_params.py
@@ -35,7 +35,6 @@
ALLOWED_POSTGRES_VERSIONS,
ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS,
APACHE_AIRFLOW_GITHUB_REPOSITORY,
- API_SERVER_HOST_PORT,
CELERY_BROKER_URLS_MAP,
CELERY_EXECUTOR,
DEFAULT_CELERY_BROKER,
@@ -60,7 +59,7 @@
TESTABLE_CORE_INTEGRATIONS,
TESTABLE_PROVIDERS_INTEGRATIONS,
USE_AIRFLOW_MOUNT_SOURCES,
- WEBSERVER_HOST_PORT,
+ WEB_HOST_PORT,
GithubEvents,
GroupOfTests,
get_airflow_version,
@@ -507,7 +506,7 @@ def env_variables_for_docker_commands(self) -> dict[str, str]:
_set_var(_env, "AIRFLOW_VERSION", self.airflow_version)
_set_var(_env, "AIRFLOW__CELERY__BROKER_URL", self.airflow_celery_broker_url)
_set_var(_env, "AIRFLOW__CORE__EXECUTOR", self.executor)
- _set_var(_env, "AIRFLOW__API__BASE_URL", f"http://localhost:{API_SERVER_HOST_PORT}")
+ _set_var(_env, "AIRFLOW__API__BASE_URL", f"http://localhost:{WEB_HOST_PORT}")
if self.executor == EDGE_EXECUTOR:
_set_var(
_env, "AIRFLOW__CORE__EXECUTOR", "airflow.providers.edge.executors.edge_executor.EdgeExecutor"
@@ -524,11 +523,7 @@ def env_variables_for_docker_commands(self) -> dict[str, str]:
"attempt={{ try_number|default(ti.try_number) }}.log",
)
- # Dev Airflow 3 runs API on FastAPI transitional
- port = 9091
- if self.use_airflow_version and self.use_airflow_version.startswith("2."):
- # Airflow 2.10 runs it in the webserver atm
- port = 8080
+ port = 8080
_set_var(_env, "AIRFLOW__EDGE__API_URL", f"http://localhost:{port}/edge_worker/v1/rpcapi")
_set_var(_env, "ANSWER", get_forced_answer() or "")
_set_var(_env, "BACKEND", self.backend)
@@ -617,8 +612,7 @@ def env_variables_for_docker_commands(self) -> dict[str, str]:
_set_var(_env, "VERBOSE", get_verbose())
_set_var(_env, "VERBOSE_COMMANDS", self.verbose_commands)
_set_var(_env, "VERSION_SUFFIX_FOR_PYPI", self.version_suffix_for_pypi)
- _set_var(_env, "WEBSERVER_HOST_PORT", None, WEBSERVER_HOST_PORT)
- _set_var(_env, "API_SERVER_HOST_PORT", None, API_SERVER_HOST_PORT)
+ _set_var(_env, "WEB_HOST_PORT", None, WEB_HOST_PORT)
_set_var(_env, "_AIRFLOW_RUN_DB_TESTS_ONLY", self.run_db_tests_only)
_set_var(_env, "_AIRFLOW_SKIP_DB_TESTS", self.skip_db_tests)
self._generate_env_for_docker_compose_file_if_needed(_env)
diff --git a/dev/breeze/src/airflow_breeze/utils/cdxgen.py b/dev/breeze/src/airflow_breeze/utils/cdxgen.py
index 5431daaa0fb90..dce222d7dd956 100644
--- a/dev/breeze/src/airflow_breeze/utils/cdxgen.py
+++ b/dev/breeze/src/airflow_breeze/utils/cdxgen.py
@@ -69,7 +69,7 @@ def start_cdxgen_server(application_root_path: Path, run_in_parallel: bool, para
fork_cdxgen_server(application_root_path)
else:
for i in range(parallelism):
- fork_cdxgen_server(application_root_path, port=9091 + i)
+ fork_cdxgen_server(application_root_path, port=8080 + i)
time.sleep(1)
get_console().print("[info]Waiting for cdxgen server to start")
time.sleep(3)
@@ -115,7 +115,7 @@ def fork_cdxgen_server(application_root_path, port=9090):
def get_port_mapping(x):
# if we do not sleep here, then we could skip mapping for some process if it is handle
time.sleep(1)
- return multiprocessing.current_process().name, 9091 + x
+ return multiprocessing.current_process().name, 8080 + x
def get_cdxgen_port_mapping(parallelism: int, pool: Pool) -> dict[str, int]:
diff --git a/dev/breeze/src/airflow_breeze/utils/visuals.py b/dev/breeze/src/airflow_breeze/utils/visuals.py
index 6f56cc3dadde0..fd8e8357f8acb 100644
--- a/dev/breeze/src/airflow_breeze/utils/visuals.py
+++ b/dev/breeze/src/airflow_breeze/utils/visuals.py
@@ -21,13 +21,12 @@
from __future__ import annotations
from airflow_breeze.global_constants import (
- API_SERVER_HOST_PORT,
FLOWER_HOST_PORT,
MYSQL_HOST_PORT,
POSTGRES_HOST_PORT,
REDIS_HOST_PORT,
SSH_PORT,
- WEBSERVER_HOST_PORT,
+ WEB_HOST_PORT,
)
from airflow_breeze.utils.path_utils import AIRFLOW_SOURCES_ROOT
@@ -82,22 +81,20 @@
Ports are forwarded to the running docker containers for webserver and database
* {SSH_PORT} -> forwarded to Airflow ssh server -> airflow:22
- * {API_SERVER_HOST_PORT} -> forwarded to Airflow api server API -> airflow:9091
+ * {WEB_HOST_PORT} -> forwarded to Airflow api server (Airflow 3) or webserver (Airflow 2) -> airflow:8080
* {FLOWER_HOST_PORT} -> forwarded to Flower dashboard -> airflow:5555
* {POSTGRES_HOST_PORT} -> forwarded to Postgres database -> postgres:5432
* {MYSQL_HOST_PORT} -> forwarded to MySQL database -> mysql:3306
* {REDIS_HOST_PORT} -> forwarded to Redis broker -> redis:6379
- * {WEBSERVER_HOST_PORT} -> forwarded to Airflow 2 (only Airflow 2) web server API -> airflow:8080
Direct links to those services that you can use from the host:
* ssh connection for remote debugging: ssh -p {SSH_PORT} airflow@127.0.0.1 (password: airflow)
- * API server: http://127.0.0.1:{API_SERVER_HOST_PORT}
+ * API server or webserver: http://127.0.0.1:{WEB_HOST_PORT}
* Flower: http://127.0.0.1:{FLOWER_HOST_PORT}
* Postgres: jdbc:postgresql://127.0.0.1:{POSTGRES_HOST_PORT}/airflow?user=postgres&password=airflow
* Mysql: jdbc:mysql://127.0.0.1:{MYSQL_HOST_PORT}/airflow?user=root
* Redis: redis://127.0.0.1:{REDIS_HOST_PORT}/0
- * Airflow 2 web server: http://127.0.0.1:{WEBSERVER_HOST_PORT}
[info]* How can I add my stuff in Breeze:[/]
diff --git a/docker_tests/test_docker_compose_quick_start.py b/docker_tests/test_docker_compose_quick_start.py
index 846065243c35f..c91dbb36dba6d 100644
--- a/docker_tests/test_docker_compose_quick_start.py
+++ b/docker_tests/test_docker_compose_quick_start.py
@@ -40,7 +40,7 @@
DAG_RUN_ID = "test_dag_run_id"
-def api_request(method: str, path: str, base_url: str = "http://localhost:9091/public", **kwargs) -> dict:
+def api_request(method: str, path: str, base_url: str = "http://localhost:8080/public", **kwargs) -> dict:
response = requests.request(
method=method,
url=f"{base_url}/{path}",
diff --git a/docs/apache-airflow/administration-and-deployment/web-stack.rst b/docs/apache-airflow/administration-and-deployment/web-stack.rst
index 41cb83beaaec8..9a16906ab6acf 100644
--- a/docs/apache-airflow/administration-and-deployment/web-stack.rst
+++ b/docs/apache-airflow/administration-and-deployment/web-stack.rst
@@ -22,7 +22,7 @@ Web Stack
Sometimes you want to deploy the backend and frontend behind a
variable url path prefix. To do so, you can configure the url :ref:`config:api__base_url`
-for instance, set it to ``http://localhost:29091/d12345``. All the APIs routes will
+for instance, set it to ``http://localhost:28080/d12345``. All the APIs routes will
now be available through that additional ``d12345`` prefix. Without rebuilding
the frontend, XHR requests and static file queries should be directed to the prefixed url
and served successfully.
diff --git a/docs/apache-airflow/howto/docker-compose/docker-compose.yaml b/docs/apache-airflow/howto/docker-compose/docker-compose.yaml
index 8ca2dfc06d90a..ec3e4f862020b 100644
--- a/docs/apache-airflow/howto/docker-compose/docker-compose.yaml
+++ b/docs/apache-airflow/howto/docker-compose/docker-compose.yaml
@@ -62,7 +62,7 @@ x-airflow-common:
AIRFLOW__CORE__LOAD_EXAMPLES: 'true'
AIRFLOW__API__AUTH_BACKENDS: >-
airflow.providers.fab.auth_manager.api.auth.backend.basic_auth,airflow.api.auth.backend.session
- AIRFLOW__WORKERS__EXECUTION_API_SERVER_URL: 'http://airflow-apiserver:9091/execution/'
+ AIRFLOW__WORKERS__EXECUTION_API_SERVER_URL: 'http://airflow-apiserver:8080/execution/'
# yamllint disable rule:line-length
# Use simple http server on scheduler for health checks
# See https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/check-health.html#scheduler-health-check-server
@@ -121,9 +121,9 @@ services:
<<: *airflow-common
command: api-server
ports:
- - "9091:9091"
+ - "8080:8080"
healthcheck:
- test: ["CMD", "curl", "--fail", "http://localhost:9091/public/version"]
+ test: ["CMD", "curl", "--fail", "http://localhost:8080/public/version"]
interval: 30s
timeout: 10s
retries: 5
diff --git a/helm_tests/airflow_core/test_api_server.py b/helm_tests/airflow_core/test_api_server.py
index 08fba28004660..a24eb682efa88 100644
--- a/helm_tests/airflow_core/test_api_server.py
+++ b/helm_tests/airflow_core/test_api_server.py
@@ -595,7 +595,7 @@ def test_default_service(self):
"release": "release-name",
}
assert jmespath.search("spec.type", docs[0]) == "ClusterIP"
- assert {"name": "api-server", "port": 9091} in jmespath.search("spec.ports", docs[0])
+ assert {"name": "api-server", "port": 8080} in jmespath.search("spec.ports", docs[0])
def test_overrides(self):
docs = render_chart(
@@ -631,7 +631,7 @@ def test_overrides(self):
"port": "{{ .Values.ports.apiServer }}",
}
],
- [{"name": "release-name", "protocol": "UDP", "port": 9091}],
+ [{"name": "release-name", "protocol": "UDP", "port": 8080}],
),
([{"name": "only_sidecar", "port": "{{ int 9000 }}"}], [{"name": "only_sidecar", "port": 9000}]),
(
@@ -640,7 +640,7 @@ def test_overrides(self):
{"name": "sidecar", "port": 80, "targetPort": "sidecar"},
],
[
- {"name": "api-server", "port": 9091},
+ {"name": "api-server", "port": 8080},
{"name": "sidecar", "port": 80, "targetPort": "sidecar"},
],
),
@@ -714,7 +714,7 @@ def test_defaults(self):
assert jmespath.search("spec.ingress[0].from", docs[0]) == [
{"namespaceSelector": {"matchLabels": {"release": "myrelease"}}}
]
- assert jmespath.search("spec.ingress[0].ports", docs[0]) == [{"port": 9091}]
+ assert jmespath.search("spec.ingress[0].ports", docs[0]) == [{"port": 8080}]
@pytest.mark.parametrize(
"ports, expected_ports",
@@ -726,7 +726,7 @@ def test_defaults(self):
{"port": 80},
],
[
- {"port": 9091},
+ {"port": 8080},
{"port": 80},
],
),
diff --git a/kubernetes_tests/test_base.py b/kubernetes_tests/test_base.py
index 34c0871ff978c..f41f6968fe34a 100644
--- a/kubernetes_tests/test_base.py
+++ b/kubernetes_tests/test_base.py
@@ -33,7 +33,7 @@
from urllib3.exceptions import MaxRetryError
from urllib3.util.retry import Retry
-CLUSTER_FORWARDED_PORT = os.environ.get("CLUSTER_FORWARDED_PORT") or "9091"
+CLUSTER_FORWARDED_PORT = os.environ.get("CLUSTER_FORWARDED_PORT") or "8080"
KUBERNETES_HOST_PORT = (os.environ.get("CLUSTER_HOST") or "localhost") + ":" + CLUSTER_FORWARDED_PORT
EXECUTOR = os.environ.get("EXECUTOR")
diff --git a/providers/amazon/tests/unit/amazon/aws/auth_manager/router/test_login.py b/providers/amazon/tests/unit/amazon/aws/auth_manager/router/test_login.py
index 62731654b6b96..350692d6d41df 100644
--- a/providers/amazon/tests/unit/amazon/aws/auth_manager/router/test_login.py
+++ b/providers/amazon/tests/unit/amazon/aws/auth_manager/router/test_login.py
@@ -117,7 +117,7 @@ def test_login_callback_successful(self):
response = client.post("/auth/login_callback", follow_redirects=False)
assert response.status_code == 303
assert "location" in response.headers
- assert response.headers["location"].startswith("http://localhost:9091/?token=")
+ assert response.headers["location"].startswith("http://localhost:8080/?token=")
def test_login_callback_unsuccessful(self):
with conf_vars(
diff --git a/providers/amazon/tests/unit/amazon/aws/auth_manager/test_aws_auth_manager.py b/providers/amazon/tests/unit/amazon/aws/auth_manager/test_aws_auth_manager.py
index a69fe496e1f2d..44be563aa7635 100644
--- a/providers/amazon/tests/unit/amazon/aws/auth_manager/test_aws_auth_manager.py
+++ b/providers/amazon/tests/unit/amazon/aws/auth_manager/test_aws_auth_manager.py
@@ -639,7 +639,7 @@ def test_filter_permitted_dag_ids(self, methods, user, auth_manager, test_user):
def test_get_url_login(self, auth_manager):
result = auth_manager.get_url_login()
- assert result == "http://localhost:9091/auth/login"
+ assert result == "http://localhost:8080/auth/login"
def test_get_cli_commands_return_cli_commands(self, auth_manager):
assert len(auth_manager.get_cli_commands()) > 0
diff --git a/providers/fab/tests/unit/fab/auth_manager/test_fab_auth_manager.py b/providers/fab/tests/unit/fab/auth_manager/test_fab_auth_manager.py
index 21b88866bb58b..526fc7441d3b6 100644
--- a/providers/fab/tests/unit/fab/auth_manager/test_fab_auth_manager.py
+++ b/providers/fab/tests/unit/fab/auth_manager/test_fab_auth_manager.py
@@ -576,7 +576,7 @@ class TestSecurityManager:
def test_get_url_login(self, auth_manager):
result = auth_manager.get_url_login()
- assert result == "http://localhost:9091/auth/login"
+ assert result == "http://localhost:8080/auth/login"
@pytest.mark.db_test
def test_get_url_logout_when_auth_view_not_defined(self, auth_manager_with_appbuilder):
diff --git a/scripts/ci/docker-compose/base-ports.yml b/scripts/ci/docker-compose/base-ports.yml
index 8f8a9bf2bb9ea..d05771106ea0e 100644
--- a/scripts/ci/docker-compose/base-ports.yml
+++ b/scripts/ci/docker-compose/base-ports.yml
@@ -19,6 +19,5 @@ services:
airflow:
ports:
- "${SSH_PORT}:22"
- - "${WEBSERVER_HOST_PORT}:8080"
- - "${API_SERVER_HOST_PORT}:9091"
+ - "${WEB_HOST_PORT}:8080"
- "${FLOWER_HOST_PORT}:5555"
diff --git a/scripts/ci/kubernetes/nodeport.yaml b/scripts/ci/kubernetes/nodeport.yaml
index 79555c188f62e..0c3124f8801c1 100644
--- a/scripts/ci/kubernetes/nodeport.yaml
+++ b/scripts/ci/kubernetes/nodeport.yaml
@@ -26,6 +26,6 @@ spec:
release: airflow
tier: airflow
ports:
- - port: 9091
- targetPort: 9091
+ - port: 8080
+ targetPort: 8080
nodePort: 30007
diff --git a/scripts/docker/entrypoint_ci.sh b/scripts/docker/entrypoint_ci.sh
index 815a12281a82c..c38117ab32bdc 100755
--- a/scripts/docker/entrypoint_ci.sh
+++ b/scripts/docker/entrypoint_ci.sh
@@ -365,11 +365,11 @@ function start_api_server_with_examples(){
echo
echo "${COLOR_BLUE}Starting airflow api server${COLOR_RESET}"
echo
- airflow api-server --port 9091 --daemon
+ airflow api-server --port 8080 --daemon
echo
echo "${COLOR_BLUE}Waiting for api-server to start${COLOR_RESET}"
echo
- check_service_connection "Airflow api-server" "run_nc localhost 9091" 100
+ check_service_connection "Airflow api-server" "run_nc localhost 8080" 100
EXIT_CODE=$?
if [[ ${EXIT_CODE} != 0 ]]; then
echo
diff --git a/task_sdk/pyproject.toml b/task_sdk/pyproject.toml
index 80dc6232f354f..1bd749f118944 100644
--- a/task_sdk/pyproject.toml
+++ b/task_sdk/pyproject.toml
@@ -141,5 +141,5 @@ use-subclass-enum=true # enum, not union of Literals
use-union-operator=true # 3.9+annotations, not `Union[]`
custom-formatters = ['dev.datamodel_code_formatter',]
-url = 'http://0.0.0.0:9091/execution/openapi.json'
+url = 'http://0.0.0.0:8080/execution/openapi.json'
output = 'src/airflow/sdk/api/datamodels/_generated.py'
diff --git a/task_sdk/src/airflow/sdk/api/datamodels/_generated.py b/task_sdk/src/airflow/sdk/api/datamodels/_generated.py
index 8745361c624c8..763d44ec13c0a 100644
--- a/task_sdk/src/airflow/sdk/api/datamodels/_generated.py
+++ b/task_sdk/src/airflow/sdk/api/datamodels/_generated.py
@@ -1,5 +1,5 @@
# generated by datamodel-codegen:
-# filename: http://0.0.0.0:9091/execution/openapi.json
+# filename: http://0.0.0.0:8080/execution/openapi.json
# version: 0.28.2
# Licensed to the Apache Software Foundation (ASF) under one
diff --git a/tests/api_fastapi/core_api/routes/public/test_login.py b/tests/api_fastapi/core_api/routes/public/test_login.py
index 0d774a4035066..dc00d673b3082 100644
--- a/tests/api_fastapi/core_api/routes/public/test_login.py
+++ b/tests/api_fastapi/core_api/routes/public/test_login.py
@@ -39,8 +39,8 @@ class TestGetLogin(TestLoginEndpoint):
[
{},
{"next": None},
- {"next": "http://localhost:29091"},
- {"next": "http://localhost:29091", "other_param": "something_else"},
+ {"next": "http://localhost:28080"},
+ {"next": "http://localhost:28080", "other_param": "something_else"},
],
)
def test_should_respond_308(self, test_client, params):
diff --git a/tests/cli/commands/local_commands/test_api_server_command.py b/tests/cli/commands/local_commands/test_api_server_command.py
index f15a0b3b51e34..022505b710f0e 100644
--- a/tests/cli/commands/local_commands/test_api_server_command.py
+++ b/tests/cli/commands/local_commands/test_api_server_command.py
@@ -143,7 +143,7 @@ def test_args_to_uvicorn(self, ssl_cert_and_key):
mock_run.assert_called_with(
"airflow.api_fastapi.main:app",
host="0.0.0.0",
- port=9091,
+ port=8080,
workers=4,
timeout_keep_alive=120,
timeout_graceful_shutdown=120,
diff --git a/tests/utils/test_helpers.py b/tests/utils/test_helpers.py
index 1784dd64afb8e..0839dab841a56 100644
--- a/tests/utils/test_helpers.py
+++ b/tests/utils/test_helpers.py
@@ -162,7 +162,7 @@ def test_merge_dicts_recursive_right_only(self):
assert merged == {"a": 1, "r": {"b": 0, "c": 3}}
def test_build_airflow_dagrun_url(self):
- expected_url = "http://localhost:9091/dags/somedag/runs/abc123"
+ expected_url = "http://localhost:8080/dags/somedag/runs/abc123"
assert build_airflow_dagrun_url(dag_id="somedag", run_id="abc123") == expected_url
@pytest.mark.parametrize(