Browse Source

Merge branch 'fix/post-release-fixes' into dev

feature/3.1-upgrade
Miguel Veloso 5 years ago
parent
commit
b5ab54afbc
41 changed files with 323 additions and 272 deletions
  1. +17
    -17
      build/azure-devops/apigws/azure-pipelines.yml
  2. +3
    -3
      build/azure-devops/basket-api/azure-pipelines.yml
  3. +8
    -6
      build/azure-devops/buildimages.yaml
  4. +3
    -3
      build/azure-devops/catalog-api/azure-pipelines.yml
  5. +3
    -3
      build/azure-devops/identity-api/azure-pipelines.yml
  6. +8
    -8
      build/azure-devops/infrastructure/azure-pipelines.yml
  7. +3
    -3
      build/azure-devops/location-api/azure-pipelines.yml
  8. +3
    -3
      build/azure-devops/marketing-api/azure-pipelines.yml
  9. +3
    -3
      build/azure-devops/mobile-shopping-agg/azure-pipelines.yml
  10. +5
    -5
      build/azure-devops/ordering-api/azure-pipelines.yml
  11. +4
    -4
      build/azure-devops/payment-api/azure-pipelines.yml
  12. +3
    -3
      build/azure-devops/readme.md
  13. +4
    -4
      build/azure-devops/web-shopping-agg/azure-pipelines.yml
  14. +4
    -4
      build/azure-devops/webhooks-api/azure-pipelines.yml
  15. +4
    -4
      build/azure-devops/webhooks-client/azure-pipelines.yml
  16. +4
    -4
      build/azure-devops/webmvc/azure-pipelines.yml
  17. +4
    -4
      build/azure-devops/webspa/azure-pipelines.yml
  18. +4
    -4
      build/azure-devops/webstatus/azure-pipelines.yml
  19. +18
    -0
      deploy/k8s/dashboard-adminuser.yaml
  20. +0
    -2
      deploy/k8s/deploy-ingress-dockerlocal.ps1
  21. +0
    -2
      deploy/k8s/deploy-ingress.ps1
  22. +27
    -12
      deploy/k8s/helm/apigwms/envoy.yaml
  23. +25
    -10
      deploy/k8s/helm/apigwws/envoy.yaml
  24. +16
    -33
      deploy/k8s/helm/webstatus/values.yaml
  25. BIN
      deploy/k8s/nginx-ingress/cm.yaml
  26. +11
    -0
      deploy/k8s/nginx-ingress/local-cm.yaml
  27. +0
    -0
      deploy/k8s/nginx-ingress/local-svc.yaml
  28. +27
    -12
      src/ApiGateways/Envoy/config/mobileshopping/envoy.yaml
  29. +25
    -10
      src/ApiGateways/Envoy/config/webshopping/envoy.yaml
  30. +1
    -0
      src/Services/Identity/Identity.API/Views/Shared/_Layout.cshtml
  31. +2
    -0
      src/Web/WebMVC/Views/Shared/_Layout.cshtml
  32. +1
    -1
      src/Web/WebMVC/bundleconfig.json
  33. +6
    -6
      src/Web/WebMVC/libman.json
  34. +7
    -4
      src/Web/WebSPA/Client/modules/shared/services/signalr.service.ts
  35. +44
    -69
      src/Web/WebSPA/package-lock.json
  36. +2
    -2
      src/Web/WebSPA/package.json
  37. +10
    -10
      src/docker-compose-tests.override.yml
  38. +10
    -10
      src/docker-compose-tests.yml
  39. +2
    -2
      src/docker-compose.override.yml
  40. +1
    -1
      src/docker-compose.windows.yml
  41. +1
    -1
      src/docker-compose.yml

+ 17
- 17
build/azure-devops/apigws/azure-pipelines.yml View File

