Skip to content

Commit 92b9a24

Browse files
committed
Merge branch 'master' into development
2 parents e5c340b + 2a9a2ce commit 92b9a24

File tree

14 files changed

+175
-313
lines changed

14 files changed

+175
-313
lines changed

.gitattributes

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
mysql/*.sh text eol=lf
2+
dynamodblocal-init/*.sh text eol=lf

README.adoc

+6-4
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,11 @@ Build the services using this command:
132132
Run the application using this command:
133133

134134
```
135-
docker-compose up -d
135+
./gradlew :composeUp
136136
```
137137

138+
Note: the ':'
139+
138140
This can take a while.
139141

140142
=== Using the application
@@ -150,14 +152,14 @@ Use the services Swagger UIs to invoke the services.
150152
You can also access the application via the `API Gateway` at `http://localhost:8087`.
151153
However, currently it doesn't have a Swagger UI so you will have to use `curl`, for example.
152154

153-
Note: if the containers aren't accessible via `localhost`, you will have to use `${DOCKER_HOST_IP}` as described below.
155+
Note: if the containers aren't accessible via `localhost` - e.g. you are using Docker Toolbox, you will have to use `${DOCKER_HOST_IP}` as described below.
154156

155157
=== Stopping the application
156158

157159
Stop the application using this command:
158160

159161
```
160-
docker-compose down -v
162+
./gradlew :composeDown
161163
```
162164

163165
== Deploying the application on Kubernetes
@@ -193,7 +195,7 @@ You should not need to set any environment variables.
193195
To run the application, you certainly do not.
194196
Similarly, to do development (e.g. run tests), you typically do not need to set any environment variables.
195197
That's because Docker containers are generally accessible (e.g. Docker for Windows/Mac) on the host via `localhost`.
196-
However, if Docker is running elsewhere you will need to set `DOCKER_HOST_IP`.
198+
However, if Docker is running elsewhere (e.g. you are using Docker Toolbox) you will need to set `DOCKER_HOST_IP`.
197199

198200
=== Quick way
199201

build.gradle

+10-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ buildscript {
77
classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
88
classpath "io.spring.gradle:dependency-management-plugin:$springDependencyManagementPluginVersion"
99
classpath "com.avast.gradle:gradle-docker-compose-plugin:$dockerComposePluginVersion"
10-
classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:$springCloudContractDependenciesVersion"
11-
classpath "com.avast.gradle:gradle-docker-compose-plugin:$dockerComposePluginVersion"
12-
classpath "io.spring.gradle:dependency-management-plugin:$springDependencyManagementPluginVersion"
13-
}
10+
classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:$springCloudContractDependenciesVersion" }
1411

1512
}
1613

@@ -19,6 +16,7 @@ plugins {
1916
}
2017

2118
apply plugin: WaitForMySqlPlugin
19+
apply plugin: 'docker-compose'
2220

2321
subprojects {
2422

@@ -56,3 +54,11 @@ task buildContracts(type: GradleBuild) {
5654
task compileAll(type: GradleBuild) {
5755
tasks = ["testClasses", "compileIntegrationTestJava", "compileComponentTestJava"]
5856
}
57+
58+
dockerCompose {
59+
projectName = null
60+
removeOrphans = true
61+
if (project.hasProperty('startedServices'))
62+
startedServices= project.ext.startedServices.split(',')
63+
64+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: ftgo-cdc-service
5+
spec:
6+
ports:
7+
- port: 8080
8+
targetPort: 8080
9+
selector:
10+
svc: ftgo-cdc-service
11+
---
12+
apiVersion: extensions/v1beta1
13+
kind: Deployment
14+
metadata:
15+
name: ftgo-cdc-service
16+
labels:
17+
application: ftgo
18+
spec:
19+
replicas: 1
20+
strategy:
21+
rollingUpdate:
22+
maxUnavailable: 0
23+
template:
24+
metadata:
25+
labels:
26+
svc: ftgo-cdc-service
27+
spec:
28+
containers:
29+
- name: ftgo-cdc-service
30+
image: eventuateio/eventuate-cdc-service:0.4.0.RELEASE
31+
imagePullPolicy: Always
32+
ports:
33+
- containerPort: 8080
34+
name: httpport
35+
command: ["bash", "-c", "java -Dsun.net.inetaddr.ttl=30 -jar *.jar" ]
36+
env:
37+
- name: JAVA_OPTS
38+
value: "-Dsun.net.inetaddr.ttl=30"
39+
- name: EVENTUATELOCAL_KAFKA_BOOTSTRAP_SERVERS
40+
value: ftgo-kafka:29092
41+
- name: EVENTUATELOCAL_ZOOKEEPER_CONNECTION_STRING
42+
value: ftgo-zookeeper:2181
43+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE1_TYPE
44+
value: eventuate-tram
45+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE1_READER
46+
value: reader1
47+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE1_EVENTUATEDATABASESCHEMA
48+
value: ftgo_consumer_service
49+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE2_TYPE
50+
value: eventuate-tram
51+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE2_READER
52+
value: reader1
53+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE2_EVENTUATEDATABASESCHEMA
54+
value: ftgo_order_service
55+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE3_TYPE
56+
value: eventuate-tram
57+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE3_READER
58+
value: reader1
59+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE3_EVENTUATEDATABASESCHEMA
60+
value: ftgo_kitchen_service
61+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE4_TYPE
62+
value: eventuate-tram
63+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE4_READER
64+
value: reader1
65+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE4_EVENTUATEDATABASESCHEMA
66+
value: ftgo_restaurant_service
67+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE5_TYPE
68+
value: eventuate-tram
69+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE5_READER
70+
value: reader1
71+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE5_EVENTUATEDATABASESCHEMA
72+
value: ftgo_accounting_service
73+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE6_TYPE
74+
value: eventuate-tram
75+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE6_READER
76+
value: reader1
77+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE6_EVENTUATEDATABASESCHEMA
78+
value: ftgoorderhistoryservice
79+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE7_TYPE
80+
value: eventuate-local
81+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE7_READER
82+
value: reader1
83+
- name: EVENTUATE_CDC_PIPELINE_PIPELINE7_EVENTUATEDATABASESCHEMA
84+
value: ftgo_accounting_service
85+
- name: EVENTUATE_CDC_READER_READER1_TYPE
86+
value: mysql-binlog
87+
- name: EVENTUATE_CDC_READER_READER1_DATASOURCEURL
88+
value: jdbc:mysql://ftgo-mysql:3306/eventuate
89+
- name: EVENTUATE_CDC_READER_READER1_DATASOURCEUSERNAME
90+
value: root
91+
- name: EVENTUATE_CDC_READER_READER1_DATASOURCEPASSWORD
92+
value: rootpassword
93+
- name: EVENTUATE_CDC_READER_READER1_DATASOURCEDRIVERCLASSNAME
94+
value: com.mysql.jdbc.Driver
95+
- name: EVENTUATE_CDC_READER_READER1_LEADERSHIPLOCKPATH
96+
value: /eventuate/cdc/leader/common
97+
- name: EVENTUATE_CDC_READER_READER1_CDCDBUSERNAME
98+
value: root
99+
- name: EVENTUATE_CDC_READER_READER1_CDCDBPASSWORD
100+
value: rootpassword
101+
- name: EVENTUATE_CDC_READER_READER1_READOLDDEBEZIUMDBOFFSETSTORAGETOPIC
102+
value: "false"
103+
- name: EVENTUATE_CDC_READER_READER1_MYSQLBINLOGCLIENTUNIQUEID
104+
value: "1"
105+
- name: EVENTUATE_CDC_READER_READER1_OFFSETSTOREKEY
106+
value: MySqlBinlog
107+
- name: EVENTUATE_CDC_READER_READER1_OFFSETSTORAGETOPICNAME
108+
value: db.history.common
109+
livenessProbe:
110+
httpGet:
111+
path: /actuator
112+
port: 8080
113+
initialDelaySeconds: 60
114+
periodSeconds: 20
115+
readinessProbe:
116+
httpGet:
117+
path: /actuator
118+
port: 8080
119+
initialDelaySeconds: 60
120+
periodSeconds: 20
121+
---

deployment/kubernetes/cdc-services/eventuate-local-cdc-service.yml

-75
This file was deleted.

deployment/kubernetes/cdc-services/ftgo-tram-cdc-service.yml

-77
This file was deleted.

0 commit comments

Comments
 (0)