jason810496 opened a new pull request, #67161: URL: https://github.com/apache/airflow/pull/67161
- **Depends on** https://github.com/apache/airflow/pull/65958 **get merged first** - related: https://github.com/apache/airflow/pull/67153, https://github.com/apache/airflow/pull/67154 ## Why The `BaseCoordinator` interface already supports non-Python SDKs (Java is the prior art), but there is no in-tree coordinator for **native compiled** SDKs (Go, Rust, C++, Zig, ...). This adds one — `ExecutableCoordinator` — together with a language-agnostic on-disk bundle format (`AFBNDL01`) so any compiled SDK produces artifacts the TaskSDK can handle identically. ## What - Define the **AFBNDL01 bundle format**: the compiled binary itself, with the Dag source and `airflow-metadata.yaml` manifest appended after end-of-file, located by a fixed 32-byte trailer ending in the magic `AFBNDL01`. The file stays directly runnable; detection is by trailer magic, not by filename or extension. - Implement `ExecutableCoordinator` (subclass of `BaseCoordinator`) that: - scans a bundle directory via `BundleScanner`, reading the trailer to extract the embedded source and metadata without unpacking; - launches the bundle as a subprocess and brokers comm/logs over two listening sockets the child connects back to, reusing the `ActivitySubprocess` plumbing introduced for `JavaCoordinator`; - resolves the executable path on the host so the bundle can be invoked even when the worker's `$PATH` differs from the build environment. --- ##### Was generative AI tooling used to co-author this PR? - [x] Yes, with help of Claude Code 4.7 Ops 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]
