-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathcompose.yaml
206 lines (184 loc) · 5.48 KB
/
compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
x-logging: &default-logging
driver: json-file
options:
max-file: "5"
max-size: "10m"
x-service: &default-service
restart: always
logging: *default-logging
x-feature-flag-service: &feature-flag-service-env
FEATURE_FLAG_SERVICE_PROTOCOL: http
FEATURE_FLAG_SERVICE_BASE_URL: feature-flag-service
FEATURE_FLAG_SERVICE_PORT: 8080
x-connection-strings:
JAVA_CONNECTION_STRING: &java-connection-string jdbc:sqlserver://db:1433;database=TradeManagement;user=sa;password=yourStrong(!)Password;encrypt=false;trustServerCertificate=false;loginTimeout=30;
DOTNET_CONNECTION_STRING: &dotnet-connection-string Data Source=db;Initial Catalog=TradeManagement;Persist Security Info=True;User ID=sa;Password=yourStrong(!)Password;TrustServerCertificate=true
GO_CONNECTION_STRING: &go-connection-string sqlserver://sa:yourStrong(!)Password@db:1433?database=TradeManagement&connection+encrypt=false&connection+TrustServerCertificate=false&connection+loginTimeout=30
x-rabbit-vars: &rabbit-vars
RABBITMQ_USER: userxxx
RABBITMQ_PASSWORD: passxxx
RABBITMQ_PORT: "5672"
RABBITMQ_HOST: rabbitmq
RABBITMQ_QUEUE: Trade_Data_Raw
services:
db:
<<: *default-service
image: ${REGISTRY}/db:${TAG}
environment:
SA_PASSWORD: yourStrong(!)Password
contentcreator:
<<: *default-service
image: ${REGISTRY}/contentcreator:${TAG}
depends_on:
- db
environment:
MSSQL_CONNECTIONSTRING: *java-connection-string
manager:
<<: *default-service
image: ${REGISTRY}/manager:${TAG}
depends_on:
- db
environment:
MSSQL_CONNECTIONSTRING: *dotnet-connection-string
PROXY_PREFIX: manager
pricing-service:
<<: *default-service
image: ${REGISTRY}/pricing-service:${TAG}
depends_on:
- db
- rabbitmq
environment:
MSSQL_CONNECTIONSTRING: *go-connection-string
PROXY_PREFIX: pricing-service
<<: *rabbit-vars
broker-service:
<<: *default-service
image: ${REGISTRY}/broker-service:${TAG}
depends_on:
- db
- accountservice
- pricing-service
- feature-flag-service
environment:
ACCOUNTSERVICE_HOSTANDPORT: accountservice:8080
PRICINGSERVICE_HOSTANDPORT: pricing-service:8080
ENGINE_HOSTANDPORT: engine:8080
<<: *feature-flag-service-env
PROXY_PREFIX: broker-service
MSSQL_CONNECTIONSTRING: *dotnet-connection-string
rabbitmq:
<<: *default-service
image: ${REGISTRY}/rabbitmq:${TAG}
calculationservice:
<<: *default-service
image: ${REGISTRY}/calculationservice:${TAG}
depends_on:
- rabbitmq
environment:
<<: *rabbit-vars
frontend:
<<: *default-service
image: ${REGISTRY}/frontend:${TAG}
depends_on:
- broker-service
- loginservice
- pricing-service
- accountservice
- credit-card-order-service
loginservice:
<<: *default-service
image: ${REGISTRY}/loginservice:${TAG}
depends_on:
- db
environment:
MSSQL_CONNECTIONSTRING: *dotnet-connection-string
PROXY_PREFIX: loginservice
frontendreverseproxy:
<<: *default-service
image: ${REGISTRY}/frontendreverseproxy:${TAG}
depends_on:
- broker-service
- frontend
- loginservice
- pricing-service
- feature-flag-service
- offerservice
- accountservice
- engine
- credit-card-order-service
- third-party-service
ports:
- 80:80
loadgen:
<<: *default-service
image: ${REGISTRY}/loadgen:${TAG}
depends_on:
- frontendreverseproxy
environment:
EASYTRADE_URL: http://frontendreverseproxy
offerservice:
<<: *default-service
image: ${REGISTRY}/offerservice:${TAG}
depends_on:
- loginservice
- manager
environment:
<<: *feature-flag-service-env
LOGIN_SERVICE_PORT: 8080
LOGIN_SERVICE_BASE_URL: loginservice
MANAGER_BASE_URL: manager
MANAGER_PORT: 8080
feature-flag-service:
<<: *default-service
image: ${REGISTRY}/feature-flag-service:${TAG}
environment:
PROXY_PREFIX: feature-flag-service
accountservice:
<<: *default-service
image: ${REGISTRY}/accountservice:${TAG}
depends_on:
- manager
environment:
MANAGER_HOSTANDPORT: manager:8080
PROXY_PREFIX: accountservice
engine:
<<: *default-service
image: ${REGISTRY}/engine:${TAG}
depends_on:
- broker-service
environment:
BROKER_HOSTANDPORT: broker-service:8080
PROXY_PREFIX: engine
credit-card-order-service:
<<: *default-service
image: ${REGISTRY}/credit-card-order-service:${TAG}
depends_on:
- db
- third-party-service
environment:
PROXY_PREFIX: credit-card-order-service
MSSQL_CONNECTIONSTRING: *java-connection-string
THIRD_PARTY_SERVICE_HOSTANDPORT: third-party-service:8080
<<: *feature-flag-service-env
WORK_DELAY: 300
WORK_RATE: 900
third-party-service:
<<: *default-service
image: ${REGISTRY}/third-party-service:${TAG}
environment:
<<: *feature-flag-service-env
PROXY_PREFIX: third-party-service
CREDIT_CARD_ORDER_SERVICE_HOSTANDPORT: credit-card-order-service:8080
COURIER_DELAY: 400
COURIER_RATE: 900
MANUFACTURE_DELAY: 500
MANUFACTURE_RATE: 900
aggregator-service:
<<: *default-service
image: ${REGISTRY}/aggregator-service:${TAG}
depends_on:
- offerservice
environment:
OFFER_SERVICE_PROTOCOL: http
OFFER_SERVICE_HOST: offerservice
OFFER_SERVICE_PORT: 8080