11version : ' 3'
2+
23# Configuration environment variables:
34# - DATAFLOW_VERSION and SKIPPER_VERSION specify what DataFlow and Skipper image versions to use.
45# - STREAM_APPS_URI and TASK_APPS_URI are used to specify what Stream and Task applications to pre-register.
@@ -19,25 +20,66 @@ version: '3'
1920# The deployed stream applications that run in their own docker containers (e.g. docker:// registered apps),
2021# can be reached on the ports they expose.
2122services :
23+ mariadb :
24+ image : mariadb:10.6
25+ container_name : dataflow-mariadb
26+ environment :
27+ MARIADB_DATABASE : dataflow
28+ MARIADB_ROOT_PASSWORD : rootpw
29+ expose :
30+ - 3306
31+
32+ kafka-broker :
33+ image : confluentinc/cp-kafka:5.5.2
34+ container_name : dataflow-kafka
35+ expose :
36+ - " 9092"
37+ environment :
38+ - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka-broker:9092
39+ - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
40+ - KAFKA_ADVERTISED_HOST_NAME=kafka-broker
41+ - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
42+ - KAFKA_LOG4J_ROOT_LOGLEVEL=ERROR
43+ - KAFKA_LOG4J_LOGGERS=org.apache.zookeeper=ERROR,org.apache.kafka=ERROR,kafka=ERROR,kafka.cluster=ERROR,kafka.controller=ERROR,kafka.coordinator=ERROR,kafka.log=ERROR,kafka.server=ERROR,kafka.zookeeper=ERROR,state.change.logger=ERROR
44+ depends_on :
45+ - zookeeper
46+
47+ zookeeper :
48+ image : confluentinc/cp-zookeeper:5.5.2
49+ container_name : dataflow-kafka-zookeeper
50+ expose :
51+ - " 2181"
52+ environment :
53+ - ZOOKEEPER_CLIENT_PORT=2181
54+
2255 dataflow-server :
2356 user : root
24- image : springcloud/spring-cloud-dataflow-server:${DATAFLOW_VERSION:-2.11.2-SNAPSHOT }${BP_JVM_VERSION:-}
57+ image : springcloud/spring-cloud-dataflow-server:${DATAFLOW_VERSION:-@project.version@ }${BP_JVM_VERSION:-}
2558 container_name : dataflow-server
2659 ports :
2760 - " 9393:9393"
2861 environment :
29- - LANG=en_US.utf8
30- - LC_ALL=en_US.utf8
31- - JDK_JAVA_OPTIONS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
62+ - SPRING_CLOUD_DATAFLOW_APPLICATIONPROPERTIES_STREAM_SPRING_CLOUD_STREAM_KAFKA_BINDER_BROKERS=PLAINTEXT://kafka-broker:9092
63+ - SPRING_CLOUD_DATAFLOW_APPLICATIONPROPERTIES_STREAM_SPRING_CLOUD_STREAM_KAFKA_STREAMS_BINDER_BROKERS=PLAINTEXT://kafka-broker:9092
64+ - SPRING_CLOUD_DATAFLOW_APPLICATIONPROPERTIES_STREAM_SPRING_CLOUD_STREAM_KAFKA_BINDER_ZKNODES=zookeeper:2181
65+ - SPRING_CLOUD_DATAFLOW_APPLICATIONPROPERTIES_STREAM_SPRING_CLOUD_STREAM_KAFKA_STREAMS_BINDER_ZKNODES=zookeeper:2181
66+ - SPRING_CLOUD_DATAFLOW_APPLICATIONPROPERTIES_STREAM_SPRING_KAFKA_STREAMS_PROPERTIES_METRICS_RECORDING_LEVEL=DEBUG
3267 # Set CLOSECONTEXTENABLED=true to ensure that the CRT launcher is closed.
3368 - SPRING_CLOUD_DATAFLOW_APPLICATIONPROPERTIES_TASK_SPRING_CLOUD_TASK_CLOSECONTEXTENABLED=true
3469 - SPRING_CLOUD_SKIPPER_CLIENT_SERVER_URI=${SKIPPER_URI:-http://skipper-server:7577}/api
70+ - SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb:3306/dataflow
71+ - SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.MariaDB106Dialect
72+ - SPRING_DATASOURCE_USERNAME=root
73+ - SPRING_DATASOURCE_PASSWORD=rootpw
74+ - SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver
3575 # (Optionally) authenticate the default Docker Hub access for the App Metadata access.
3676 - SPRING_CLOUD_DATAFLOW_CONTAINER_REGISTRY_CONFIGURATIONS_DEFAULT_USER=${METADATA_DEFAULT_DOCKERHUB_USER}
3777 - SPRING_CLOUD_DATAFLOW_CONTAINER_REGISTRY_CONFIGURATIONS_DEFAULT_SECRET=${METADATA_DEFAULT_DOCKERHUB_PASSWORD}
78+
3879 - SPRING_CLOUD_DATAFLOW_CONTAINER_REGISTRYCONFIGURATIONS_DEFAULT_USER=${METADATA_DEFAULT_DOCKERHUB_USER}
3980 - SPRING_CLOUD_DATAFLOW_CONTAINER_REGISTRYCONFIGURATIONS_DEFAULT_SECRET=${METADATA_DEFAULT_DOCKERHUB_PASSWORD}
4081 depends_on :
82+ - kafka-broker
4183 - skipper-server
4284 restart : always
4385 volumes :
@@ -48,6 +90,12 @@ services:
4890 container_name : dataflow-app-import-stream
4991 depends_on :
5092 - dataflow-server
93+ command : >
94+ /bin/sh -c "
95+ ./wait-for-it.sh -t 360 dataflow-server:9393;
96+ wget -qO- '${DATAFLOW_URI:-http://dataflow-server:9393}/apps' --no-check-certificate --post-data='uri=${STREAM_APPS_URI:-https://dataflow.spring.io/kafka-maven-latest&force=true}';
97+ wget -qO- '${DATAFLOW_URI:-http://dataflow-server:9393}/apps/sink/dataflow-tasklauncher/${DATAFLOW_VERSION:[email protected] @}' --no-check-certificate --post-data='uri=maven://org.springframework.cloud:spring-cloud-dataflow-tasklauncher-sink-kafka:${DATAFLOW_VERSION:[email protected] @}'; 98+ echo 'Maven Stream apps imported'"
5199
52100 app-import-task :
53101 image : springcloud/baseimage:1.0.4
@@ -58,24 +106,23 @@ services:
58106 /bin/sh -c "
59107 ./wait-for-it.sh -t 360 dataflow-server:9393;
60108 wget -qO- '${DATAFLOW_URI:-http://dataflow-server:9393}/apps' --no-check-certificate --post-data='uri=${TASK_APPS_URI:-https://dataflow.spring.io/task-maven-latest&force=true}';
61- wget -qO- '${DATAFLOW_URI:-http://dataflow-server:9393}/apps/timestamp3' --no-check-certificate --post-data='bootVersion=3&uri=maven://uri=maven:io.spring:timestamp-task:3.0.0';
62- wget -qO- '${DATAFLOW_URI:-http://dataflow-server:9393}/apps/timestamp-batch3' --no-check-certificate --post-data='bootVersion=3&uri=maven://uri=maven:io.spring:timestamp-batch:3.0.0';
63109 echo 'Maven Task apps imported'"
64110
65111 skipper-server :
66112 user : root
67- image : springcloud/spring-cloud-skipper-server:${SKIPPER_VERSION:-2.11.2-SNAPSHOT }${BP_JVM_VERSION:-}
68- container_name : skipper-server
113+ image : springcloud/spring-cloud-skipper-server:${SKIPPER_VERSION:-@spring-cloud-skipper.version@ }${BP_JVM_VERSION:-}
114+ container_name : skipper
69115 ports :
70116 - " 7577:7577"
71117 - ${APPS_PORT_RANGE:-20000-20195:20000-20195}
72118 environment :
73- - LANG=en_US.utf8
74- - LC_ALL=en_US.utf8
75- - JDK_JAVA_OPTIONS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
76- - SERVER_PORT=7577
77119 - SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_LOCAL_ACCOUNTS_DEFAULT_PORTRANGE_LOW=20000
78120 - SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_LOCAL_ACCOUNTS_DEFAULT_PORTRANGE_HIGH=20190
121+ - SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb:3306/dataflow
122+ - SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.MariaDB106Dialect
123+ - SPRING_DATASOURCE_USERNAME=root
124+ - SPRING_DATASOURCE_PASSWORD=rootpw
125+ - SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver
79126 - LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_CLOUD_SKIPPER_SERVER_DEPLOYER=ERROR
80127 restart : always
81128 volumes :
0 commit comments