173 lines
3.7 KiB
YAML
173 lines
3.7 KiB
YAML
version: '3'
|
|
services:
|
|
mongodb:
|
|
build:
|
|
context: mongo
|
|
image: ${REPO}/rs-mongodb:${TAG}
|
|
networks:
|
|
- robot-shop
|
|
logging: &logging
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "25m"
|
|
max-file: "2"
|
|
redis:
|
|
image: redis:6.2-alpine
|
|
networks:
|
|
- robot-shop
|
|
logging:
|
|
<<: *logging
|
|
rabbitmq:
|
|
image: rabbitmq:3.8-management-alpine
|
|
networks:
|
|
- robot-shop
|
|
logging:
|
|
<<: *logging
|
|
catalogue:
|
|
build:
|
|
context: catalogue
|
|
image: ${REPO}/rs-catalogue:${TAG}
|
|
depends_on:
|
|
- mongodb
|
|
networks:
|
|
- robot-shop
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health" ]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
logging:
|
|
<<: *logging
|
|
user:
|
|
build:
|
|
context: user
|
|
image: ${REPO}/rs-user:${TAG}
|
|
depends_on:
|
|
- mongodb
|
|
- redis
|
|
networks:
|
|
- robot-shop
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health" ]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
logging:
|
|
<<: *logging
|
|
cart:
|
|
build:
|
|
context: cart
|
|
image: ${REPO}/rs-cart:${TAG}
|
|
depends_on:
|
|
- redis
|
|
networks:
|
|
- robot-shop
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health" ]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
logging:
|
|
<<: *logging
|
|
mysql:
|
|
build:
|
|
context: mysql
|
|
image: ${REPO}/rs-mysql-db:${TAG}
|
|
cap_add:
|
|
- NET_ADMIN
|
|
networks:
|
|
- robot-shop
|
|
logging:
|
|
<<: *logging
|
|
shipping:
|
|
build:
|
|
context: shipping
|
|
image: ${REPO}/rs-shipping:${TAG}
|
|
depends_on:
|
|
- mysql
|
|
networks:
|
|
- robot-shop
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
logging:
|
|
<<: *logging
|
|
ratings:
|
|
build:
|
|
context: ratings
|
|
image: ${REPO}/rs-ratings:${TAG}
|
|
environment:
|
|
APP_ENV: prod
|
|
networks:
|
|
- robot-shop
|
|
depends_on:
|
|
- mysql
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost/_health"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
logging:
|
|
<<: *logging
|
|
payment:
|
|
build:
|
|
context: payment
|
|
image: ${REPO}/rs-payment:${TAG}
|
|
depends_on:
|
|
- rabbitmq
|
|
networks:
|
|
- robot-shop
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/health"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
# Uncomment to change payment gateway
|
|
#environment:
|
|
#PAYMENT_GATEWAY: "https://www.worldpay.com"
|
|
logging:
|
|
<<: *logging
|
|
dispatch:
|
|
build:
|
|
context: dispatch
|
|
image: ${REPO}/rs-dispatch:${TAG}
|
|
depends_on:
|
|
- rabbitmq
|
|
networks:
|
|
- robot-shop
|
|
logging:
|
|
<<: *logging
|
|
web:
|
|
build:
|
|
context: web
|
|
args:
|
|
# agent key to download tracing libs
|
|
KEY: ${INSTANA_AGENT_KEY}
|
|
image: ${REPO}/rs-web:${TAG}
|
|
depends_on:
|
|
- catalogue
|
|
- user
|
|
- shipping
|
|
- payment
|
|
ports:
|
|
- "8080:8080"
|
|
networks:
|
|
- robot-shop
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-H", "X-INSTANA-SYNTHETIC: 1", "-f", "http://localhost:8080/" ]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
# Uncomment to enable Instana EUM
|
|
# environment:
|
|
# INSTANA_EUM_KEY: <your eum key>
|
|
# INSTANA_EUM_REPORTING_URL: <your reporting url>
|
|
logging:
|
|
<<: *logging
|
|
|
|
networks:
|
|
robot-shop:
|
|
|