AlejandroMorgante opened a new pull request, #72542: URL: https://github.com/apache/airflow/pull/72542
Add `EksPodExecOperator` so Dags can execute commands in running containers of existing Amazon EKS Pods without Airflow creating, restarting, or deleting them. This supports long-lived workloads managed by another platform, where Airflow should own the command execution but not the Pod lifecycle. Reusing an already-running Pod also avoids paying its startup cost for every task. The operator uses the AWS connection to generate a temporary EKS kubeconfig, then delegates command execution, log streaming, exit-code handling, and bounded optional XCom output to `KubernetesPodExecOperator`. This keeps EKS authentication in the Amazon provider while reusing the Kubernetes behavior introduced in #71244. The change includes unit coverage, documentation, and an EKS system-test path that creates and deletes the external Pod outside the operator. Testing: - `breeze run --skip-image-upgrade-check pytest providers/amazon/tests/unit/amazon/aws/operators/test_eks.py -q --tb=short` (`66 passed`) - `breeze run --skip-image-upgrade-check mypy providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py` - System-test import and collection - Targeted prek checks for all changed files The live AWS system test was not run locally because it provisions an EKS cluster and nodegroup. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Codex (GPT-5) Generated-by: Codex (GPT-5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- 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]
