stack/deploy/egommerce-stack.dev.yml

196 lines
8.3 KiB
YAML
Raw Normal View History

2022-10-06 20:40:27 +02:00
version: "3.9"
services:
2022-11-30 02:20:48 +01:00
# INFRASTRUCTURE SERVICES
api-gateway:
image: git.pbiernat.dev/egommerce/api-gateway:dev
2022-12-04 07:19:55 +01:00
hostname: egommerce.pbiernat.dev
2022-11-30 02:20:48 +01:00
environment:
2022-12-04 07:19:55 +01:00
- APP_DOMAIN=egommerce.pbiernat.dev
2022-12-05 00:23:18 +01:00
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.api-gateway-dashboard.rule=PathPrefix(`/`)"
# - "traefik.http.routers.api-gateway-dashboard.service=dashboard@internal"
# - "traefik.http.routers.api-gateway-dashboard.middlewares=dashboard_redirect@internal,dashboard_stripprefix@internal"
# - "traefik.http.routers.api-gateway-api.rule=PathPrefix(`/api`)"
# - "traefik.http.routers.api-gateway-api.service=api@internal"
2022-12-04 10:24:57 +01:00
# - "traefik.http.routers.api-gateway-api.middlewares=PathPrefix(`/`)"
# - "traefik.http.routers.api-gateway.rule=Headers(`X-API-SERVICE`, `admin-gateway`)"
# - "traefik.http.routers.api-gateway.tls=true"
# - "traefik.http.routers.api-gateway.entryPoints=https"
# - "traefik.http.services.api-gateway.loadbalancer.server.scheme=http"
# - "traefik.http.services.api-gateway.loadbalancer.server.port=8080"
# - "traefik.http.middlewares.gateway-stripprefix.stripprefix.prefixes=/admin/gateway"
# - "traefik.tls.certificates.certfile=/etc/traefik/certs/client.cert"
# - "traefik.tls.certificates.keyfile=/etc/traefik/certs/client.key"
2022-10-06 20:40:27 +02:00
volumes:
2022-12-04 07:19:55 +01:00
- ./certs/api-gateway:/etc/traefik/certs
2022-11-30 02:20:48 +01:00
api-registry:
2022-12-02 22:03:33 +01:00
image: git.pbiernat.dev/egommerce/api-registry:dev
2022-12-04 01:41:55 +01:00
hostname: registry.egommerce.pbiernat.dev
2022-11-30 02:20:48 +01:00
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=registry.egommerce.pbiernat.dev
2022-12-25 23:21:27 +01:00
- CONSUL_HTTP_TOKEN=devop
2022-12-04 09:51:47 +01:00
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.api-registry.rule=PathPrefix(`/admin/registry`)"
# - "traefik.http.routers.api-registry.rule=Headers(`X-API-SERVICE`, `admin-registry`)"
# - "traefik.http.routers.api-registry.tls=true"
# - "traefik.http.routers.api-registry.tls.domains[0].main=egommerce.pbiernat.dev"
# - "traefik.http.routers.api-registry.entryPoints=https"
# - "traefik.http.routers.api-registry.service=api-registry"
# - "traefik.http.routers.api-registry.middlewares=registry-stripprefix"
# - "traefik.http.services.api-registry.loadbalancer.server.scheme=http"
# - "traefik.http.services.api-registry.loadbalancer.server.port=8500"
# - "traefik.http.middlewares.registry-stripprefix.stripprefix.prefixes=/admin/registry"
# - "traefik.tls.certificates.certfile=/certs/client.cert"
# - "traefik.tls.certificates.keyfile=/certs/client.key"
# volumes:
# - ./certs/api-gateway:/certs
2022-11-30 02:20:48 +01:00
api-eventbus:
image: git.pbiernat.dev/egommerce/api-eventbus:dev
2022-12-04 01:41:55 +01:00
hostname: eventbus.egommerce.pbiernat.dev
2022-10-06 20:40:27 +02:00
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=eventbus.egommerce.pbiernat.dev
2022-12-02 22:03:33 +01:00
- RABBITMQ_NODENAME=api-eventbus
2022-11-30 02:20:48 +01:00
# - RABBITMQ_DEFAULT_USER = admin
# - RABBITMQ_DEFAULT_PASS = passw123
2022-12-04 09:51:47 +01:00
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.api-eventbus.rule=PathPrefix(`/admin/eventbus`)"
# - "traefik.http.routers.api-eventbus.tls=true"
# - "traefik.http.routers.api-eventbus.tls.domains[0].main=egommerce.pbiernat.dev"
# - "traefik.http.routers.api-eventbus.entryPoints=https"
# - "traefik.http.routers.api-eventbus.service=api-eventbus"
# - "traefik.http.routers.api-eventbus.middlewares=eventbus-stripprefix"
# - "traefik.http.services.api-eventbus.loadbalancer.server.scheme=http"
# - "traefik.http.services.api-eventbus.loadbalancer.server.port=15672"
# - "traefik.http.middlewares.eventbus-stripprefix.stripprefix.prefixes=/admin/eventbus"
# # - "traefik.tls.certificates.certfile=/certs/client.cert"
# # - "traefik.tls.certificates.keyfile=/certs/client.key"
# volumes:
# - ./certs/api-gateway:/certs
2022-11-30 02:20:48 +01:00
2022-12-25 23:21:27 +01:00
api-cache:
image: git.pbiernat.dev/egommerce/api-cache:dev
environment:
- PASSWORD=12345678
2022-11-30 02:20:48 +01:00
api-logger:
image: git.pbiernat.dev/egommerce/api-logger:dev
2022-12-04 01:41:55 +01:00
hostname: logger.egommerce.pbiernat.dev
2022-11-30 02:20:48 +01:00
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=logger.egommerce.pbiernat.dev
# ports:
# - 24224:24224
2022-11-30 02:20:48 +01:00
postgres-db:
2022-12-04 01:41:55 +01:00
hostname: db.egommerce.pbiernat.dev
2022-11-30 02:20:48 +01:00
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=db.egommerce.pbiernat.dev
2022-10-06 20:40:27 +02:00
- POSTGRES_PASSWORD=12345678
# ports:
# - '5432:5432'
2022-11-30 02:20:48 +01:00
# volumes:
# - ./certs/postgres-db:/certs
2022-10-06 20:40:27 +02:00
2022-11-30 02:20:48 +01:00
mongo-db:
2022-12-04 01:41:55 +01:00
hostname: mongodb.egommerce.pbiernat.dev
2022-10-06 20:40:27 +02:00
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=mongodb.egommerce.pbiernat.dev
2022-11-30 02:20:48 +01:00
- MONGO_INITDB_ROOT_PASSWORD=12345678
# ports:
# - '27017:27017'
2022-11-30 02:20:48 +01:00
# volumes:
# - ./certs/mongo-db:/certs
2022-10-06 20:40:27 +02:00
2022-11-30 02:20:48 +01:00
# API micro-services
identity-svc:
image: git.pbiernat.dev/egommerce/identity-svc:dev
2022-10-06 20:40:27 +02:00
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=identity.api.egommerce.pbiernat.dev
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672
2022-11-30 02:20:48 +01:00
volumes:
2022-12-04 07:19:55 +01:00
- ./certs/api-gateway:/certs
2022-10-06 20:40:27 +02:00
2022-11-30 02:20:48 +01:00
basket-svc:
image: git.pbiernat.dev/egommerce/basket-svc:dev
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=basket.api.egommerce.pbiernat.dev
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672
2022-11-30 02:20:48 +01:00
volumes:
2022-12-04 07:19:55 +01:00
- ./certs/api-gateway:/certs
2022-11-30 02:20:48 +01:00
catalog-svc:
image: git.pbiernat.dev/egommerce/catalog-svc:dev
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=catalog.api.egommerce.pbiernat.dev
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672
2022-11-30 02:20:48 +01:00
volumes:
2022-12-04 07:19:55 +01:00
- ./certs/api-gateway:/certs
2022-11-30 02:20:48 +01:00
2022-12-25 23:21:27 +01:00
pricing-svc:
image: git.pbiernat.dev/egommerce/pricing-svc:dev
environment:
- APP_DOMAIN=pricing.api.egommerce.pbiernat.dev
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672
volumes:
- ./certs/api-gateway:/certs
2022-11-30 02:20:48 +01:00
order-svc:
image: git.pbiernat.dev/egommerce/order-svc:dev
environment:
2022-12-04 01:41:55 +01:00
- APP_DOMAIN=order.api.egommerce.pbiernat.dev
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672
2022-11-30 02:20:48 +01:00
volumes:
2022-12-04 07:19:55 +01:00
- ./certs/api-gateway:/certs
2022-11-30 02:20:48 +01:00
# Workers (EventBus)
basket-worker:
image: git.pbiernat.dev/egommerce/basket-worker:dev
2022-12-25 23:21:27 +01:00
# deploy:
# replicas: 2
2022-11-30 02:20:48 +01:00
environment:
2022-12-04 01:41:55 +01:00
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672
2022-11-30 02:20:48 +01:00
catalog-worker:
image: git.pbiernat.dev/egommerce/catalog-worker:dev
2022-12-25 23:21:27 +01:00
# deploy:
# replicas: 2
environment:
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672
pricing-worker:
image: git.pbiernat.dev/egommerce/pricing-worker:dev
# deploy:
# replicas: 2
2022-11-30 02:20:48 +01:00
environment:
2022-12-04 01:41:55 +01:00
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672
2022-11-30 02:20:48 +01:00
order-worker:
image: git.pbiernat.dev/egommerce/order-worker:dev
2022-12-25 23:21:27 +01:00
# deploy:
# replicas: 2
2022-11-30 02:20:48 +01:00
environment:
2022-12-04 01:41:55 +01:00
- DATABASE_URL=postgres://postgres:12345678@db.egommerce.pbiernat.dev:5432/egommerce
- MONGODB_URL=mongodb://mongodb:12345678@mongodb.egommerce.pbiernat.dev:27017
- EVENTBUS_URL=amqp://guest:guest@eventbus.egommerce.pbiernat.dev:5672