Skip to content

[TBD] - Implement Docker support with image creation and configuration updates#767

Open
novatechflow wants to merge 1 commit into
apache:mainfrom
novatechflow:docker-build
Open

[TBD] - Implement Docker support with image creation and configuration updates#767
novatechflow wants to merge 1 commit into
apache:mainfrom
novatechflow:docker-build

Conversation

@novatechflow
Copy link
Copy Markdown
Member

TBD - to be discussed

Summary

Add Docker image support for Apache Wayang without bundling external execution platforms.

Changes

  • Add a Dockerfile that packages the Wayang assembly with a Java 17 runtime
  • Add a Docker workflow that builds the assembly, builds the image, and runs a Java platform smoke test
  • Make SPARK_HOME, HADOOP_HOME, and FLINK_HOME optional in wayang-submit
  • Support external platform runtimes through mounted directories and environment variables
  • Make Hadoop-backed Java channel conversions conditional on Hadoop classes being available
  • Document Docker build and runtime examples in wayang-assembly/README.md

Rationale

The image should distribute Wayang only. Spark, Hadoop, Flink, JDBC drivers, and other platform runtimes remain user supplied so the project does not take ownership of maintaining third-party platform distributions inside the image.

Verification

  • bash -n bin/wayang-submit
  • JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home ./mvnw -pl :wayang-java,:wayang-assembly -am -Pdistribution -DskipTests package
  • JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home OTHER_FLAGS=-Duser.home=/private/tmp wayang-assembly/target/apache-wayang-assembly-1.1.2-SNAPSHOT-dist/wayang-1.1.2-SNAPSHOT/bin/wayang-submit org.apache.wayang.apps.pi.PiEstimation java 1

Notes

Built on Mac, path are different on Linux / Windows.

@zkaoudi
Copy link
Copy Markdown
Contributor

zkaoudi commented Jun 3, 2026

Thanks for bringing the conversation here Alex.
So this is for creating a lightweight standalone Wayang image that could only run jobs in Java. Is that correct?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants