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: trigger:
branches: branches:
include: include:
@ -8,22 +6,24 @@ trigger:
paths: paths:
include: include:
- src/ApiGateways/* - 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: exclude:
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/* - src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
- src/ApiGateways/Web.Bff.Shopping/aggregator/* - src/ApiGateways/Web.Bff.Shopping/aggregator/*
jobs: 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: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Services/Basket/* - src/Services/Basket/*
- k8s/helm/basket-api/*
- deploy/k8s/helm/basket-api/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: basket.api services: basket.api
registryEndpoint: $(registryEndpoint) 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 - template: ../multiarch.yaml
parameters: parameters:
image: basket.api image: basket.api


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

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


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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Services/Identity/* - src/Services/Identity/*
- k8s/helm/identity-api/*
- deploy/k8s/helm/identity-api/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: identity.api services: identity.api
registryEndpoint: $(registryEndpoint) 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 - template: ../multiarch.yaml
parameters: parameters:
image: identity.api image: identity.api


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

@ -9,17 +9,17 @@ trigger:
- dev - dev
paths: paths:
include: 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: steps:
- task: CopyFiles@2 - task: CopyFiles@2
inputs: 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 - task: PublishBuildArtifacts@1
inputs: inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
pathtoPublish: $(Build.ArtifactStagingDirectory)/deploy/k8s/helm
artifactName: helm artifactName: helm

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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Services/Location/* - src/Services/Location/*
- k8s/helm/locations-api/*
- deploy/k8s/helm/locations-api/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: locations.api services: locations.api
registryEndpoint: $(registryEndpoint) 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 - template: ../multiarch.yaml
parameters: parameters:
image: locations.api image: locations.api


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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Services/Marketing/* - src/Services/Marketing/*
- k8s/helm/marketing-api/*
- deploy/k8s/helm/marketing-api/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: marketing.api services: marketing.api
registryEndpoint: $(registryEndpoint) 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 - template: ../multiarch.yaml
parameters: parameters:
image: marketing.api image: marketing.api


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

@ -8,14 +8,14 @@ trigger:
paths: paths:
include: include:
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/* - src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
- k8s/helm/mobileshoppingagg/*
- deploy/k8s/helm/mobileshoppingagg/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: mobileshoppingagg services: mobileshoppingagg
registryEndpoint: $(registryEndpoint) 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 - template: ../multiarch.yaml
parameters: parameters:
image: mobileshoppingagg image: mobileshoppingagg


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

@ -9,16 +9,16 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Services/Ordering/* - 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: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: ordering.api services: ordering.api
registryEndpoint: $(registryEndpoint) 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 - template: ../multiarch.yaml
parameters: parameters:
image: ordering.api image: ordering.api


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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Services/Payment/* - src/Services/Payment/*
- k8s/helm/payment-api/*
- deploy/k8s/helm/payment-api/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: payment.api 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 - template: ../multiarch.yaml
parameters: parameters:
image: payment.api 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: paths:
include: include:
- src/ApiGateways/Web.Bff.Shopping/aggregator/* - src/ApiGateways/Web.Bff.Shopping/aggregator/*
- k8s/helm/webshoppingagg/*
- deploy/k8s/helm/webshoppingagg/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: webshoppingagg 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 - template: ../multiarch.yaml
parameters: parameters:
image: webshoppingagg image: webshoppingagg


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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Services/Webhooks/* - src/Services/Webhooks/*
- k8s/helm/webhooks-api/*
- deploy/k8s/helm/webhooks-api/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: webhooks.api 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 - template: ../multiarch.yaml
parameters: parameters:
image: webhooks.api image: webhooks.api


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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Web/WebhookClient/* - src/Web/WebhookClient/*
- k8s/helm/webhooks-web/*
- deploy/k8s/helm/webhooks-web/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: webhooks.client 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 - template: ../multiarch.yaml
parameters: parameters:
image: webhooks.client image: webhooks.client


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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Web/WebMVC/* - src/Web/WebMVC/*
- k8s/helm/webmvc/*
- deploy/k8s/helm/webmvc/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: webmvc 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 - template: ../multiarch.yaml
parameters: parameters:
image: webmvc image: webmvc


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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Web/WebSPA/* - src/Web/WebSPA/*
- k8s/helm/webspa/*
- deploy/k8s/helm/webspa/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: webspa 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 - template: ../multiarch.yaml
parameters: parameters:
image: webspa image: webspa


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

@ -9,14 +9,14 @@ trigger:
include: include:
- src/BuildingBlocks/* - src/BuildingBlocks/*
- src/Web/WebStatus/* - src/Web/WebStatus/*
- k8s/helm/webstatus/*
- deploy/k8s/helm/webstatus/*
jobs: jobs:
- template: ../buildimages.yaml - template: ../buildimages.yaml
parameters: parameters:
services: webstatus 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 - template: ../multiarch.yaml
parameters: parameters:
image: webstatus 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: route:
auto_host_rewrite: true auto_host_rewrite: true
prefix_rewrite: "/ordering-api/" prefix_rewrite: "/ordering-api/"
cluster: ordering
cluster: ordering
- name: "o-long" - name: "o-long"
match: match:
prefix: "/ordering-api/" prefix: "/ordering-api/"
route: route:
auto_host_rewrite: true 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" - name: "b-short"
match: match:
prefix: "/b/" prefix: "/b/"
@ -61,7 +68,7 @@ static_resources:
prefix: "/basket-api/" prefix: "/basket-api/"
route: route:
auto_host_rewrite: true auto_host_rewrite: true
cluster: basket
cluster: basket
- name: "agg" - name: "agg"
match: match:
prefix: "/" prefix: "/"
@ -70,25 +77,25 @@ static_resources:
prefix_rewrite: "/" prefix_rewrite: "/"
cluster: shoppingagg cluster: shoppingagg
http_filters: http_filters:
- name: envoy.router
- name: envoy.router
access_log: access_log:
- name: envoy.file_access_log - name: envoy.file_access_log
filter: filter:
not_health_check_filter: {}
not_health_check_filter: {}
config: config:
json_format: json_format:
time: "%START_TIME%" time: "%START_TIME%"
protocol: "%PROTOCOL%" protocol: "%PROTOCOL%"
duration: "%DURATION%" 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%" response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%" route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%" upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%" 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: clusters:
- name: shoppingagg - name: shoppingagg
connect_timeout: 0.25s connect_timeout: 0.25s
@ -113,7 +120,7 @@ static_resources:
hosts: hosts:
- socket_address: - socket_address:
address: basket-api address: basket-api
port_value: 80
port_value: 80
- name: ordering - name: ordering
connect_timeout: 0.25s connect_timeout: 0.25s
type: strict_dns type: strict_dns
@ -121,4 +128,12 @@ static_resources:
hosts: hosts:
- socket_address: - socket_address:
address: ordering-api 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: route:
auto_host_rewrite: true auto_host_rewrite: true
prefix_rewrite: "/ordering-api/" prefix_rewrite: "/ordering-api/"
cluster: ordering
cluster: ordering
- name: "o-long" - name: "o-long"
match: match:
prefix: "/ordering-api/" prefix: "/ordering-api/"
route: route:
auto_host_rewrite: true 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" - name: "b-short"
match: match:
prefix: "/b/" prefix: "/b/"
@ -61,7 +68,7 @@ static_resources:
prefix: "/basket-api/" prefix: "/basket-api/"
route: route:
auto_host_rewrite: true auto_host_rewrite: true
cluster: basket
cluster: basket
- name: "agg" - name: "agg"
match: match:
prefix: "/" prefix: "/"
@ -70,7 +77,7 @@ static_resources:
prefix_rewrite: "/" prefix_rewrite: "/"
cluster: shoppingagg cluster: shoppingagg
http_filters: http_filters:
- name: envoy.router
- name: envoy.router
access_log: access_log:
- name: envoy.file_access_log - name: envoy.file_access_log
filter: filter:
@ -80,15 +87,15 @@ static_resources:
time: "%START_TIME%" time: "%START_TIME%"
protocol: "%PROTOCOL%" protocol: "%PROTOCOL%"
duration: "%DURATION%" 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%" response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%" route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%" upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%" upstream_cluster: "%UPSTREAM_CLUSTER%"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%" upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
path: "/tmp/access.log"
clusters: clusters:
- name: shoppingagg - name: shoppingagg
connect_timeout: 0.25s connect_timeout: 0.25s
@ -113,7 +120,7 @@ static_resources:
hosts: hosts:
- socket_address: - socket_address:
address: basket-api address: basket-api
port_value: 80
port_value: 80
- name: ordering - name: ordering
connect_timeout: 0.25s connect_timeout: 0.25s
type: strict_dns type: strict_dns
@ -121,4 +128,12 @@ static_resources:
hosts: hosts:
- socket_address: - socket_address:
address: ordering-api 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 - name: HealthChecks-UI__HealthChecks__4__Uri
key: internalurls__ordering__hc key: internalurls__ordering__hc
- name: HealthChecks-UI__HealthChecks__5__Name - name: HealthChecks-UI__HealthChecks__5__Name
key: name__orderingbackground__hc
key: name__basket__hc
- name: HealthChecks-UI__HealthChecks__5__Uri - name: HealthChecks-UI__HealthChecks__5__Uri
key: internalurls__orderingbackground__hc
key: internalurls__basket__hc
- name: HealthChecks-UI__HealthChecks__6__Name - name: HealthChecks-UI__HealthChecks__6__Name
key: name__signalrhub__hc
key: name__catalog__hc
- name: HealthChecks-UI__HealthChecks__6__Uri - name: HealthChecks-UI__HealthChecks__6__Uri
key: internalurls__signalrhub__hc
key: internalurls__catalog__hc
- name: HealthChecks-UI__HealthChecks__7__Name - name: HealthChecks-UI__HealthChecks__7__Name
key: name__basket__hc
key: name__identity__hc
- name: HealthChecks-UI__HealthChecks__7__Uri - name: HealthChecks-UI__HealthChecks__7__Uri
key: internalurls__basket__hc
key: internalurls__identity__hc
- name: HealthChecks-UI__HealthChecks__8__Name - name: HealthChecks-UI__HealthChecks__8__Name
key: name__catalog__hc
key: name__marketing__hc
- name: HealthChecks-UI__HealthChecks__8__Uri - name: HealthChecks-UI__HealthChecks__8__Uri
key: internalurls__catalog__hc
key: internalurls__marketing__hc
- name: HealthChecks-UI__HealthChecks__9__Name - name: HealthChecks-UI__HealthChecks__9__Name
key: name__identity__hc
key: name__locations__hc
- name: HealthChecks-UI__HealthChecks__9__Uri - name: HealthChecks-UI__HealthChecks__9__Uri
key: internalurls__identity__hc
key: internalurls__locations__hc
- name: HealthChecks-UI__HealthChecks__10__Name - name: HealthChecks-UI__HealthChecks__10__Name
key: name__marketing__hc
key: name__payment__hc
- name: HealthChecks-UI__HealthChecks__10__Uri - name: HealthChecks-UI__HealthChecks__10__Uri
key: internalurls__marketing__hc
key: internalurls__payment__hc
- name: HealthChecks-UI__HealthChecks__11__Name - name: HealthChecks-UI__HealthChecks__11__Name
key: name__locations__hc
key: name__signalrhub__hc
- name: HealthChecks-UI__HealthChecks__11__Uri - name: HealthChecks-UI__HealthChecks__11__Uri
key: internalurls__locations__hc
key: internalurls__signalrhub__hc
- name: HealthChecks-UI__HealthChecks__12__Name - name: HealthChecks-UI__HealthChecks__12__Name
key: name__payment__hc
key: name__orderingbackground__hc
- name: HealthChecks-UI__HealthChecks__12__Uri - 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 define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values: 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: route:
auto_host_rewrite: true auto_host_rewrite: true
prefix_rewrite: "/ordering-api/" prefix_rewrite: "/ordering-api/"
cluster: ordering
cluster: ordering
- name: "o-long" - name: "o-long"
match: match:
prefix: "/ordering-api/" prefix: "/ordering-api/"
route: route:
auto_host_rewrite: true 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" - name: "b-short"
match: match:
prefix: "/b/" prefix: "/b/"
@ -61,7 +68,7 @@ static_resources:
prefix: "/basket-api/" prefix: "/basket-api/"
route: route:
auto_host_rewrite: true auto_host_rewrite: true
cluster: basket
cluster: basket
- name: "agg" - name: "agg"
match: match:
prefix: "/" prefix: "/"
@ -70,25 +77,25 @@ static_resources:
prefix_rewrite: "/" prefix_rewrite: "/"
cluster: shoppingagg cluster: shoppingagg
http_filters: http_filters:
- name: envoy.router
- name: envoy.router
access_log: access_log:
- name: envoy.file_access_log - name: envoy.file_access_log
filter: filter:
not_health_check_filter: {}
not_health_check_filter: {}
config: config:
json_format: json_format:
time: "%START_TIME%" time: "%START_TIME%"
protocol: "%PROTOCOL%" protocol: "%PROTOCOL%"
duration: "%DURATION%" 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%" response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%" route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%" upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%" 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: clusters:
- name: shoppingagg - name: shoppingagg
connect_timeout: 0.25s connect_timeout: 0.25s
@ -113,7 +120,7 @@ static_resources:
hosts: hosts:
- socket_address: - socket_address:
address: basket-api address: basket-api
port_value: 80
port_value: 80
- name: ordering - name: ordering
connect_timeout: 0.25s connect_timeout: 0.25s
type: strict_dns type: strict_dns
@ -121,4 +128,12 @@ static_resources:
hosts: hosts:
- socket_address: - socket_address:
address: ordering-api 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: route:
auto_host_rewrite: true auto_host_rewrite: true
prefix_rewrite: "/ordering-api/" prefix_rewrite: "/ordering-api/"
cluster: ordering
cluster: ordering
- name: "o-long" - name: "o-long"
match: match:
prefix: "/ordering-api/" prefix: "/ordering-api/"
route: route:
auto_host_rewrite: true 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" - name: "b-short"
match: match:
prefix: "/b/" prefix: "/b/"
@ -61,7 +68,7 @@ static_resources:
prefix: "/basket-api/" prefix: "/basket-api/"
route: route:
auto_host_rewrite: true auto_host_rewrite: true
cluster: basket
cluster: basket
- name: "agg" - name: "agg"
match: match:
prefix: "/" prefix: "/"
@ -70,7 +77,7 @@ static_resources:
prefix_rewrite: "/" prefix_rewrite: "/"
cluster: shoppingagg cluster: shoppingagg
http_filters: http_filters:
- name: envoy.router
- name: envoy.router
access_log: access_log:
- name: envoy.file_access_log - name: envoy.file_access_log
filter: filter:
@ -80,15 +87,15 @@ static_resources:
time: "%START_TIME%" time: "%START_TIME%"
protocol: "%PROTOCOL%" protocol: "%PROTOCOL%"
duration: "%DURATION%" 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%" response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%" route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%" upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%" upstream_cluster: "%UPSTREAM_CLUSTER%"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%" upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
path: "/tmp/access.log"
clusters: clusters:
- name: shoppingagg - name: shoppingagg
connect_timeout: 0.25s connect_timeout: 0.25s
@ -113,7 +120,7 @@ static_resources:
hosts: hosts:
- socket_address: - socket_address:
address: basket-api address: basket-api
port_value: 80
port_value: 80
- name: ordering - name: ordering
connect_timeout: 0.25s connect_timeout: 0.25s
type: strict_dns type: strict_dns
@ -121,4 +128,12 @@ static_resources:
hosts: hosts:
- socket_address: - socket_address:
address: ordering-api 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> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <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> <title>eShopOnContainers Identity</title>
<link rel="icon" type="image/x-icon" href="~/favicon.ico" /> <link rel="icon" type="image/x-icon" href="~/favicon.ico" />
<link rel="shortcut 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) { function stablishConnection(cb) {
let connection = new signalR.HubConnectionBuilder() let connection = new signalR.HubConnectionBuilder()
.withUrl('@settings.Value.SignalrHubUrl/hub/notificationhub', { .withUrl('@settings.Value.SignalrHubUrl/hub/notificationhub', {
transport: signalR.HttpTransportType.LongPolling,
accessTokenFactory: () => { accessTokenFactory: () => {
return "Authorization", getToken(); return "Authorization", getToken();
} }
}) })
.withAutomaticReconnect()
.build(); .build();
connection.start().then(function () { connection.start().then(function () {


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

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


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

@ -9,6 +9,7 @@
{ {
"provider": "unpkg", "provider": "unpkg",
"library": "bootstrap@4.3.1", "library": "bootstrap@4.3.1",
"destination": "wwwroot/lib/bootstrap/",
"files": [ "files": [
"dist/css/bootstrap.css", "dist/css/bootstrap.css",
"dist/css/bootstrap.css.map", "dist/css/bootstrap.css.map",
@ -16,8 +17,7 @@
"dist/css/bootstrap.min.css.map", "dist/css/bootstrap.min.css.map",
"dist/js/bootstrap.js", "dist/js/bootstrap.js",
"dist/js/bootstrap.min.js" "dist/js/bootstrap.min.js"
],
"destination": "wwwroot/lib/bootstrap/"
]
}, },
{ {
"library": "jquery-validation-unobtrusive@3.2.11", "library": "jquery-validation-unobtrusive@3.2.11",
@ -37,12 +37,12 @@
}, },
{ {
"provider": "unpkg", "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.js",
"dist/browser/signalr.min.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 { Injectable } from '@angular/core';
import { SecurityService } from './security.service'; import { SecurityService } from './security.service';
import { ConfigurationService } from './configuration.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 { ToastrService } from 'ngx-toastr';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
@ -25,7 +25,7 @@ export class SignalrService {
this.SignalrHubUrl = this.configurationService.serverSettings.signalrHubUrl; this.SignalrHubUrl = this.configurationService.serverSettings.signalrHubUrl;
this.init(); this.init();
}); });
}
}
} }
public stop() { public stop() {
@ -36,16 +36,18 @@ export class SignalrService {
if (this.securityService.IsAuthorized == true) { if (this.securityService.IsAuthorized == true) {
this.register(); this.register();
this.stablishConnection(); this.stablishConnection();
this.registerHandlers();
}
this.registerHandlers();
}
} }
private register() { private register() {
this._hubConnection = new HubConnectionBuilder() this._hubConnection = new HubConnectionBuilder()
.withUrl(this.SignalrHubUrl + '/hub/notificationhub', { .withUrl(this.SignalrHubUrl + '/hub/notificationhub', {
transport: HttpTransportType.LongPolling,
accessTokenFactory: () => this.securityService.GetToken() accessTokenFactory: () => this.securityService.GetToken()
}) })
.configureLogging(LogLevel.Information) .configureLogging(LogLevel.Information)
.withAutomaticReconnect()
.build(); .build();
} }
@ -61,6 +63,7 @@ export class SignalrService {
private registerHandlers() { private registerHandlers() {
this._hubConnection.on('UpdatedOrderState', (msg) => { 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.toastr.success('Updated to status: ' + msg.status, 'Order Id: ' + msg.orderId);
this.msgSignalrSource.next(); this.msgSignalrSource.next();
}); });


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

@ -1769,10 +1769,25 @@
"tslib": "^1.9.0" "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": { "@ng-bootstrap/ng-bootstrap": {
"version": "3.3.0", "version": "3.3.0",
@ -2520,7 +2535,6 @@
"version": "0.2.4", "version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
"dev": true,
"requires": { "requires": {
"safer-buffer": "~2.1.0" "safer-buffer": "~2.1.0"
} }
@ -2565,8 +2579,7 @@
"assert-plus": { "assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}, },
"assign-symbols": { "assign-symbols": {
"version": "1.0.0", "version": "1.0.0",
@ -2599,14 +2612,12 @@
"async-limiter": { "async-limiter": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", "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": { "asynckit": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
}, },
"atob": { "atob": {
"version": "2.1.2", "version": "2.1.2",
@ -2630,14 +2641,12 @@
"aws-sign2": { "aws-sign2": {
"version": "0.7.0", "version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "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": { "aws4": {
"version": "1.8.0", "version": "1.8.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
"dev": true
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
}, },
"axobject-query": { "axobject-query": {
"version": "2.0.2", "version": "2.0.2",
@ -2858,7 +2867,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"tweetnacl": "^0.14.3" "tweetnacl": "^0.14.3"
@ -3385,8 +3393,7 @@
"caseless": { "caseless": {
"version": "0.12.0", "version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
}, },
"chalk": { "chalk": {
"version": "1.1.3", "version": "1.1.3",
@ -3600,8 +3607,7 @@
"co": { "co": {
"version": "4.6.0", "version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "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": { "code-point-at": {
"version": "1.1.0", "version": "1.1.0",
@ -3659,7 +3665,6 @@
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true,
"requires": { "requires": {
"delayed-stream": "~1.0.0" "delayed-stream": "~1.0.0"
} }
@ -4104,7 +4109,6 @@
"version": "1.14.1", "version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": { "requires": {
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
@ -4257,8 +4261,7 @@
"delayed-stream": { "delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
}, },
"delegates": { "delegates": {
"version": "1.0.0", "version": "1.0.0",
@ -4424,7 +4427,6 @@
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"jsbn": "~0.1.0", "jsbn": "~0.1.0",
@ -5061,8 +5063,7 @@
"extend": { "extend": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "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": { "extend-shallow": {
"version": "3.0.2", "version": "3.0.2",
@ -5167,8 +5168,7 @@
"extsprintf": { "extsprintf": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
}, },
"fast-deep-equal": { "fast-deep-equal": {
"version": "2.0.1", "version": "2.0.1",
@ -5372,14 +5372,12 @@
"forever-agent": { "forever-agent": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
}, },
"form-data": { "form-data": {
"version": "2.3.2", "version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"dev": true,
"requires": { "requires": {
"asynckit": "^0.4.0", "asynckit": "^0.4.0",
"combined-stream": "1.0.6", "combined-stream": "1.0.6",
@ -6052,7 +6050,6 @@
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": { "requires": {
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
@ -6212,14 +6209,12 @@
"har-schema": { "har-schema": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
}, },
"har-validator": { "har-validator": {
"version": "5.1.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
"integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
"dev": true,
"requires": { "requires": {
"ajv": "^5.3.0", "ajv": "^5.3.0",
"har-schema": "^2.0.0" "har-schema": "^2.0.0"
@ -6229,7 +6224,6 @@
"version": "5.5.2", "version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": { "requires": {
"co": "^4.6.0", "co": "^4.6.0",
"fast-deep-equal": "^1.0.0", "fast-deep-equal": "^1.0.0",
@ -6240,14 +6234,12 @@
"fast-deep-equal": { "fast-deep-equal": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "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": { "json-schema-traverse": {
"version": "0.3.1", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "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", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"requires": { "requires": {
"assert-plus": "^1.0.0", "assert-plus": "^1.0.0",
"jsprim": "^1.2.2", "jsprim": "^1.2.2",
@ -7090,8 +7081,7 @@
"is-typedarray": { "is-typedarray": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
}, },
"is-utf8": { "is-utf8": {
"version": "0.2.1", "version": "0.2.1",
@ -7146,8 +7136,7 @@
"isstream": { "isstream": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "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": { "istanbul-instrumenter-loader": {
"version": "3.0.1", "version": "3.0.1",
@ -7289,7 +7278,6 @@
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true "optional": true
}, },
"jsesc": { "jsesc": {
@ -7307,8 +7295,7 @@
"json-schema": { "json-schema": {
"version": "0.2.3", "version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
}, },
"json-schema-traverse": { "json-schema-traverse": {
"version": "0.4.1", "version": "0.4.1",
@ -7333,8 +7320,7 @@
"json-stringify-safe": { "json-stringify-safe": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "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": { "json3": {
"version": "3.3.2", "version": "3.3.2",
@ -7377,7 +7363,6 @@
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"requires": { "requires": {
"assert-plus": "1.0.0", "assert-plus": "1.0.0",
"extsprintf": "1.3.0", "extsprintf": "1.3.0",
@ -8290,9 +8275,9 @@
"dev": true "dev": true
}, },
"ngx-toastr": { "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": { "requires": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
} }
@ -8631,8 +8616,7 @@
"oauth-sign": { "oauth-sign": {
"version": "0.9.0", "version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "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": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
@ -9183,8 +9167,7 @@
"performance-now": { "performance-now": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
}, },
"pify": { "pify": {
"version": "3.0.0", "version": "3.0.0",
@ -9499,8 +9482,7 @@
"psl": { "psl": {
"version": "1.1.29", "version": "1.1.29",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", "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": { "public-encrypt": {
"version": "4.0.2", "version": "4.0.2",
@ -9902,7 +9884,6 @@
"version": "2.88.0", "version": "2.88.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
"dev": true,
"requires": { "requires": {
"aws-sign2": "~0.7.0", "aws-sign2": "~0.7.0",
"aws4": "^1.8.0", "aws4": "^1.8.0",
@ -11260,7 +11241,6 @@
"version": "1.14.2", "version": "1.14.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
"integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
"dev": true,
"requires": { "requires": {
"asn1": "~0.2.3", "asn1": "~0.2.3",
"assert-plus": "^1.0.0", "assert-plus": "^1.0.0",
@ -12052,7 +12032,6 @@
"version": "2.4.3", "version": "2.4.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
"dev": true,
"requires": { "requires": {
"psl": "^1.1.24", "psl": "^1.1.24",
"punycode": "^1.4.1" "punycode": "^1.4.1"
@ -12061,8 +12040,7 @@
"punycode": { "punycode": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "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", "version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"requires": { "requires": {
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
} }
@ -12210,7 +12187,6 @@
"version": "0.14.5", "version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true "optional": true
}, },
"type": { "type": {
@ -12694,7 +12670,6 @@
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": { "requires": {
"assert-plus": "^1.0.0", "assert-plus": "^1.0.0",
"core-util-is": "1.0.2", "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-browser-dynamic": "^7.2.10",
"@angular/platform-server": "^7.2.10", "@angular/platform-server": "^7.2.10",
"@angular/router": "^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", "@ng-bootstrap/ng-bootstrap": "3.3.0",
"bootstrap": "4.3.1", "bootstrap": "4.3.1",
"core-js": "^2.5.0", "core-js": "^2.5.0",
@ -45,7 +45,7 @@
"font-awesome": "4.7.0", "font-awesome": "4.7.0",
"isomorphic-fetch": "2.2.1", "isomorphic-fetch": "2.2.1",
"jquery": "3.4.1", "jquery": "3.4.1",
"ngx-toastr": "^9.0.2",
"ngx-toastr": "10.1.0",
"normalize.css": "8.0.0", "normalize.css": "8.0.0",
"popper.js": "^1.14.4", "popper.js": "^1.14.4",
"preboot": "6.0.0-beta.5", "preboot": "6.0.0-beta.5",


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

@ -41,7 +41,7 @@ services:
ports: ports:
- "5105:80" - "5105:80"
basket-api-test:
basket-api-functional-test:
environment: environment:
- ASPNETCORE_ENVIRONMENT=Development - ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80 - ASPNETCORE_URLS=http://0.0.0.0:80
@ -61,7 +61,7 @@ services:
- dotnet - dotnet
- test - test
- --logger - --logger
- trx;LogFileName=/tests/basket-test-results.xml
- trx;LogFileName=/tests/basket-functional-test-results.xml
basket-api-unit-test: basket-api-unit-test:
environment: environment:
@ -85,7 +85,7 @@ services:
- --logger - --logger
- trx;LogFileName=/tests/basket-unit-test-results.xml - trx;LogFileName=/tests/basket-unit-test-results.xml
catalog-api-test:
catalog-api-functional-test:
environment: environment:
- ASPNETCORE_ENVIRONMENT=Development - ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80 - ASPNETCORE_URLS=http://0.0.0.0:80
@ -107,7 +107,7 @@ services:
- dotnet - dotnet
- test - test
- --logger - --logger
- trx;LogFileName=/tests/catalog-test-results.xml
- trx;LogFileName=/tests/catalog-functional-test-results.xml
catalog-api-unit-test: catalog-api-unit-test:
environment: environment:
@ -133,7 +133,7 @@ services:
- --logger - --logger
- trx;LogFileName=/tests/catalog-unit-test-results.xml - trx;LogFileName=/tests/catalog-unit-test-results.xml
ordering-api-test:
ordering-api-functional-test:
environment: environment:
- ASPNETCORE_ENVIRONMENT=Development - ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80 - ASPNETCORE_URLS=http://0.0.0.0:80
@ -155,7 +155,7 @@ services:
- dotnet - dotnet
- test - test
- --logger - --logger
- trx;LogFileName=/tests/ordering-test-results.xml
- trx;LogFileName=/tests/ordering-functional-test-results.xml
ordering-api-unit-test: ordering-api-unit-test:
environment: environment:
@ -181,7 +181,7 @@ services:
- --logger - --logger
- trx;LogFileName=/tests/ordering-unit-test-results.xml - trx;LogFileName=/tests/ordering-unit-test-results.xml
marketing-api-test:
marketing-api-functional-test:
environment: environment:
- ASPNETCORE_ENVIRONMENT=Development - ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80 - ASPNETCORE_URLS=http://0.0.0.0:80
@ -208,7 +208,7 @@ services:
- dotnet - dotnet
- test - test
- --logger - --logger
- trx;LogFileName=/tests/marketing-test-results.xml
- trx;LogFileName=/tests/marketing-functional-test-results.xml
payment-api-test: payment-api-test:
environment: environment:
@ -223,7 +223,7 @@ services:
ports: ports:
- "5108:80" - "5108:80"
locations-api-test:
locations-api-functional-test:
environment: environment:
- ASPNETCORE_ENVIRONMENT=Development - ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80 - ASPNETCORE_URLS=http://0.0.0.0:80
@ -244,4 +244,4 @@ services:
- dotnet - dotnet
- test - test
- --logger - --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: services:
sql-data-test: sql-data-test:
image: microsoft/mssql-server-linux:2017-latest
image: mcr.microsoft.com/mssql/server:2017-latest
nosql-data-test: nosql-data-test:
image: mongo image: mongo
@ -21,7 +21,7 @@ services:
depends_on: depends_on:
- sql-data-test - sql-data-test
basket-api-test:
basket-api-functional-test:
image: ${REGISTRY:-eshop}/basket-api-test:${TAG:-latest} image: ${REGISTRY:-eshop}/basket-api-test:${TAG:-latest}
build: build:
context: . context: .
@ -35,7 +35,7 @@ services:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests - ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
basket-api-unit-test: basket-api-unit-test:
image: ${REGISTRY:-eshop}/basket-api-test:${TAG:-latest}
image: ${REGISTRY:-eshop}/basket-api-unit-test:${TAG:-latest}
build: build:
context: . context: .
dockerfile: Services/Basket/Basket.API/Dockerfile dockerfile: Services/Basket/Basket.API/Dockerfile
@ -47,8 +47,8 @@ services:
volumes: volumes:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests - ${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: build:
context: . context: .
dockerfile: Services/Catalog/Catalog.API/Dockerfile dockerfile: Services/Catalog/Catalog.API/Dockerfile
@ -60,7 +60,7 @@ services:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests - ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
catalog-api-unit-test: catalog-api-unit-test:
image: ${REGISTRY:-eshop}/catalog-api-test:${TAG:-latest}
image: ${REGISTRY:-eshop}/catalog-api-unit-test:${TAG:-latest}
build: build:
context: . context: .
dockerfile: Services/Catalog/Catalog.API/Dockerfile dockerfile: Services/Catalog/Catalog.API/Dockerfile
@ -71,7 +71,7 @@ services:
volumes: volumes:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests - ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
ordering-api-test:
ordering-api-functional-test:
image: ${REGISTRY:-eshop}/ordering-api-test:${TAG:-latest} image: ${REGISTRY:-eshop}/ordering-api-test:${TAG:-latest}
build: build:
context: . context: .
@ -84,7 +84,7 @@ services:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests - ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
ordering-api-unit-test: ordering-api-unit-test:
image: ${REGISTRY:-eshop}/ordering-api-test:${TAG:-latest}
image: ${REGISTRY:-eshop}/ordering-api-unit-test:${TAG:-latest}
build: build:
context: . context: .
dockerfile: Services/Ordering/Ordering.API/Dockerfile dockerfile: Services/Ordering/Ordering.API/Dockerfile
@ -95,7 +95,7 @@ services:
volumes: volumes:
- ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests - ${BUILD_ARTIFACTSTAGINGDIRECTORY:-./tests-results/}:/tests
marketing-api-test:
marketing-api-functional-test:
image: ${REGISTRY:-eshop}/marketing-api-test:${TAG:-latest} image: ${REGISTRY:-eshop}/marketing-api-test:${TAG:-latest}
build: build:
context: . context: .
@ -117,7 +117,7 @@ services:
depends_on: depends_on:
- rabbitmq-test - rabbitmq-test
locations-api-test:
locations-api-functional-test:
image: ${REGISTRY:-eshop}/locations-api-test:${TAG:-latest} image: ${REGISTRY:-eshop}/locations-api-test:${TAG:-latest}
build: build:
context: . context: .


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

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


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

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


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

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


Loading…
Cancel
Save