@ -1,5 +1,3 @@
variables:
registryEndpoint: eshop-registry
trigger:
branches:
include:
@ -8,22 +6,24 @@ trigger:
paths:
include:
- src/ApiGateways/*
- k8s/helm/apigwmm/*
- k8s/helm/apigwms/*
- k8s/helm/apigwwm/*
- k8s/helm/apigwws/*
- deploy/k8s/helm/apigwmm/*
- deploy/k8s/helm/apigwms/*
- deploy/k8s/helm/apigwwm/*
- deploy/k8s/helm/apigwws/*
exclude:
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
jobs:
- template: ../buildimages.yaml
parameters:
services: mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
- template: ../multiarch.yaml
parameters:
image: ocelotapigw
branch: $(Build.SourceBranchName)
registryEndpoint: $(registryEndpoint)
- job: PublishCharts
condition: ne('$(Build.Reason)', 'PullRequest')
pool:
vmImage: 'ubuntu-16.04'
steps:
- task: CopyFiles@2
inputs:
sourceFolder: $(Build.SourcesDirectory)/deploy/k8s/helm
targetFolder: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
artifactName: helm

+ 3
- 3
build/azure-devops/basket-api/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Services/Basket/*
- k8s/helm/basket-api/*
- deploy/k8s/helm/basket-api/*
jobs:
- template: ../buildimages.yaml
parameters:
services: basket.api
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: basket.api


+ 8
- 6
build/azure-devops/buildimages.yaml View File

@ -13,16 +13,17 @@ jobs:
- bash: docker-compose build ${{ parameters.services }}
displayName: Create multiarch manifest
env:
TAG: ${{ variables['Build.SourceBranchName'] }}
TAG: ${{ variables['Build.SourceBranchName'] }}
- job: BuildContainersForPR_Windows
condition: eq('${{ variables['Build.Reason'] }}', 'PullRequest')
condition: False
# condition: eq('${{ variables['Build.Reason'] }}', 'PullRequest')
pool:
vmImage: 'windows-2019'
steps:
- bash: docker-compose build ${{ parameters.services }}
displayName: Create multiarch manifest
env:
TAG: ${{ variables['Build.SourceBranchName'] }}
TAG: ${{ variables['Build.SourceBranchName'] }}
PLATFORM: win
NODE_IMAGE: stefanscherer/node-windows:10
- job: BuildLinux
@ -51,7 +52,7 @@ jobs:
qualifyImageNames: true
projectName: ""
dockerComposeFileArgs: |
TAG=${{ variables['Build.SourceBranchName'] }}
TAG=${{ variables['Build.SourceBranchName'] }}
- task: CopyFiles@2
inputs:
sourceFolder: ${{ parameters.helmfrom }}
@ -61,7 +62,8 @@ jobs:
pathtoPublish: ${{ parameters.helmto }}
artifactName: helm
- job: BuildWindows
condition: ne('${{ variables['Build.Reason'] }}', 'PullRequest')
condition: False
# condition: ne('${{ variables['Build.Reason'] }}', 'PullRequest')
pool:
vmImage: 'windows-2019'
steps:
@ -89,4 +91,4 @@ jobs:
projectName: ""
dockerComposeFileArgs: |
TAG=${{ variables['Build.SourceBranchName'] }}
PLATFORM=win
PLATFORM=win

+ 3
- 3
build/azure-devops/catalog-api/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Services/Catalog/*
- k8s/helm/catalog-api/*
- deploy/k8s/helm/catalog-api/*
jobs:
- template: ../buildimages.yaml
parameters:
services: catalog.api
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: catalog.api


+ 3
- 3
build/azure-devops/identity-api/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Services/Identity/*
- k8s/helm/identity-api/*
- deploy/k8s/helm/identity-api/*
jobs:
- template: ../buildimages.yaml
parameters:
services: identity.api
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: identity.api


+ 8
- 8
build/azure-devops/infrastructure/azure-pipelines.yml View File

@ -9,17 +9,17 @@ trigger:
- dev
paths:
include:
- k8s/helm/basket-data/*
- k8s/helm/keystore-data/*
- k8s/helm/nosql-data/*
- k8s/helm/rabbitmq/*
- k8s/helm/sql-data/*
- deploy/k8s/helm/basket-data/*
- deploy/k8s/helm/keystore-data/*
- deploy/k8s/helm/nosql-data/*
- deploy/k8s/helm/rabbitmq/*
- deploy/k8s/helm/sql-data/*
steps:
- task: CopyFiles@2
inputs:
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
sourceFolder: $(Build.SourcesDirectory)/deploy/k8s/helm
targetFolder: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
pathtoPublish: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
artifactName: helm

+ 3
- 3
build/azure-devops/location-api/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Services/Location/*
- k8s/helm/locations-api/*
- deploy/k8s/helm/locations-api/*
jobs:
- template: ../buildimages.yaml
parameters:
services: locations.api
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: locations.api


+ 3
- 3
build/azure-devops/marketing-api/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Services/Marketing/*
- k8s/helm/marketing-api/*
- deploy/k8s/helm/marketing-api/*
jobs:
- template: ../buildimages.yaml
parameters:
services: marketing.api
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: marketing.api


+ 3
- 3
build/azure-devops/mobile-shopping-agg/azure-pipelines.yml View File

@ -8,14 +8,14 @@ trigger:
paths:
include:
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
- k8s/helm/mobileshoppingagg/*
- deploy/k8s/helm/mobileshoppingagg/*
jobs:
- template: ../buildimages.yaml
parameters:
services: mobileshoppingagg
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: mobileshoppingagg


+ 5
- 5
build/azure-devops/ordering-api/azure-pipelines.yml View File

@ -9,16 +9,16 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Services/Ordering/*
- k8s/helm/ordering-api/*
- k8s/helm/ordering-backgroundtasks/*
- k8s/helm/ordering-signalrhub/*
- deploy/k8s/helm/ordering-api/*
- deploy/k8s/helm/ordering-backgroundtasks/*
- deploy/k8s/helm/ordering-signalrhub/*
jobs:
- template: ../buildimages.yaml
parameters:
services: ordering.api
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: ordering.api


+ 4
- 4
build/azure-devops/payment-api/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Services/Payment/*
- k8s/helm/payment-api/*
- deploy/k8s/helm/payment-api/*
jobs:
- template: ../buildimages.yaml
parameters:
services: payment.api
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: payment.api


+ 3
- 3
build/azure-devops/readme.md View File

@ -1,5 +1,5 @@
# Azure Devops build definitions
# Azure DevOps build definitions
This folder contains the Azure Devops build definitions in YAML format. Each folder contains one `azure-pipelines.yml` that contains the build definition for one microservice (usually a Docker image, but some microservices generates more than one Docker image).
This folder contains the Azure DevOps build definitions in YAML format. Each folder contains one `azure-pipelines.yml` that contains the build definition for one microservice (usually a Docker image, but some microservices generates more than one Docker image).
For more information about YAML builds read the [Azure DevOps documentation](https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=azure-devops).
For more information about YAML builds read the [Azure DevOps documentation](https://docs.microsoft.com/azure/devops/pipelines/get-started-yaml?view=azure-devops).

+ 4
- 4
build/azure-devops/web-shopping-agg/azure-pipelines.yml View File

@ -8,14 +8,14 @@ trigger:
paths:
include:
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
- k8s/helm/webshoppingagg/*
- deploy/k8s/helm/webshoppingagg/*
jobs:
- template: ../buildimages.yaml
parameters:
services: webshoppingagg
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: webshoppingagg


+ 4
- 4
build/azure-devops/webhooks-api/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Services/Webhooks/*
- k8s/helm/webhooks-api/*
- deploy/k8s/helm/webhooks-api/*
jobs:
- template: ../buildimages.yaml
parameters:
services: webhooks.api
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: webhooks.api


+ 4
- 4
build/azure-devops/webhooks-client/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Web/WebhookClient/*
- k8s/helm/webhooks-web/*
- deploy/k8s/helm/webhooks-web/*
jobs:
- template: ../buildimages.yaml
parameters:
services: webhooks.client
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: webhooks.client


+ 4
- 4
build/azure-devops/webmvc/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Web/WebMVC/*
- k8s/helm/webmvc/*
- deploy/k8s/helm/webmvc/*
jobs:
- template: ../buildimages.yaml
parameters:
services: webmvc
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: webmvc


+ 4
- 4
build/azure-devops/webspa/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Web/WebSPA/*
- k8s/helm/webspa/*
- deploy/k8s/helm/webspa/*
jobs:
- template: ../buildimages.yaml
parameters:
services: webspa
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: webspa


+ 4
- 4
build/azure-devops/webstatus/azure-pipelines.yml View File

@ -9,14 +9,14 @@ trigger:
include:
- src/BuildingBlocks/*
- src/Web/WebStatus/*
- k8s/helm/webstatus/*
- deploy/k8s/helm/webstatus/*
jobs:
- template: ../buildimages.yaml
parameters:
services: webstatus
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
registryEndpoint: $(registryEndpoint)
helmfrom: $(Build.SourcesDirectory)/deploy/k8s/helm
helmto: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
- template: ../multiarch.yaml
parameters:
image: webstatus


+ 18
- 0
deploy/k8s/dashboard-adminuser.yaml View File

@ -0,0 +1,18 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard

+ 0
- 2
deploy/k8s/deploy-ingress-dockerlocal.ps1 View File

@ -1,2 +0,0 @@
kubectl apply -f nginx-ingress\cm.yaml
kubectl apply -f nginx-ingress\cloud-generic.yaml

+ 0
- 2
deploy/k8s/deploy-ingress.ps1 View File

@ -1,2 +0,0 @@
# Deploy nginx-ingress core files
kubectl apply -f nginx-ingress\mandatory.yaml

+ 27
- 12
deploy/k8s/helm/apigwms/envoy.yaml View File

@ -42,13 +42,20 @@ static_resources:
route:
auto_host_rewrite: true
prefix_rewrite: "/ordering-api/"
cluster: ordering
cluster: ordering
- name: "o-long"
match:
prefix: "/ordering-api/"
route:
auto_host_rewrite: true
cluster: ordering
cluster: ordering
- name: "h-long"
match:
prefix: "/hub/notificationhub"
route:
auto_host_rewrite: true
cluster: signalr-hub
timeout: 300s
- name: "b-short"
match:
prefix: "/b/"
@ -61,7 +68,7 @@ static_resources:
prefix: "/basket-api/"
route:
auto_host_rewrite: true
cluster: basket
cluster: basket
- name: "agg"
match:
prefix: "/"
@ -70,25 +77,25 @@ static_resources:
prefix_rewrite: "/"
cluster: shoppingagg
http_filters:
- name: envoy.router
- name: envoy.router
access_log:
- name: envoy.file_access_log
filter:
not_health_check_filter: {}
not_health_check_filter: {}
config:
json_format:
time: "%START_TIME%"
protocol: "%PROTOCOL%"
duration: "%DURATION%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
clusters:
- name: shoppingagg
connect_timeout: 0.25s
@ -113,7 +120,7 @@ static_resources:
hosts:
- socket_address:
address: basket-api
port_value: 80
port_value: 80
- name: ordering
connect_timeout: 0.25s
type: strict_dns
@ -121,4 +128,12 @@ static_resources:
hosts:
- socket_address:
address: ordering-api
port_value: 80
port_value: 80
- name: signalr-hub
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ordering-signalrhub
port_value: 80

+ 25
- 10
deploy/k8s/helm/apigwws/envoy.yaml View File

@ -42,13 +42,20 @@ static_resources:
route:
auto_host_rewrite: true
prefix_rewrite: "/ordering-api/"
cluster: ordering
cluster: ordering
- name: "o-long"
match:
prefix: "/ordering-api/"
route:
auto_host_rewrite: true
cluster: ordering
cluster: ordering
- name: "h-long"
match:
prefix: "/hub/notificationhub"
route:
auto_host_rewrite: true
cluster: signalr-hub
timeout: 300s
- name: "b-short"
match:
prefix: "/b/"
@ -61,7 +68,7 @@ static_resources:
prefix: "/basket-api/"
route:
auto_host_rewrite: true
cluster: basket
cluster: basket
- name: "agg"
match:
prefix: "/"
@ -70,7 +77,7 @@ static_resources:
prefix_rewrite: "/"
cluster: shoppingagg
http_filters:
- name: envoy.router
- name: envoy.router
access_log:
- name: envoy.file_access_log
filter:
@ -80,15 +87,15 @@ static_resources:
time: "%START_TIME%"
protocol: "%PROTOCOL%"
duration: "%DURATION%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
path: "/tmp/access.log"
clusters:
- name: shoppingagg
connect_timeout: 0.25s
@ -113,7 +120,7 @@ static_resources:
hosts:
- socket_address:
address: basket-api
port_value: 80
port_value: 80
- name: ordering
connect_timeout: 0.25s
type: strict_dns
@ -121,4 +128,12 @@ static_resources:
hosts:
- socket_address:
address: ordering-api
port_value: 80
port_value: 80
- name: signalr-hub
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ordering-signalrhub
port_value: 80

+ 16
- 33
deploy/k8s/helm/webstatus/values.yaml View File

@ -55,54 +55,37 @@ env:
- name: HealthChecks-UI__HealthChecks__4__Uri
key: internalurls__ordering__hc
- name: HealthChecks-UI__HealthChecks__5__Name
key: name__orderingbackground__hc
key: name__basket__hc
- name: HealthChecks-UI__HealthChecks__5__Uri
key: internalurls__orderingbackground__hc
key: internalurls__basket__hc
- name: HealthChecks-UI__HealthChecks__6__Name
key: name__signalrhub__hc
key: name__catalog__hc
- name: HealthChecks-UI__HealthChecks__6__Uri
key: internalurls__signalrhub__hc
key: internalurls__catalog__hc
- name: HealthChecks-UI__HealthChecks__7__Name
key: name__basket__hc
key: name__identity__hc
- name: HealthChecks-UI__HealthChecks__7__Uri
key: internalurls__basket__hc
key: internalurls__identity__hc
- name: HealthChecks-UI__HealthChecks__8__Name
key: name__catalog__hc
key: name__marketing__hc
- name: HealthChecks-UI__HealthChecks__8__Uri
key: internalurls__catalog__hc
key: internalurls__marketing__hc
- name: HealthChecks-UI__HealthChecks__9__Name
key: name__identity__hc
key: name__locations__hc
- name: HealthChecks-UI__HealthChecks__9__Uri
key: internalurls__identity__hc
key: internalurls__locations__hc
- name: HealthChecks-UI__HealthChecks__10__Name
key: name__marketing__hc
key: name__payment__hc
- name: HealthChecks-UI__HealthChecks__10__Uri
key: internalurls__marketing__hc
key: internalurls__payment__hc
- name: HealthChecks-UI__HealthChecks__11__Name
key: name__locations__hc
key: name__signalrhub__hc
- name: HealthChecks-UI__HealthChecks__11__Uri
key: internalurls__locations__hc
key: internalurls__signalrhub__hc
- name: HealthChecks-UI__HealthChecks__12__Name
key: name__payment__hc
key: name__orderingbackground__hc
- name: HealthChecks-UI__HealthChecks__12__Uri
key: internalurls__payment__hc
- name: HealthChecks-UI__HealthChecks__13__Name
key: name__apigwws__hc
- name: HealthChecks-UI__HealthChecks__13__Uri
key: internalurls__apigwws__hc
- name: HealthChecks-UI__HealthChecks__14__Name
key: name__apigwwm__hc
- name: HealthChecks-UI__HealthChecks__14__Uri
key: internalurls__apigwwm__hc
- name: HealthChecks-UI__HealthChecks__15__Name
key: name__apigwms__hc
- name: HealthChecks-UI__HealthChecks__15__Uri
key: internalurls__apigwms__hc
- name: HealthChecks-UI__HealthChecks__16__Name
key: name__apigwmm__hc
- name: HealthChecks-UI__HealthChecks__16__Uri
key: internalurls__apigwmm__hc
key: internalurls__orderingbackground__hc
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:


BIN
deploy/k8s/nginx-ingress/cm.yaml View File


+ 11
- 0
deploy/k8s/nginx-ingress/local-cm.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
name: nginx-configuration
namespace: ingress-nginx
data:
proxy-buffer-size: "128k"
proxy-buffers: "4 256k"

deploy/k8s/nginx-ingress/cloud-generic.yaml → deploy/k8s/nginx-ingress/local-svc.yaml View File


+ 27
- 12
src/ApiGateways/Envoy/config/mobileshopping/envoy.yaml View File

@ -42,13 +42,20 @@ static_resources:
route:
auto_host_rewrite: true
prefix_rewrite: "/ordering-api/"
cluster: ordering
cluster: ordering
- name: "o-long"
match:
prefix: "/ordering-api/"
route:
auto_host_rewrite: true
cluster: ordering
cluster: ordering
- name: "h-long"
match:
prefix: "/hub/notificationhub"
route:
auto_host_rewrite: true
cluster: signalr-hub
timeout: 300s
- name: "b-short"
match:
prefix: "/b/"
@ -61,7 +68,7 @@ static_resources:
prefix: "/basket-api/"
route:
auto_host_rewrite: true
cluster: basket
cluster: basket
- name: "agg"
match:
prefix: "/"
@ -70,25 +77,25 @@ static_resources:
prefix_rewrite: "/"
cluster: shoppingagg
http_filters:
- name: envoy.router
- name: envoy.router
access_log:
- name: envoy.file_access_log
filter:
not_health_check_filter: {}
not_health_check_filter: {}
config:
json_format:
time: "%START_TIME%"
protocol: "%PROTOCOL%"
duration: "%DURATION%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
clusters:
- name: shoppingagg
connect_timeout: 0.25s
@ -113,7 +120,7 @@ static_resources:
hosts:
- socket_address:
address: basket-api
port_value: 80
port_value: 80
- name: ordering
connect_timeout: 0.25s
type: strict_dns
@ -121,4 +128,12 @@ static_resources:
hosts:
- socket_address:
address: ordering-api
port_value: 80
port_value: 80
- name: signalr-hub
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ordering-signalrhub
port_value: 80

+ 25
- 10
src/ApiGateways/Envoy/config/webshopping/envoy.yaml View File

@ -42,13 +42,20 @@ static_resources:
route:
auto_host_rewrite: true
prefix_rewrite: "/ordering-api/"
cluster: ordering
cluster: ordering
- name: "o-long"
match:
prefix: "/ordering-api/"
route:
auto_host_rewrite: true
cluster: ordering
cluster: ordering
- name: "h-long"
match:
prefix: "/hub/notificationhub"
route:
auto_host_rewrite: true
cluster: signalr-hub
timeout: 300s
- name: "b-short"
match:
prefix: "/b/"
@ -61,7 +68,7 @@ static_resources:
prefix: "/basket-api/"
route:
auto_host_rewrite: true
cluster: basket
cluster: basket
- name: "agg"
match:
prefix: "/"
@ -70,7 +77,7 @@ static_resources:
prefix_rewrite: "/"
cluster: shoppingagg
http_filters:
- name: envoy.router
- name: envoy.router
access_log:
- name: envoy.file_access_log
filter:
@ -80,15 +87,15 @@ static_resources:
time: "%START_TIME%"
protocol: "%PROTOCOL%"
duration: "%DURATION%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
path: "/tmp/access.log"
clusters:
- name: shoppingagg
connect_timeout: 0.25s
@ -113,7 +120,7 @@ static_resources:
hosts:
- socket_address:
address: basket-api
port_value: 80
port_value: 80
- name: ordering
connect_timeout: 0.25s
type: strict_dns
@ -121,4 +128,12 @@ static_resources:
hosts:
- socket_address:
address: ordering-api
port_value: 80
port_value: 80
- name: signalr-hub
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ordering-signalrhub
port_value: 80

+ 1
- 0
src/Services/Identity/Identity.API/Views/Shared/_Layout.cshtml View File

@ -3,6 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Security-Policy" content="script-src 'unsafe-inline'; script-src-elem 'unsafe-inline'">
<title>eShopOnContainers Identity</title>
<link rel="icon" type="image/x-icon" href="~/favicon.ico" />
<link rel="shortcut icon" type="image/x-icon" href="~/favicon.ico" />


+ 2
- 0
src/Web/WebMVC/Views/Shared/_Layout.cshtml View File

@ -102,10 +102,12 @@
function stablishConnection(cb) {
let connection = new signalR.HubConnectionBuilder()
.withUrl('@settings.Value.SignalrHubUrl/hub/notificationhub', {
transport: signalR.HttpTransportType.LongPolling,
accessTokenFactory: () => {
return "Authorization", getToken();
}
})
.withAutomaticReconnect()
.build();
connection.start().then(function () {


+ 1
- 1
src/Web/WebMVC/bundleconfig.json View File

@ -11,7 +11,7 @@
{
"outputFileName": "wwwroot/js/site.js",
"inputFiles": [
"wwwroot/lib/@aspnet/signalr/dist/browser/signalr.js",
"wwwroot/lib/@microsoft/signalr/dist/browser/signalr.js",
"wwwroot/lib/toastr/toastr.min.js"
],
// Optionally specify minification options


+ 6
- 6
src/Web/WebMVC/libman.json View File

@ -9,6 +9,7 @@
{
"provider": "unpkg",
"library": "bootstrap@4.3.1",
"destination": "wwwroot/lib/bootstrap/",
"files": [
"dist/css/bootstrap.css",
"dist/css/bootstrap.css.map",
@ -16,8 +17,7 @@
"dist/css/bootstrap.min.css.map",
"dist/js/bootstrap.js",
"dist/js/bootstrap.min.js"
],
"destination": "wwwroot/lib/bootstrap/"
]
},
{
"library": "jquery-validation-unobtrusive@3.2.11",
@ -37,12 +37,12 @@
},
{
"provider": "unpkg",
"library": "@aspnet/signalr@1.1.2",
"files": [
"library": "@microsoft/signalr@3.0.1",
"destination": "wwwroot/lib/@microsoft/signalr/",
"files": [
"dist/browser/signalr.js",
"dist/browser/signalr.min.js"
],
"destination": "wwwroot/lib/@aspnet/signalr/"
]
}
]
}

+ 7
- 4
src/Web/WebSPA/Client/modules/shared/services/signalr.service.ts View File

@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { SecurityService } from './security.service';
import { ConfigurationService } from './configuration.service';
import { HubConnection, HubConnectionBuilder, LogLevel, HttpTransportType } from '@aspnet/signalr';
import { HubConnection, HubConnectionBuilder, LogLevel, HttpTransportType } from '@microsoft/signalr';
import { ToastrService } from 'ngx-toastr';
import { Subject } from 'rxjs';
@ -25,7 +25,7 @@ export class SignalrService {
this.SignalrHubUrl = this.configurationService.serverSettings.signalrHubUrl;
this.init();
});
}
}
}
public stop() {
@ -36,16 +36,18 @@ export class SignalrService {
if (this.securityService.IsAuthorized == true) {
this.register();
this.stablishConnection();
this.registerHandlers();
}
this.registerHandlers();
}
}
private register() {
this._hubConnection = new HubConnectionBuilder()
.withUrl(this.SignalrHubUrl + '/hub/notificationhub', {
transport: HttpTransportType.LongPolling,
accessTokenFactory: () => this.securityService.GetToken()
})
.configureLogging(LogLevel.Information)
.withAutomaticReconnect()
.build();
}
@ -61,6 +63,7 @@ export class SignalrService {
private registerHandlers() {
this._hubConnection.on('UpdatedOrderState', (msg) => {
console.log(`Order ${msg.orderId} updated to ${msg.status}`);
this.toastr.success('Updated to status: ' + msg.status, 'Order Id: ' + msg.orderId);
this.msgSignalrSource.next();
});


+ 44
- 69
src/Web/WebSPA/package-lock.json View File

@ -1769,10 +1769,25 @@
"tslib": "^1.9.0"
}
},
"@aspnet/signalr": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@aspnet/signalr/-/signalr-1.0.3.tgz",
"integrity": "sha512-8nPSarp4k+oP2M6P7tw2FZMXOMR86wH9GPb/4wiqA18c4Ds88SUmE0pSpnNQPDOoWGMj6y9F2Xz5JyoynCPXWQ=="
"@microsoft/signalr": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-3.0.1.tgz",
"integrity": "sha512-tRhqAmf5SyK02VXM6noj6DjSgt0i8yDqspHdLqdqsSrjMh4/inrwjI/BqLVE8zLD3mHp+eGHeSnlLTUVe024vA==",
"requires": {
"eventsource": "^1.0.7",
"request": "^2.88.0",
"ws": "^6.0.0"
},
"dependencies": {
"ws": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
"integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
"requires": {
"async-limiter": "~1.0.0"
}
}
}
},
"@ng-bootstrap/ng-bootstrap": {
"version": "3.3.0",
@ -2520,7 +2535,6 @@
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
"dev": true,
"requires": {
"safer-buffer": "~2.1.0"
}
@ -2565,8 +2579,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"assign-symbols": {
"version": "1.0.0",
@ -2599,14 +2612,12 @@
"async-limiter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
"dev": true
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"atob": {
"version": "2.1.2",
@ -2630,14 +2641,12 @@
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
"dev": true
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
"dev": true
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
},
"axobject-query": {
"version": "2.0.2",
@ -2858,7 +2867,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"optional": true,
"requires": {
"tweetnacl": "^0.14.3"
@ -3385,8 +3393,7 @@
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"chalk": {
"version": "1.1.3",
@ -3600,8 +3607,7 @@
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
},
"code-point-at": {
"version": "1.1.0",
@ -3659,7 +3665,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@ -4104,7 +4109,6 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
@ -4257,8 +4261,7 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"delegates": {
"version": "1.0.0",
@ -4424,7 +4427,6 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"optional": true,
"requires": {
"jsbn": "~0.1.0",
@ -5061,8 +5063,7 @@
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extend-shallow": {
"version": "3.0.2",
@ -5167,8 +5168,7 @@
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
"version": "2.0.1",
@ -5372,14 +5372,12 @@
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
@ -6052,7 +6050,6 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
@ -6212,14 +6209,12 @@
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
"integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
"dev": true,
"requires": {
"ajv": "^5.3.0",
"har-schema": "^2.0.0"
@ -6229,7 +6224,6 @@
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
"co": "^4.6.0",
"fast-deep-equal": "^1.0.0",
@ -6240,14 +6234,12 @@
"fast-deep-equal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
"dev": true
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
},
"json-schema-traverse": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
}
}
},
@ -6445,7 +6437,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@ -7090,8 +7081,7 @@
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-utf8": {
"version": "0.2.1",
@ -7146,8 +7136,7 @@
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"istanbul-instrumenter-loader": {
"version": "3.0.1",
@ -7289,7 +7278,6 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true
},
"jsesc": {
@ -7307,8 +7295,7 @@
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"json-schema-traverse": {
"version": "0.4.1",
@ -7333,8 +7320,7 @@
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"json3": {
"version": "3.3.2",
@ -7377,7 +7363,6 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@ -8290,9 +8275,9 @@
"dev": true
},
"ngx-toastr": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-9.0.2.tgz",
"integrity": "sha512-wSc1Oh0dshJR0TaZUu52YRiAW3JIjS1SZarZoj/B1yK8zSp6G+a4ueD8qCY50qLpQ3SddT19zz1n90sp64jH1Q==",
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-10.1.0.tgz",
"integrity": "sha512-LXGL8jKIm0SGklkXytNKbR6VrF94all35SaUfgd1gOUzgllTW2ldqORDZlgIaiMB3Dcybaald8p3boEHvfjEIQ==",
"requires": {
"tslib": "^1.9.0"
}
@ -8631,8 +8616,7 @@
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
"dev": true
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"object-assign": {
"version": "4.1.1",
@ -9183,8 +9167,7 @@
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"pify": {
"version": "3.0.0",
@ -9499,8 +9482,7 @@
"psl": {
"version": "1.1.29",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
"integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
"dev": true
"integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
},
"public-encrypt": {
"version": "4.0.2",
@ -9902,7 +9884,6 @@
"version": "2.88.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@ -11260,7 +11241,6 @@
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
"integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
"dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@ -12052,7 +12032,6 @@
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
"dev": true,
"requires": {
"psl": "^1.1.24",
"punycode": "^1.4.1"
@ -12061,8 +12040,7 @@
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
}
}
},
@ -12201,7 +12179,6 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
@ -12210,7 +12187,6 @@
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true
},
"type": {
@ -12694,7 +12670,6 @@
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",


+ 2
- 2
src/Web/WebSPA/package.json View File

@ -37,7 +37,7 @@
"@angular/platform-browser-dynamic": "^7.2.10",
"@angular/platform-server": "^7.2.10",
"@angular/router": "^7.2.10",
"@aspnet/signalr": "3.0.0-preview6.19307.2",
"@microsoft/signalr": "3.0.1",
"@ng-bootstrap/ng-bootstrap": "3.3.0",
"bootstrap": "4.3.1",
"core-js": "^2.5.0",
@ -45,7 +45,7 @@
"font-awesome": "4.7.0",
"isomorphic-fetch": "2.2.1",
"jquery": "3.4.1",
"ngx-toastr": "^9.0.2",
"ngx-toastr": "10.1.0",
"normalize.css": "8.0.0",
"popper.js": "^1.14.4",
"preboot": "6.0.0-beta.5",


+ 10
- 10
src/docker-compose-tests.override.yml View File

@ -41,7 +41,7 @@ services:
ports:
- "5105:80"
basket-api-test:
basket-api-functional-test:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
@ -61,7 +61,7 @@ services:
- dotnet
- test
- --logger
- trx;LogFileName=/tests/basket-test-results.xml
- trx;LogFileName=/tests/basket-functional-test-results.xml
basket-api-unit-test:
environment:
@ -85,7 +85,7 @@ services:
- --logger
- trx;LogFileName=/tests/basket-unit-test-results.xml
catalog-api-test:
catalog-api-functional-test:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
@ -107,7 +107,7 @@ services:
- dotnet
- test
- --logger
- trx;LogFileName=/tests/catalog-test-results.xml
- trx;LogFileName=/tests/catalog-functional-test-results.xml
catalog-api-unit-test:
environment:
@ -133,7 +133,7 @@ services:
- --logger
- trx;LogFileName=/tests/catalog-unit-test-results.xml
ordering-api-test:
ordering-api-functional-test:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
@ -155,7 +155,7 @@ services:
- dotnet
- test
- --logger
- trx;LogFileName=/tests/ordering-test-results.xml
- trx;LogFileName=/tests/ordering-functional-test-results.xml
ordering-api-unit-test:
environment:
@ -181,7 +181,7 @@ services:
- --logger
- trx;LogFileName=/tests/ordering-unit-test-results.xml
marketing-api-test:
marketing-api-functional-test:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
@ -208,7 +208,7 @@ services:
- dotnet
- test
- --logger
- trx;LogFileName=/tests/marketing-test-results.xml
- trx;LogFileName=/tests/marketing-functional-test-results.xml
payment-api-test:
environment:
@ -223,7 +223,7 @@ services:
ports:
- "5108:80"
locations-api-test:
locations-api-functional-test:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
@ -244,4 +244,4 @@ services:
- dotnet
- test
- --logger
- trx;LogFileName=/tests/locations-test-results.xml
- trx;LogFileName=/tests/locations-functional-test-results.xml

+ 10
- 10
src/docker-compose-tests.yml View File

@ -2,7 +2,7 @@ version: '3.4'
services:
sql-data-test:
image: microsoft/mssql-server-linux:2017-latest
image: mcr.microsoft.com/mssql/server:2017-latest
nosql-data-test:
image: mongo
@ -21,7 +21,7 @@ services:
depends_on:
- sql-data-test
basket-api-test:
basket-api-functional-test:
image: ${REGISTRY:-eshop}/basket-api-test:${TAG:-latest}
build:
context: .
@ -35,7 +35,7 @@ services:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
basket-api-unit-test:
image: ${REGISTRY:-eshop}/basket-api-test:${TAG:-latest}
image: ${REGISTRY:-eshop}/basket-api-unit-test:${TAG:-latest}
build:
context: .
dockerfile: Services/Basket/Basket.API/Dockerfile
@ -47,8 +47,8 @@ services:
volumes:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
catalog-api-test:
image: ${REGISTRY:-eshop}/catalog-api-test:${TAG:-latest}
catalog-api-functional-test:
image: ${REGISTRY:-eshop}/catalog-api-functional-test:${TAG:-latest}
build:
context: .
dockerfile: Services/Catalog/Catalog.API/Dockerfile
@ -60,7 +60,7 @@ services:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
catalog-api-unit-test:
image: ${REGISTRY:-eshop}/catalog-api-test:${TAG:-latest}
image: ${REGISTRY:-eshop}/catalog-api-unit-test:${TAG:-latest}
build:
context: .
dockerfile: Services/Catalog/Catalog.API/Dockerfile
@ -71,7 +71,7 @@ services:
volumes:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
ordering-api-test:
ordering-api-functional-test:
image: ${REGISTRY:-eshop}/ordering-api-test:${TAG:-latest}
build:
context: .
@ -84,7 +84,7 @@ services:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
ordering-api-unit-test:
image: ${REGISTRY:-eshop}/ordering-api-test:${TAG:-latest}
image: ${REGISTRY:-eshop}/ordering-api-unit-test:${TAG:-latest}
build:
context: .
dockerfile: Services/Ordering/Ordering.API/Dockerfile
@ -95,7 +95,7 @@ services:
volumes:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
marketing-api-test:
marketing-api-functional-test:
image: ${REGISTRY:-eshop}/marketing-api-test:${TAG:-latest}
build:
context: .
@ -117,7 +117,7 @@ services:
depends_on:
- rabbitmq-test
locations-api-test:
locations-api-functional-test:
image: ${REGISTRY:-eshop}/locations-api-test:${TAG:-latest}
build:
context: .


+ 2
- 2
src/docker-compose.override.yml View File

@ -349,7 +349,7 @@ services:
- UseCustomizationData=True
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5112
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
ports:
- "5104:80"
@ -360,7 +360,7 @@ services:
- PurchaseUrl=http://webshoppingapigw
- IdentityUrl=http://10.0.75.1:5105
- MarketingUrl=http://webmarketingapigw
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5112
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
- IdentityUrlHC=http://identity-api/hc
- UseCustomizationData=True
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}


+ 1
- 1
src/docker-compose.windows.yml View File

@ -6,7 +6,7 @@ version: '3.4'
services:
sqldata:
image: microsoft/mssql-server-windows-developer
image: mcr.microsoft.com/mssql/server:2017-latest
nosqldata:
image: mongo:windowsservercore


+ 1
- 1
src/docker-compose.yml View File

@ -6,7 +6,7 @@ services:
image: datalust/seq:latest
sqldata:
image: microsoft/mssql-server-linux:2017-latest
image: mcr.microsoft.com/mssql/server:2017-latest
nosqldata:
image: mongo


Loading…
Cancel
Save