API.Identity working with local DB

This commit is contained in:
shadablearning 2022-11-17 18:44:08 +05:30
parent 8438a6a652
commit 39b95c3356
2 changed files with 434 additions and 434 deletions

View File

@ -1,319 +1,161 @@
version: '3.4' version: '3.4'
# The default docker-compose.override file can use the "localhost" as the external name for testing web apps within the same dev machine.
# The ESHOP_EXTERNAL_DNS_NAME_OR_IP environment variable is taken, by default, from the ".env" file defined like:
# ESHOP_EXTERNAL_DNS_NAME_OR_IP=localhost
# but values present in the environment vars at runtime will always override those defined inside the .env file
# An external IP or DNS name has to be used (instead localhost and the 10.0.75.1 IP) when testing the Web apps and the Xamarin apps from remote machines/devices using the same WiFi, for instance.
services: services:
seq:
environment:
- ACCEPT_EULA=Y
ports:
- "5340:80"
sqldata: #seq:
environment: # image: datalust/seq:latest
- SA_PASSWORD=Pass@word
- ACCEPT_EULA=Y
ports:
- "5433:1433"
volumes:
- eshop-sqldata:/var/opt/mssql
nosqldata: #sqldata:
ports: # image: mcr.microsoft.com/mssql/server:2019-latest
- "27017:27017"
volumes:
- eshop-nosqldata:/data/db
basketdata: #nosqldata:
ports: # image: mongo
- "6379:6379"
volumes: #basketdata:
- eshop-basketdata:/data # image: redis:alpine
rabbitmq:
ports: #rabbitmq:
- "15672:15672" # image: rabbitmq:3-management-alpine
- "5672:5672"
identity-api: identity-api:
environment: image: ${REGISTRY:-eshop}/identity.api:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development build:
- ASPNETCORE_URLS=http://0.0.0.0:80 context: .
- SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104 dockerfile: Services/Identity/Identity.API/Dockerfile
- XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback #depends_on:
- ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word} # - sqldata
- MvcClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5100
- BasketApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5103
- OrderingApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5102
- MobileShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5120
- WebShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5121
- WebhooksApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5113
- WebhooksWebClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5114
- UseCustomizationData=True
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
ports:
- "5105:80"
basket-api: #basket-api:
environment: # image: ${REGISTRY:-eshop}/basket.api:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- ConnectionString=${ESHOP_AZURE_REDIS_BASKET_DB:-basketdata} # dockerfile: Services/Basket/Basket.API/Dockerfile
- identityUrl=http://identity-api # depends_on:
- IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105 # - basketdata
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq} # - identity-api
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME} # - rabbitmq
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
- PATH_BASE=/basket-api
- GRPC_PORT=81
- PORT=80
ports:
- "5103:80"
- "9103:81"
catalog-api: #catalog-api:
environment: # image: ${REGISTRY:-eshop}/catalog.api:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ConnectionString=${ESHOP_AZURE_CATALOG_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word} # context: .
- PicBaseUrl=${ESHOP_STORAGE_CATALOG_URL} # dockerfile: Services/Catalog/Catalog.API/Dockerfile
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq} # depends_on:
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME} # - sqldata
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD} # - rabbitmq
- AzureStorageAccountName=${ESHOP_AZURE_STORAGE_CATALOG_NAME}
- AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_CATALOG_KEY}
- UseCustomizationData=True
- AzureServiceBusEnabled=False
- AzureStorageEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- GRPC_PORT=81
- PORT=80
- PATH_BASE=/catalog-api
ports:
- "5101:80"
- "9101:81"
ordering-api: #ordering-api:
environment: # image: ${REGISTRY:-eshop}/ordering.api:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word} # dockerfile: Services/Ordering/Ordering.API/Dockerfile
- identityUrl=http://identity-api # depends_on:
- IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105 # - sqldata
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq} # - rabbitmq
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- UseCustomizationData=True
- AzureServiceBusEnabled=False
- CheckUpdateTime=30000
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
- Serilog__MinimumLevel__Override__ordering-api=Verbose
- PATH_BASE=/ordering-api
- GRPC_PORT=81
- PORT=80
ports:
- "5102:80"
- "9102:81"
ordering-backgroundtasks: #ordering-backgroundtasks:
environment: # image: ${REGISTRY:-eshop}/ordering.backgroundtasks:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word} # dockerfile: Services/Ordering/Ordering.BackgroundTasks/Dockerfile
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq} # depends_on:
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME} # - sqldata
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD} # - rabbitmq
- UseCustomizationData=True
- AzureServiceBusEnabled=False
- CheckUpdateTime=30000
- GracePeriodTime=1
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
ports:
- "5111:80"
payment-api: #payment-api:
environment: # image: ${REGISTRY:-eshop}/payment.api:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq} # dockerfile: Services/Payment/Payment.API/Dockerfile
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME} # depends_on:
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD} # - rabbitmq
- AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- Serilog__MinimumLevel__Override__payment-api.IntegrationEvents.EventHandling=Verbose
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
ports:
- "5108:80"
webhooks-api: #webhooks-api:
environment: # image: ${REGISTRY:-eshop}/webhooks.api:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- ConnectionString=${ESHOP_AZURE_WEBHOOKS_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.WebhooksDb;User Id=sa;Password=Pass@word} # dockerfile: Services/Webhooks/Webhooks.API/Dockerfile
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq} # depends_on:
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME} # - sqldata
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- IdentityUrl=http://identity-api
- IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
ports:
- "5113:80"
mobileshoppingapigw: #mobileshoppingapigw:
volumes: # image: envoyproxy/envoy:v1.11.1
- ./ApiGateways/Envoy/config/mobileshopping:/etc/envoy
ports:
- "5200:80"
- "15200:8001"
webshoppingapigw: #mobileshoppingagg:
volumes: # image: ${REGISTRY:-eshop}/mobileshoppingagg:${PLATFORM:-linux}-${TAG:-latest}
- ./ApiGateways/Envoy/config/webshopping:/etc/envoy # build:
ports: # context: .
- "5202:80" # dockerfile: ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
- "15202:8001" # depends_on:
# - nosqldata
# - sqldata
# - identity-api
# - rabbitmq
# - ordering-api
# - catalog-api
# - basket-api
mobileshoppingagg: #webshoppingagg:
environment: # image: ${REGISTRY:-eshop}/webshoppingagg:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- urls__basket=http://basket-api # context: .
- urls__catalog=http://catalog-api # dockerfile: ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
- urls__orders=http://ordering-api # depends_on:
- urls__identity=http://identity-api # - nosqldata
- urls__grpcBasket=http://basket-api:81 # - sqldata
- urls__grpcCatalog=http://catalog-api:81 # - identity-api
- urls__grpcOrdering=http://ordering-api:81 # - rabbitmq
- CatalogUrlHC=http://catalog-api/hc # - ordering-api
- OrderingUrlHC=http://ordering-api/hc # - catalog-api
- IdentityUrlHC=http://identity-api/hc # - basket-api
- BasketUrlHC=http://basket-api/hc
- PaymentUrlHC=http://payment-api/hc
- IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
ports:
- "5120:80"
webshoppingagg: #ordering-signalrhub:
environment: # image: ${REGISTRY:-eshop}/ordering.signalrhub:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- urls__basket=http://basket-api # context: .
- urls__catalog=http://catalog-api # dockerfile: Services/Ordering/Ordering.SignalrHub/Dockerfile
- urls__orders=http://ordering-api # depends_on:
- urls__identity=http://identity-api # - nosqldata
- urls__grpcBasket=http://basket-api:81 # - sqldata
- urls__grpcCatalog=http://catalog-api:81 # - identity-api
- urls__grpcOrdering=http://ordering-api:81 # - rabbitmq
- CatalogUrlHC=http://catalog-api/hc # - ordering-api
- OrderingUrlHC=http://ordering-api/hc # - catalog-api
- IdentityUrlHC=http://identity-api/hc # - basket-api
- BasketUrlHC=http://basket-api/hc
- PaymentUrlHC=http://payment-api/hc
- IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
ports:
- "5121:80"
ordering-signalrhub: #webstatus:
environment: # image: ${REGISTRY:-eshop}/webstatus:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq} # dockerfile: Web/WebStatus/Dockerfile
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- identityUrl=http://identity-api
ports:
- "5112:80"
webstatus: #webspa:
environment: # image: ${REGISTRY:-eshop}/webspa:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- HealthChecksUI__HealthChecks__0__Name=WebMVC HTTP Check # dockerfile: Web/WebSPA/Dockerfile
- HealthChecksUI__HealthChecks__0__Uri=http://webmvc/hc # args:
- HealthChecksUI__HealthChecks__1__Name=WebSPA HTTP Check # NODE_IMAGE: ${NODE_IMAGE:-node:12.0}
- HealthChecksUI__HealthChecks__1__Uri=http://webspa/hc # depends_on:
- HealthChecksUI__HealthChecks__2__Name=Web Shopping Aggregator GW HTTP Check # - webshoppingagg
- HealthChecksUI__HealthChecks__2__Uri=http://webshoppingagg/hc # - webshoppingapigw
- HealthChecksUI__HealthChecks__3__Name=Mobile Shopping Aggregator HTTP Check
- HealthChecksUI__HealthChecks__3__Uri=http://mobileshoppingagg/hc
- HealthChecksUI__HealthChecks__4__Name=Ordering HTTP Check
- HealthChecksUI__HealthChecks__4__Uri=http://ordering-api/hc
- HealthChecksUI__HealthChecks__5__Name=Basket HTTP Check
- HealthChecksUI__HealthChecks__5__Uri=http://basket-api/hc
- HealthChecksUI__HealthChecks__6__Name=Catalog HTTP Check
- HealthChecksUI__HealthChecks__6__Uri=http://catalog-api/hc
- HealthChecksUI__HealthChecks__7__Name=Identity HTTP Check
- HealthChecksUI__HealthChecks__7__Uri=http://identity-api/hc
- HealthChecksUI__HealthChecks__8__Name=Payments HTTP Check
- HealthChecksUI__HealthChecks__8__Uri=http://payment-api/hc
- HealthChecksUI__HealthChecks__9__Name=Ordering SignalRHub HTTP Check
- HealthChecksUI__HealthChecks__9__Uri=http://ordering-signalrhub/hc
- HealthChecksUI__HealthChecks__10__Name=Ordering HTTP Background Check
- HealthChecksUI__HealthChecks__10__Uri=http://ordering-backgroundtasks/hc
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
ports:
- "5107:80"
webspa: #webmvc:
environment: # image: ${REGISTRY:-eshop}/webmvc:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Production # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105 # dockerfile: Web/WebMVC/Dockerfile
- PurchaseUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202 # depends_on:
- IdentityUrlHC=http://identity-api/hc # - webshoppingagg
- UseCustomizationData=True # - webshoppingapigw
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
ports:
- "5104:80"
webmvc: #webhooks-client:
environment: # image: ${REGISTRY:-eshop}/webhooks.client:${PLATFORM:-linux}-${TAG:-latest}
- ASPNETCORE_ENVIRONMENT=Development # build:
- ASPNETCORE_URLS=http://0.0.0.0:80 # context: .
- PurchaseUrl=http://webshoppingapigw # dockerfile: Web/WebhookClient/Dockerfile
- IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105 # depends_on:
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202 # - webhooks-api
- IdentityUrlHC=http://identity-api/hc
- UseCustomizationData=True
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
ports:
- "5100:80"
webhooks-client:
environment:
- ASPNETCORE_URLS=http://0.0.0.0:80
- Token=6168DB8D-DC58-4094-AF24-483278923590 # Webhooks are registered with this token (any value is valid) but the client won't check it
- IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- CallBackUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5114
- WebhooksUrl=http://webhooks-api
- SelfUrl=http://webhooks-client/
ports:
- "5114:80"
volumes:
eshop-sqldata:
external: false
eshop-nosqldata:
external: false
eshop-basketdata:
external: false
#webshoppingapigw:
# image: envoyproxy/envoy:v1.11.1

