Refactoring
This commit is contained in:
@@ -1,51 +1,260 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
postgres_svc:
|
||||
api-gateway:
|
||||
image: git.pbiernat.dev/egommerce/api-gateway:latest
|
||||
environment:
|
||||
- APP_NAME=api-gateway
|
||||
- APP_DOMAIN
|
||||
networks:
|
||||
- api-gateway-network
|
||||
- api-logger-network
|
||||
- identity-svc-network
|
||||
- basket-svc-network
|
||||
- catalog-svc-network
|
||||
- order-svc-network
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
api-registry:
|
||||
image: hashicorp/consul:1.14
|
||||
environment:
|
||||
- APP_NAME=api-registry
|
||||
- APP_DOMAIN
|
||||
volumes:
|
||||
- ./etc/consul/server.json:/consul/config/server.json:ro
|
||||
command: "consul agent -config-dir=/consul/config"
|
||||
networks:
|
||||
- api-registry-network
|
||||
- api-logger-network
|
||||
- api-gateway-network
|
||||
- identity-svc-network
|
||||
- basket-svc-network
|
||||
- catalog-svc-network
|
||||
- order-svc-network
|
||||
|
||||
api-eventbus:
|
||||
image: git.pbiernat.dev/egommerce/api-eventbus:latest
|
||||
environment:
|
||||
# - RABBITMQ_NODENAME=api-eventbus
|
||||
- APP_NAME=api-eventbus
|
||||
- APP_DOMAIN
|
||||
volumes:
|
||||
- rabbitmq_data:/var/lib/rabbitmq
|
||||
- rabbitmq_logs:/var/log/rabbitmq
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.tcp.routers.eventbus-svc.rule=HostSNI(`*`)"
|
||||
# - "traefik.tcp.routers.eventbus-svc.service=eventbus-svc"
|
||||
# - "traefik.tcp.routers.eventbus-svc.entryPoints=eventbus"
|
||||
# - "traefik.tcp.services.eventbus-svc.loadbalancer.server.port=5672"
|
||||
networks:
|
||||
- api-eventbus-network
|
||||
- api-registry-network
|
||||
- api-logger-network
|
||||
|
||||
api-logger:
|
||||
image: git.pbiernat.dev/egommerce/api-logger:latest
|
||||
environment:
|
||||
- APP_NAME=api-logger
|
||||
- APP_DOMAIN
|
||||
networks:
|
||||
- api-logger-network
|
||||
|
||||
postgres-db:
|
||||
image: postgres:14.1-alpine
|
||||
# hostname: postgres
|
||||
environment:
|
||||
- APP_NAME=postgres-db
|
||||
- APP_DOMAIN
|
||||
- POSTGRES_USER=postgres
|
||||
- POSTGRES_PASSWORD=SuPerTrudneHasloNaKoniecTrzebaWygenerowac
|
||||
- POSTGRES_PASSWORD
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.tcp.routers.postgres-svc.service=postgres-svc"
|
||||
# - "traefik.tcp.routers.postgres-svc.entryPoints=db"
|
||||
# - "traefik.tcp.services.postgres-svc.loadbalancer.server.port=5432"
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- postgres_network
|
||||
- postgres-db-network
|
||||
- api-logger-network
|
||||
|
||||
apigw_svc:
|
||||
image: git.pbiernat.dev/egommerce/apigw-svc:latest # fixme :stable
|
||||
networks:
|
||||
- apigw_network
|
||||
- identity_network
|
||||
- basket_network
|
||||
|
||||
identity_svc:
|
||||
image: git.pbiernat.dev/egommerce/identity-svc:latest # fixme :stable
|
||||
mongo-db:
|
||||
image: mongo:5.0.14
|
||||
environment:
|
||||
- DATABASE_URL=postgres://PROD_IDENTITY_USER:PROD_PASS@postgres_svc:5432/PROD_DATABASE
|
||||
- APP_NAME=mongo-db
|
||||
- APP_DOMAIN
|
||||
- MONGO_INITDB_ROOT_USERNAME=mongodb
|
||||
- MONGO_INITDB_ROOT_PASSWORD
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.tcp.routers.mongodb-svc.service=mongodb-svc"
|
||||
# - "traefik.tcp.routers.mongodb-svc.entryPoints=mongodb"
|
||||
# - "traefik.tcp.services.mongodb-svc.loadbalancer.server.port=27017"
|
||||
volumes:
|
||||
- mongodb_data:/data/db
|
||||
networks:
|
||||
- identity_network
|
||||
- postgres_network
|
||||
- mongodb-db-network
|
||||
- api-logger-network
|
||||
|
||||
basket_svc:
|
||||
image: git.pbiernat.dev/egommerce/basket-svc:latest # fixme :stable
|
||||
# API micro-services
|
||||
identity-svc:
|
||||
image: git.pbiernat.dev/egommerce/identity-svc:latest
|
||||
environment:
|
||||
- DATABASE_URL=postgres://PROD_BASKET_USER:PROD_PASS@postgres_svc:5432/PROD_DATABASE
|
||||
- APP_NAME=identity-svc
|
||||
- APP_DOMAIN
|
||||
- DATABASE_URL
|
||||
- EVENTBUS_URL
|
||||
networks:
|
||||
- basket_network
|
||||
- postgres_network
|
||||
- identity-svc-network
|
||||
- api-eventbus-network
|
||||
- api-logger-network
|
||||
- postgres-db-network
|
||||
- mongodb-db-network
|
||||
|
||||
basket-svc:
|
||||
image: git.pbiernat.dev/egommerce/basket-svc:latest
|
||||
environment:
|
||||
- APP_NAME=basket-svc
|
||||
- APP_DOMAIN
|
||||
- DATABASE_URL
|
||||
- EVENTBUS_URL
|
||||
networks:
|
||||
- basket-svc-network
|
||||
- api-eventbus-network
|
||||
- api-logger-network
|
||||
- postgres-db-network
|
||||
- mongodb-db-network
|
||||
|
||||
catalog-svc:
|
||||
image: git.pbiernat.dev/egommerce/catalog-svc:latest
|
||||
environment:
|
||||
- APP_NAME=catalog-svc
|
||||
- APP_DOMAIN
|
||||
- DATABASE_URL
|
||||
- EVENTBUS_URL
|
||||
networks:
|
||||
- catalog-svc-network
|
||||
- api-eventbus-network
|
||||
- api-logger-network
|
||||
- postgres-db-network
|
||||
- mongodb-db-network
|
||||
|
||||
order-svc:
|
||||
image: git.pbiernat.dev/egommerce/order-svc:latest
|
||||
environment:
|
||||
- APP_NAME=order-svc
|
||||
- APP_DOMAIN
|
||||
- DATABASE_URL
|
||||
- EVENTBUS_URL
|
||||
networks:
|
||||
- order-svc-network
|
||||
- api-eventbus-network
|
||||
- api-logger-network
|
||||
- postgres-db-network
|
||||
- mongodb-db-network
|
||||
|
||||
# Workers (EventBus)
|
||||
basket-worker:
|
||||
image: git.pbiernat.dev/egommerce/basket-worker:latest
|
||||
environment:
|
||||
- APP_NAME=basket-worker
|
||||
- DATABASE_URL
|
||||
- EVENTBUS_URL
|
||||
networks:
|
||||
- basket-worker-network
|
||||
- api-eventbus-network
|
||||
- api-logger-network
|
||||
- postgres-db-network
|
||||
- mongodb-db-network
|
||||
|
||||
catalog-worker:
|
||||
image: git.pbiernat.dev/egommerce/catalog-worker:latest
|
||||
environment:
|
||||
- APP_NAME=catalog-worker
|
||||
- DATABASE_URL
|
||||
- EVENTBUS_URL
|
||||
networks:
|
||||
- catalog-worker-network
|
||||
- api-eventbus-network
|
||||
- api-logger-network
|
||||
- postgres-db-network
|
||||
- mongodb-db-network
|
||||
|
||||
order-worker:
|
||||
image: git.pbiernat.dev/egommerce/order-worker:latest
|
||||
environment:
|
||||
- APP_NAME=order-worker
|
||||
- DATABASE_URL
|
||||
- EVENTBUS_URL
|
||||
networks:
|
||||
- order-worker-network
|
||||
- api-eventbus-network
|
||||
- api-logger-network
|
||||
- postgres-db-network
|
||||
- mongodb-db-network
|
||||
|
||||
volumes:
|
||||
postgres_data: ~
|
||||
mongodb_data: ~
|
||||
rabbitmq_data: ~
|
||||
rabbitmq_logs: ~
|
||||
|
||||
networks:
|
||||
postgres_network:
|
||||
api-gateway-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
apigw_network:
|
||||
api-registry-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
identity_network:
|
||||
api-eventbus-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
basket_network:
|
||||
api-logger-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
postgres-db-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
mongodb-db-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
# api micro-services networks
|
||||
identity-svc-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
basket-svc-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
catalog-svc-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
order-svc-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
# Workers networks
|
||||
# identity-worker-network:
|
||||
# driver: overlay
|
||||
# internal: true
|
||||
|
||||
basket-worker-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
catalog-worker-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
order-worker-network:
|
||||
driver: overlay
|
||||
internal: true
|
||||
|
||||
Reference in New Issue
Block a user