diff --git a/.env b/.env index 469de065..96f9fbeb 100644 --- a/.env +++ b/.env @@ -1 +1,2 @@ -NUSSKNACKER_VERSION=staging-latest +NUSSKNACKER_VERSION=1.18.0-release_1.18-2024-11-06-21370-1f1b39575-SNAPSHOT +NU_COMPAT_VERSION=1.0.0-nu1.18 diff --git a/designer/Dockerfile b/designer/Dockerfile new file mode 100644 index 00000000..6ee2e57d --- /dev/null +++ b/designer/Dockerfile @@ -0,0 +1,18 @@ +ARG NUSSKNACKER_VERSION="NUSSKNACKER_VERSION_IS_UNDEFINED" + +FROM touk/nussknacker:${NUSSKNACKER_VERSION}_scala-2.12 + +ARG NU_COMPAT_VERSION="NU_COMPAT_VERSION_IS_UNDEFINED" + +USER root + +# flink-compatibility-model and flink-compatibility-kafka-components have to be added +RUN curl -f -L https://oss.sonatype.org/content/repositories/public/pl/touk/nussknacker/nussknacker-flink-compatibility-1-18-model_2.12/${NU_COMPAT_VERSION}/nussknacker-flink-compatibility-1-18-model_2.12-${NU_COMPAT_VERSION}.jar \ + -o /opt/nussknacker/components/flink/extra/nussknacker-flink-compatibility-1-18-model_2.12-${NU_COMPAT_VERSION}.jar + +RUN curl -f -L https://oss.sonatype.org/content/repositories/public/pl/touk/nussknacker/nussknacker-flink-compatibility-1-18-kafka-components_2.12/${NU_COMPAT_VERSION}/nussknacker-flink-compatibility-1-18-kafka-components_2.12-${NU_COMPAT_VERSION}-assembly.jar \ + -o /opt/nussknacker/components/flink/extra/nussknacker-flink-compatibility-1-18-kafka-components_2.12-${NU_COMPAT_VERSION}-assembly.jar + +RUN chown -R demiourgos728:root /opt/nussknacker + +USER demiourgos728 \ No newline at end of file diff --git a/designer/application-customizations.conf b/designer/application-customizations.conf index 7ecbb046..edd65c3f 100644 --- a/designer/application-customizations.conf +++ b/designer/application-customizations.conf @@ -2,7 +2,12 @@ scenarioTypes { "streaming" { - # customize Flink streaming scenario type + modelConfig { + # classPath have to be overriden in order to remove flinkKafka.jar + classPath: ["components/flink/extra", "model/defaultModel.jar", "model/flinkExecutor.jar", + "components/flink/flinkBase.jar", "components/flink/flinkBaseUnbounded.jar", + "components/common", "flink-dropwizard-metrics-deps/"] + } } "streaming-lite-embedded" { # customize Lite streaming scenario type diff --git a/docker-compose.yml b/docker-compose.yml index a5c6a68f..afd4d5c4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,7 +55,11 @@ services: ### Nussknacker designer service designer: - image: touk/nussknacker:${NUSSKNACKER_VERSION:?NUSSKNACKER_VERSION must be defined}_scala-2.12 + build: + context: ./designer/ + args: + NUSSKNACKER_VERSION: ${NUSSKNACKER_VERSION:?NUSSKNACKER_VERSION must be defined} + NU_COMPAT_VERSION: ${NU_COMPAT_VERSION:?NU_COMPAT_VERSION must be defined} restart: unless-stopped environment: EXAMPLE_SCENARIOS_LIBRARY_SERVICE_NAME: quickstart-setup @@ -70,7 +74,9 @@ services: INFLUXDB_URL: "http://influxdb:8086" FLINK_REST_URL: "http://flink-jobmanager:8081" JDK_JAVA_OPTIONS: "-Xmx1024M" - USAGE_REPORTS_SOURCE: "quickstart-docker-compose" + USAGE_REPORTS_SOURCE: "flink-compat-docker-compose" + # Flink TypeInfo registration have to be disabled as it is supported from version 1.19 on + NU_DISABLE_FLINK_TYPE_INFO_REGISTRATION: true depends_on: postgres: condition: service_healthy @@ -229,12 +235,14 @@ services: build: context: ./flink/ args: - FLINK_VERSION: "1.19.1-scala_2.12-java11" + FLINK_VERSION: "1.18.1-scala_2.12-java11" no_cache: true restart: unless-stopped command: jobmanager environment: JOB_MANAGER_RPC_ADDRESS: "flink-jobmanager" + # Flink TypeInfo registration have to be disabled as it is supported from version 1.19 on + NU_DISABLE_FLINK_TYPE_INFO_REGISTRATION: true healthcheck: test: [ "CMD-SHELL", "curl -f http://localhost:8081/jobs/overview" ] interval: 10s @@ -246,12 +254,14 @@ services: build: context: ./flink/ args: - FLINK_VERSION: "1.19.1-scala_2.12-java11" + FLINK_VERSION: "1.18.1-scala_2.12-java11" no_cache: true restart: unless-stopped command: taskmanager environment: JOB_MANAGER_RPC_ADDRESS: "flink-jobmanager" + # Flink TypeInfo registration have to be disabled as it is supported from version 1.19 on + NU_DISABLE_FLINK_TYPE_INFO_REGISTRATION: true depends_on: flink-jobmanager: condition: service_healthy