View File

@ -1,161 +1,319 @@
version: '3.4' version: '3.4'
# The default docker-compose.override file can use the "localhost" as the external name for testing web apps within the same dev machine.
# The ESHOP_EXTERNAL_DNS_NAME_OR_IP environment variable is taken, by default, from the ".env" file defined like:
# ESHOP_EXTERNAL_DNS_NAME_OR_IP=localhost
# but values present in the environment vars at runtime will always override those defined inside the .env file
# An external IP or DNS name has to be used (instead localhost and the 10.0.75.1 IP) when testing the Web apps and the Xamarin apps from remote machines/devices using the same WiFi, for instance.
services: services:
#seq:
# environment:
# - ACCEPT_EULA=Y
# ports:
# - "5340:80"
seq: #sqldata:
image: datalust/seq:latest # environment:
# - SA_PASSWORD=Pass@word
# - ACCEPT_EULA=Y
# ports:
# - "5433:1433"
# volumes:
# - eshop-sqldata:/var/opt/mssql
sqldata: #nosqldata:
image: mcr.microsoft.com/mssql/server:2019-latest # ports:
# - "27017:27017"
# volumes:
# - eshop-nosqldata:/data/db
nosqldata: #basketdata:
image: mongo # ports:
# - "6379:6379"
basketdata: # volumes:
image: redis:alpine # - eshop-basketdata:/data
#rabbitmq:
rabbitmq: # ports:
image: rabbitmq:3-management-alpine # - "15672:15672"
# - "5672:5672"
identity-api: identity-api:
image: ${REGISTRY:-eshop}/identity.api:${PLATFORM:-linux}-${TAG:-latest} environment:
build: - ASPNETCORE_ENVIRONMENT=Development
context: . #- ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Services/Identity/Identity.API/Dockerfile #- SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104
depends_on: #- XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback
- sqldata - ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=host.docker.internal,1433;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=sa@123}
#- MvcClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5100
#- BasketApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5103
#- OrderingApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5102
#- MobileShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5120
#- WebShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5121
#- WebhooksApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5113
#- WebhooksWebClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5114
- UseCustomizationData=false
#- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
#- OrchestratorType=${ORCHESTRATOR_TYPE}
ports:
- "5105:80"
basket-api: # basket-api:
image: ${REGISTRY:-eshop}/basket.api:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Services/Basket/Basket.API/Dockerfile # - ConnectionString=${ESHOP_AZURE_REDIS_BASKET_DB:-basketdata}
depends_on: # - identityUrl=http://identity-api
- basketdata # - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- identity-api # - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- rabbitmq # - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
# - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - AzureServiceBusEnabled=False
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - UseLoadTest=${USE_LOADTEST:-False}
# - PATH_BASE=/basket-api
# - GRPC_PORT=81
# - PORT=80
# ports:
# - "5103:80"
# - "9103:81"
catalog-api: # catalog-api:
image: ${REGISTRY:-eshop}/catalog.api:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ConnectionString=${ESHOP_AZURE_CATALOG_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word}
dockerfile: Services/Catalog/Catalog.API/Dockerfile # - PicBaseUrl=${ESHOP_STORAGE_CATALOG_URL}
depends_on: # - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- sqldata # - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- rabbitmq # - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - AzureStorageAccountName=${ESHOP_AZURE_STORAGE_CATALOG_NAME}
# - AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_CATALOG_KEY}
# - UseCustomizationData=True
# - AzureServiceBusEnabled=False
# - AzureStorageEnabled=False
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - GRPC_PORT=81
# - PORT=80
# - PATH_BASE=/catalog-api
# ports:
# - "5101:80"
# - "9101:81"
ordering-api: # ordering-api:
image: ${REGISTRY:-eshop}/ordering.api:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Services/Ordering/Ordering.API/Dockerfile # - ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word}
depends_on: # - identityUrl=http://identity-api
- sqldata # - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- rabbitmq # - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
# - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
# - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - UseCustomizationData=True
# - AzureServiceBusEnabled=False
# - CheckUpdateTime=30000
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - UseLoadTest=${USE_LOADTEST:-False}
# - Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
# - Serilog__MinimumLevel__Override__ordering-api=Verbose
# - PATH_BASE=/ordering-api
# - GRPC_PORT=81
# - PORT=80
# ports:
# - "5102:80"
# - "9102:81"
ordering-backgroundtasks: # ordering-backgroundtasks:
image: ${REGISTRY:-eshop}/ordering.backgroundtasks:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Services/Ordering/Ordering.BackgroundTasks/Dockerfile # - ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word}
depends_on: # - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- sqldata # - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- rabbitmq # - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - UseCustomizationData=True
# - AzureServiceBusEnabled=False
# - CheckUpdateTime=30000
# - GracePeriodTime=1
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - UseLoadTest=${USE_LOADTEST:-False}
# - Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
# ports:
# - "5111:80"
payment-api: # payment-api:
image: ${REGISTRY:-eshop}/payment.api:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Services/Payment/Payment.API/Dockerfile # - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
depends_on: # - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- rabbitmq # - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - AzureServiceBusEnabled=False
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - Serilog__MinimumLevel__Override__payment-api.IntegrationEvents.EventHandling=Verbose
# - Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
# ports:
# - "5108:80"
webhooks-api: # webhooks-api:
image: ${REGISTRY:-eshop}/webhooks.api:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Services/Webhooks/Webhooks.API/Dockerfile # - ConnectionString=${ESHOP_AZURE_WEBHOOKS_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.WebhooksDb;User Id=sa;Password=Pass@word}
depends_on: # - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- sqldata # - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
# - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - IdentityUrl=http://identity-api
# - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
# ports:
# - "5113:80"
mobileshoppingapigw: # mobileshoppingapigw:
image: envoyproxy/envoy:v1.11.1 # volumes:
# - ./ApiGateways/Envoy/config/mobileshopping:/etc/envoy
# ports:
# - "5200:80"
# - "15200:8001"
mobileshoppingagg: # webshoppingapigw:
image: ${REGISTRY:-eshop}/mobileshoppingagg:${PLATFORM:-linux}-${TAG:-latest} # volumes:
build: # - ./ApiGateways/Envoy/config/webshopping:/etc/envoy
context: . # ports:
dockerfile: ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile # - "5202:80"
depends_on: # - "15202:8001"
- nosqldata
- sqldata
- identity-api
- rabbitmq
- ordering-api
- catalog-api
- basket-api
webshoppingagg: # mobileshoppingagg:
image: ${REGISTRY:-eshop}/webshoppingagg:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - urls__basket=http://basket-api
dockerfile: ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile # - urls__catalog=http://catalog-api
depends_on: # - urls__orders=http://ordering-api
- nosqldata # - urls__identity=http://identity-api
- sqldata # - urls__grpcBasket=http://basket-api:81
- identity-api # - urls__grpcCatalog=http://catalog-api:81
- rabbitmq # - urls__grpcOrdering=http://ordering-api:81
- ordering-api # - CatalogUrlHC=http://catalog-api/hc
- catalog-api # - OrderingUrlHC=http://ordering-api/hc
- basket-api # - IdentityUrlHC=http://identity-api/hc
# - BasketUrlHC=http://basket-api/hc
# - PaymentUrlHC=http://payment-api/hc
# - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
# ports:
# - "5120:80"
ordering-signalrhub: # webshoppingagg:
image: ${REGISTRY:-eshop}/ordering.signalrhub:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - urls__basket=http://basket-api
dockerfile: Services/Ordering/Ordering.SignalrHub/Dockerfile # - urls__catalog=http://catalog-api
depends_on: # - urls__orders=http://ordering-api
- nosqldata # - urls__identity=http://identity-api
- sqldata # - urls__grpcBasket=http://basket-api:81
- identity-api # - urls__grpcCatalog=http://catalog-api:81
- rabbitmq # - urls__grpcOrdering=http://ordering-api:81
- ordering-api # - CatalogUrlHC=http://catalog-api/hc
- catalog-api # - OrderingUrlHC=http://ordering-api/hc
- basket-api # - IdentityUrlHC=http://identity-api/hc
# - BasketUrlHC=http://basket-api/hc
# - PaymentUrlHC=http://payment-api/hc
# - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
# ports:
# - "5121:80"
webstatus: # ordering-signalrhub:
image: ${REGISTRY:-eshop}/webstatus:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Web/WebStatus/Dockerfile # - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
# - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
# - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - AzureServiceBusEnabled=False
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - identityUrl=http://identity-api
# ports:
# - "5112:80"
webspa: # webstatus:
image: ${REGISTRY:-eshop}/webspa:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Web/WebSPA/Dockerfile # - HealthChecksUI__HealthChecks__0__Name=WebMVC HTTP Check
args: # - HealthChecksUI__HealthChecks__0__Uri=http://webmvc/hc
NODE_IMAGE: ${NODE_IMAGE:-node:12.0} # - HealthChecksUI__HealthChecks__1__Name=WebSPA HTTP Check
depends_on: # - HealthChecksUI__HealthChecks__1__Uri=http://webspa/hc
- webshoppingagg # - HealthChecksUI__HealthChecks__2__Name=Web Shopping Aggregator GW HTTP Check
- webshoppingapigw # - HealthChecksUI__HealthChecks__2__Uri=http://webshoppingagg/hc
# - HealthChecksUI__HealthChecks__3__Name=Mobile Shopping Aggregator HTTP Check
# - HealthChecksUI__HealthChecks__3__Uri=http://mobileshoppingagg/hc
# - HealthChecksUI__HealthChecks__4__Name=Ordering HTTP Check
# - HealthChecksUI__HealthChecks__4__Uri=http://ordering-api/hc
# - HealthChecksUI__HealthChecks__5__Name=Basket HTTP Check
# - HealthChecksUI__HealthChecks__5__Uri=http://basket-api/hc
# - HealthChecksUI__HealthChecks__6__Name=Catalog HTTP Check
# - HealthChecksUI__HealthChecks__6__Uri=http://catalog-api/hc
# - HealthChecksUI__HealthChecks__7__Name=Identity HTTP Check
# - HealthChecksUI__HealthChecks__7__Uri=http://identity-api/hc
# - HealthChecksUI__HealthChecks__8__Name=Payments HTTP Check
# - HealthChecksUI__HealthChecks__8__Uri=http://payment-api/hc
# - HealthChecksUI__HealthChecks__9__Name=Ordering SignalRHub HTTP Check
# - HealthChecksUI__HealthChecks__9__Uri=http://ordering-signalrhub/hc
# - HealthChecksUI__HealthChecks__10__Name=Ordering HTTP Background Check
# - HealthChecksUI__HealthChecks__10__Uri=http://ordering-backgroundtasks/hc
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# ports:
# - "5107:80"
webmvc: # webspa:
image: ${REGISTRY:-eshop}/webmvc:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Production
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Web/WebMVC/Dockerfile # - IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
depends_on: # - PurchaseUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
- webshoppingagg # - IdentityUrlHC=http://identity-api/hc
- webshoppingapigw # - UseCustomizationData=True
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
# ports:
# - "5104:80"
webhooks-client: # webmvc:
image: ${REGISTRY:-eshop}/webhooks.client:${PLATFORM:-linux}-${TAG:-latest} # environment:
build: # - ASPNETCORE_ENVIRONMENT=Development
context: . # - ASPNETCORE_URLS=http://0.0.0.0:80
dockerfile: Web/WebhookClient/Dockerfile # - PurchaseUrl=http://webshoppingapigw
depends_on: # - IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- webhooks-api # - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
# - IdentityUrlHC=http://identity-api/hc
# - UseCustomizationData=True
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - UseLoadTest=${USE_LOADTEST:-False}
# ports:
# - "5100:80"
# webhooks-client:
# environment:
# - ASPNETCORE_URLS=http://0.0.0.0:80
# - Token=6168DB8D-DC58-4094-AF24-483278923590 # Webhooks are registered with this token (any value is valid) but the client won't check it
# - IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
# - CallBackUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5114
# - WebhooksUrl=http://webhooks-api
# - SelfUrl=http://webhooks-client/
# ports:
# - "5114:80"
#volumes:
# eshop-sqldata:
# external: false
# eshop-nosqldata:
# external: false
# eshop-basketdata:
# external: false
webshoppingapigw:
image: envoyproxy/envoy:v1.11.1