You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

439 lines
11 KiB

  1. {
  2. "id": "/eshop",
  3. "apps": [
  4. {
  5. "id": "basket-data",
  6. "container": {
  7. "type": "DOCKER",
  8. "docker": {
  9. "image": "redis:3.2-alpine",
  10. "network": "BRIDGE",
  11. "portMappings": [
  12. {
  13. "hostPort": 6379,
  14. "labels": {
  15. "VIP_0": "eshopbasket-data:6379"
  16. }
  17. }
  18. ]
  19. }
  20. },
  21. "healthChecks": [
  22. {
  23. "protocol": "TCP",
  24. "gracePeriodSeconds": 30,
  25. "intervalSeconds": 60,
  26. "timeoutSeconds": 30,
  27. "maxConsecutiveFailures": 3,
  28. "port": 6379
  29. }
  30. ],
  31. "cpus": 0.1,
  32. "mem": 1024,
  33. "instances": 1
  34. },
  35. {
  36. "id": "basket-api",
  37. "dependencies": [
  38. "basket-data",
  39. "rabbitmq"
  40. ],
  41. "env": {
  42. "ASPNETCORE_ENVIRONMENT": "Development",
  43. "ASPNETCORE_URLS": "http://0.0.0.0:80/basket",
  44. "ConnectionString": "eshopbasket-data.marathon.l4lb.thisdcos.directory",
  45. "EventBusConnection": "eshoprabbitmq.marathon.l4lb.thisdcos.directory",
  46. "IdentityUrl": "http://AGENTS_FQDN/id"
  47. },
  48. "instances": 1,
  49. "cpus": 0.1,
  50. "mem": 128,
  51. "container": {
  52. "docker": {
  53. "image": "REGISTRY/eshop/basket.api",
  54. "forcePullImage": true,
  55. "portMappings": [
  56. {
  57. "containerPort": 80
  58. }
  59. ],
  60. "network": "BRIDGE"
  61. }
  62. },
  63. "healthChecks": [
  64. {
  65. "path": "/hc",
  66. "protocol": "HTTP",
  67. "gracePeriodSeconds": 60,
  68. "intervalSeconds": 60,
  69. "timeoutSeconds": 10,
  70. "maxConsecutiveFailures": 3,
  71. "ignoreHttp1xx": false
  72. }
  73. ],
  74. "labels": {
  75. "HAPROXY_GROUP": "external",
  76. "HAPROXY_0_VHOST": "AGENTS_FQDN",
  77. "HAPROXY_0_MODE": "http",
  78. "HAPROXY_0_PATH": "/basket"
  79. },
  80. "uris": [
  81. "file:///mnt/share/docker.tar.gz"
  82. ]
  83. },
  84. {
  85. "id": "catalog",
  86. "dependencies": [
  87. "rabbitmq",
  88. "sql-data"
  89. ],
  90. "env": {
  91. "ASPNETCORE_ENVIRONMENT": "Development",
  92. "ASPNETCORE_URLS": "http://0.0.0.0:80/catalog",
  93. "ConnectionString": "Server=eshopsql-data.marathon.l4lb.thisdcos.directory;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word",
  94. "EventBusConnection": "eshoprabbitmq.marathon.l4lb.thisdcos.directory",
  95. "ExternalCatalogBaseUrl": "http://AGENTS_FQDN/catalog"
  96. },
  97. "instances": 1,
  98. "cpus": 0.1,
  99. "mem": 128,
  100. "container": {
  101. "docker": {
  102. "image": "REGISTRY/eshop/catalog.api",
  103. "forcePullImage": true,
  104. "portMappings": [
  105. {
  106. "containerPort": 80
  107. }
  108. ],
  109. "network": "BRIDGE"
  110. }
  111. },
  112. "healthChecks": [
  113. {
  114. "path": "/hc",
  115. "protocol": "HTTP",
  116. "gracePeriodSeconds": 60,
  117. "intervalSeconds": 60,
  118. "timeoutSeconds": 10,
  119. "maxConsecutiveFailures": 3,
  120. "ignoreHttp1xx": false
  121. }
  122. ],
  123. "labels": {
  124. "HAPROXY_GROUP": "external",
  125. "HAPROXY_0_VHOST": "AGENTS_FQDN",
  126. "HAPROXY_0_MODE": "http",
  127. "HAPROXY_0_PATH": "/catalog"
  128. },
  129. "uris": [
  130. "file:///mnt/share/docker.tar.gz"
  131. ]
  132. },
  133. {
  134. "id": "identity",
  135. "dependencies": [
  136. "sql-data"
  137. ],
  138. "env": {
  139. "MvcClient": "http://AGENTS_FQDN/webmvc",
  140. "SpaClient": "http://AGENTS_FQDN",
  141. "ASPNETCORE_URLS": "http://0.0.0.0:80/id",
  142. "ConnectionStrings__DefaultConnection": "Server=eshopsql-data.marathon.l4lb.thisdcos.directory;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word",
  143. "ASPNETCORE_ENVIRONMENT": "Development"
  144. },
  145. "instances": 1,
  146. "cpus": 0.1,
  147. "mem": 128,
  148. "container": {
  149. "docker": {
  150. "image": "REGISTRY/eshop/identity.api",
  151. "forcePullImage": true,
  152. "portMappings": [
  153. {
  154. "containerPort": 80
  155. }
  156. ],
  157. "network": "BRIDGE"
  158. }
  159. },
  160. "healthChecks": [
  161. {
  162. "path": "/hc",
  163. "protocol": "HTTP",
  164. "gracePeriodSeconds": 60,
  165. "intervalSeconds": 60,
  166. "timeoutSeconds": 10,
  167. "maxConsecutiveFailures": 3,
  168. "ignoreHttp1xx": false
  169. }
  170. ],
  171. "labels": {
  172. "HAPROXY_GROUP": "external",
  173. "HAPROXY_0_VHOST": "AGENTS_FQDN",
  174. "HAPROXY_0_MODE": "http",
  175. "HAPROXY_0_PATH": "/id"
  176. },
  177. "uris": [
  178. "file:///mnt/share/docker.tar.gz"
  179. ]
  180. },
  181. {
  182. "id": "ordering",
  183. "dependencies": [
  184. "rabbitmq",
  185. "sql-data"
  186. ],
  187. "env": {
  188. "ASPNETCORE_ENVIRONMENT": "Development",
  189. "ASPNETCORE_URLS": "http://0.0.0.0:80/ordering",
  190. "ConnectionString": "Server=eshopsql-data.marathon.l4lb.thisdcos.directory;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word",
  191. "EventBusConnection": "eshoprabbitmq.marathon.l4lb.thisdcos.directory",
  192. "IdentityUrl": "http://AGENTS_FQDN/id"
  193. },
  194. "instances": 1,
  195. "cpus": 0.1,
  196. "mem": 128,
  197. "container": {
  198. "docker": {
  199. "image": "REGISTRY/eshop/ordering.api",
  200. "forcePullImage": true,
  201. "portMappings": [
  202. {
  203. "containerPort": 80
  204. }
  205. ],
  206. "network": "BRIDGE"
  207. }
  208. },
  209. "healthChecks": [
  210. {
  211. "path": "/hc",
  212. "protocol": "HTTP",
  213. "gracePeriodSeconds": 60,
  214. "intervalSeconds": 60,
  215. "timeoutSeconds": 10,
  216. "maxConsecutiveFailures": 3,
  217. "ignoreHttp1xx": false
  218. }
  219. ],
  220. "labels": {
  221. "HAPROXY_GROUP": "external",
  222. "HAPROXY_0_VHOST": "AGENTS_FQDN",
  223. "HAPROXY_0_MODE": "http",
  224. "HAPROXY_0_PATH": "/ordering"
  225. },
  226. "uris": [
  227. "file:///mnt/share/docker.tar.gz"
  228. ]
  229. },
  230. {
  231. "id": "rabbitmq",
  232. "container": {
  233. "type": "DOCKER",
  234. "docker": {
  235. "image": "rabbitmq:3.6-alpine",
  236. "network": "BRIDGE",
  237. "portMappings": [
  238. {
  239. "hostPort": 5672,
  240. "labels": {
  241. "VIP_0": "eshoprabbitmq:5672"
  242. }
  243. }
  244. ]
  245. }
  246. },
  247. "healthChecks": [
  248. {
  249. "protocol": "TCP",
  250. "gracePeriodSeconds": 30,
  251. "intervalSeconds": 60,
  252. "timeoutSeconds": 30,
  253. "maxConsecutiveFailures": 3,
  254. "port": 5672
  255. }
  256. ],
  257. "cpus": 0.1,
  258. "mem": 256,
  259. "instances": 1
  260. },
  261. {
  262. "id": "sql-data",
  263. "container": {
  264. "type": "DOCKER",
  265. "docker": {
  266. "image": "microsoft/mssql-server-linux:ctp1-4",
  267. "network": "BRIDGE",
  268. "portMappings": [
  269. {
  270. "hostPort": 1433,
  271. "labels": {
  272. "VIP_0": "eshopsql-data:1433"
  273. }
  274. }
  275. ]
  276. }
  277. },
  278. "env": {
  279. "ACCEPT_EULA": "Y",
  280. "SA_PASSWORD": "Pass@word"
  281. },
  282. "healthChecks": [
  283. {
  284. "protocol": "TCP",
  285. "gracePeriodSeconds": 30,
  286. "intervalSeconds": 60,
  287. "timeoutSeconds": 30,
  288. "maxConsecutiveFailures": 3,
  289. "port": 1433
  290. }
  291. ],
  292. "cpus": 0.1,
  293. "mem": 1024,
  294. "instances": 1
  295. },
  296. {
  297. "id": "webmvc",
  298. "dependencies": [
  299. "basket-api",
  300. "catalog",
  301. "identity",
  302. "ordering"
  303. ],
  304. "env": {
  305. "ASPNETCORE_ENVIRONMENT": "Development",
  306. "ASPNETCORE_URLS": "http://0.0.0.0:80/webmvc",
  307. "BasketUrl": "http://AGENTS_FQDN/basket",
  308. "CallBackUrl": "http://AGENTS_FQDN/webmvc",
  309. "CatalogUrl": "http://AGENTS_FQDN/catalog",
  310. "IdentityUrl": "http://AGENTS_FQDN/id",
  311. "OrderingUrl": "http://AGENTS_FQDN/ordering"
  312. },
  313. "instances": 1,
  314. "cpus": 0.1,
  315. "mem": 128,
  316. "container": {
  317. "docker": {
  318. "image": "REGISTRY/eshop/webmvc",
  319. "forcePullImage": true,
  320. "portMappings": [
  321. {
  322. "containerPort": 80
  323. }
  324. ],
  325. "network": "BRIDGE"
  326. }
  327. },
  328. "healthChecks": [
  329. {
  330. "path": "/hc",
  331. "protocol": "HTTP",
  332. "gracePeriodSeconds": 60,
  333. "intervalSeconds": 60,
  334. "timeoutSeconds": 10,
  335. "maxConsecutiveFailures": 3,
  336. "ignoreHttp1xx": false
  337. }
  338. ],
  339. "labels": {
  340. "HAPROXY_GROUP": "external",
  341. "HAPROXY_0_VHOST": "AGENTS_FQDN",
  342. "HAPROXY_0_MODE": "http",
  343. "HAPROXY_0_PATH": "/webmvc"
  344. },
  345. "uris": [
  346. "file:///mnt/share/docker.tar.gz"
  347. ]
  348. },
  349. {
  350. "id": "webspa",
  351. "dependencies": [
  352. "basket-api",
  353. "catalog",
  354. "identity",
  355. "ordering"
  356. ],
  357. "env": {
  358. "ASPNETCORE_ENVIRONMENT": "Development",
  359. "ASPNETCORE_URLS": "http://0.0.0.0:80",
  360. "BasketUrl": "http://AGENTS_FQDN/basket",
  361. "CallBackUrl": "http://AGENTS_FQDN/webmvc",
  362. "CatalogUrl": "http://AGENTS_FQDN/catalog",
  363. "IdentityUrl": "http://AGENTS_FQDN/id",
  364. "OrderingUrl": "http://AGENTS_FQDN/ordering"
  365. },
  366. "instances": 1,
  367. "cpus": 0.1,
  368. "mem": 128,
  369. "container": {
  370. "docker": {
  371. "image": "REGISTRY/eshop/webspa",
  372. "forcePullImage": true,
  373. "portMappings": [
  374. {
  375. "containerPort": 80
  376. }
  377. ],
  378. "network": "BRIDGE"
  379. }
  380. },
  381. "healthChecks": [
  382. {
  383. "path": "/hc",
  384. "protocol": "HTTP",
  385. "gracePeriodSeconds": 60,
  386. "intervalSeconds": 60,
  387. "timeoutSeconds": 10,
  388. "maxConsecutiveFailures": 3,
  389. "ignoreHttp1xx": false
  390. }
  391. ],
  392. "labels": {
  393. "HAPROXY_GROUP": "external",
  394. "HAPROXY_0_VHOST": "AGENTS_FQDN",
  395. "HAPROXY_0_MODE": "http"
  396. },
  397. "uris": [
  398. "file:///mnt/share/docker.tar.gz"
  399. ]
  400. },
  401. {
  402. "id": "webstatus",
  403. "env": {
  404. "ASPNETCORE_ENVIRONMENT": "Development",
  405. "ASPNETCORE_URLS": "http://0.0.0.0:80/webstatus",
  406. "BasketUrl": "http://AGENTS_FQDN/basket",
  407. "CatalogUrl": "http://AGENTS_FQDN/catalog",
  408. "IdentityUrl": "http://AGENTS_FQDN/id",
  409. "OrderingUrl": "http://AGENTS_FQDN/ordering",
  410. "mvc": "http://AGENTS_FQDN/webmvc",
  411. "spa": "http://AGENTS_FQDN/webspa"
  412. },
  413. "instances": 1,
  414. "cpus": 0.1,
  415. "mem": 128,
  416. "container": {
  417. "docker": {
  418. "image": "REGISTRY/eshop/webstatus",
  419. "forcePullImage": true,
  420. "portMappings": [
  421. {
  422. "containerPort": 80
  423. }
  424. ],
  425. "network": "BRIDGE"
  426. }
  427. },
  428. "labels": {
  429. "HAPROXY_GROUP": "external",
  430. "HAPROXY_0_VHOST": "AGENTS_FQDN",
  431. "HAPROXY_0_MODE": "http",
  432. "HAPROXY_0_PATH": "/webstatus"
  433. },
  434. "uris": [
  435. "file:///mnt/share/docker.tar.gz"
  436. ]
  437. }
  438. ]
  439. }