You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

155 lines
7.0 KiB

Merge 3.1.1(release) to Main (#1583) * Fix functional tests of Marketing * remove mvc routing spa * move background task * restore background config * background * Add health check in Ordering.BackgroundTask project * add package version to dependencies.props * ordering.api error integrationevents * remove not needed code * Fix authentication in Ordering.SignalR * Create ReadMe.md * partial checkin trying to fix checkout process * add grpc basket * first approach * restore options and grpc calling from console app it's working * Partial checkin * fix grpc call from mobile bff to basket.api and add ordering, in ordering controller * migrate web bff to 3.0 and apply grcp in order controller * Add proto to catalog * Moved some files to ./src/ * Moved .env to src * partial checkin * web bff endpoint /api/v1/Basket working in grpc * refactoring the grpc client * refactored the grpc client * Update Dockerfiles for use /src as build context root * refactor mobile bff * Deleted unneeded Dockerfile * update dockerfiles * Fix mvc calls to grpc * temporal fix to get the order in local dbset of orders for UpdateOrderWhenBuyerAndPaymentMethodVerifiedDomainEventHandler.cs * add using * fix checkout process of mvc app * Migrate packages in preview7 to preview8 * fix identity server * standarize the productId type * format * Add missing key in appsettings * fix version problems with identity server * Add layers in docker for npm install * fix problems with spa adding items to basket * add polly for grpc calls * Fix identity server * fix tests of basket * fix unit test of basket * fix ordering tests * updated compose and 1st envoy config * updated config files * update to helm charts for grpc config * fixed ending 0 in values.yaml for catalog * Final charts tunning and allowing Linkerd Mesh to be used * update to net3 rc1 * Configuration of envoy routes and minor code fixes * missing word in comment :p * updated charts for local k8s deployment * Fixing some generic issues * Added web shoping agg to mesh * ApiGW added to mesh. Ingress updated for Linkerd * Final adjustments to make envoy work with ingress and remove Polly from http calls * Removing unneeded files. Making compatible FailingMiddleware & Healthchecks * Changes in compose config for docker-compose up running ok. Added volumes for data * Update dockerfile.develop to net3 * Readme updated to net3 * fixed path in azure devops build * Sort package references * Aling basket-data-test entry with base .yml * Remove unnecessary commands from dockerfiles * Add back logging traces referenced in the wiki * Remove string interpolation from logging * Change obsolete .ForSqlServerUseSequenceHiLo for .UseHiLo * Remove obsolete warning configuration * Replace obsolete IHostingEnvironment for IWebHostEnvironment * Remove obsolete references * Sort dependencies.props * Removed obsolete folders * Fix webstatus configuration for docker-compose * Update README.md * MVC working with SignalR without Envoy * Remove SignalR transport parameter on clients * Remove unsupported ServiceFabric folder * Remove obsolete folders * Reorganize project folders * Improve docker build cache usage * Add IdentityUrlExternal config in appsettings * Fix tests compilation errors * Run unit and integration tests from VS * Add required configuration * Fix to close issue #1162 * Add configuration value for running in Mac * Relocate/remove folders * Remove old test docs already in wiki * Move more obsolete files * Move auxiliary solution files to "to-fix" folder * Remove obsolete files/folders * Relocate mobile solutions, remove obsolete ones. * Rename script to create aks resource * Add comment to Create-DockerfileSolutionRestore.ps1 script * Remove deleted folder from .gitignore * Remove obsolete files * Make installation work in local kubernetes * Update README * Move/remove obsolete folders * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Streamline README, add links to Wiki * Minor README updates * Bold release notes * Fix SignalR + MVC through Envoy * Change dockerhub microsoft images to mcr * Fix services test containers * Fix SignalR + SPA through Envoy * Fix paths for moved folders * Comment out windows jobs * Fix healthchecks configuration values * Configure Envoy to forward SignalR notifications * Unify dashboard setup yaml * Simplify ingress setup files * Explore adding CSP * Update to 3.1 - Fix test to work on Catalog.API controller, using in-memory database * Don't force LongPolling for SignalR * Update base images to 3.1 * Upgrade Locations to 3.1 * Relocate network-related scripts * tls support * Update packages * Add missing await * Update to IHost - Return IHost from CreateHostBuilder - Register AutoFac with UseServiceProviderFactory() in CreateHostBuilder * Add back looging to Seq and Logstash * Fix services names in azure-pipelines * Update README.md * fixed https://github.com/dotnet-architecture/eShopOnContainers/issues/1181 * Fix npm & docker build warnings #1224 Update Angular 7 to 8 to fix warnings and vulnerabilities * Diferentiate displayNames * Add project-directory param for compose * Add -f parameter * Add cache use comment to Dockerfiles to force PR validation * minor change to requeue DevOps validation * User internal docker dns names * Update README.md * Error fixed, applied the cookie policy to lax mode * disable windows containers in buildimages and multiarch yaml (#1287) * disable windows containers in buildimages and multiarch yaml * fix space * disabled delopy in windows and prefixes * Change extension method to load the configuration * fix authorization in webhooks api * Remove obsolete middleware UseApplicationInsights * Fix/include pipeline yml in trigger (#1290) * add trigger to include pipelines * Update build/azure-devops/webhooks-client/azure-pipelines.yml Co-Authored-By: Miguel Veloso <mvelosop@gmail.com> Co-authored-by: Miguel Veloso <mvelosop@gmail.com> * Executed npm audit fix and npm update * Executed npm audit fix * correct call order of "app.UseCors" * Updated readme with new book cover icon * Bump npm-registry-fetch from 4.0.2 to 4.0.5 in /src/Web/WebSPA (#1361) Bumps [npm-registry-fetch](https://github.com/npm/registry-fetch) from 4.0.2 to 4.0.5. - [Release notes](https://github.com/npm/registry-fetch/releases) - [Changelog](https://github.com/npm/npm-registry-fetch/blob/latest/CHANGELOG.md) - [Commits](https://github.com/npm/registry-fetch/commits) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump lodash from 4.17.15 to 4.17.19 in /src/Web/WebSPA (#1365) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jquery from 3.4.1 to 3.5.0 in /src/Web/WebSPA (#1313) Bumps [jquery](https://github.com/jquery/jquery) from 3.4.1 to 3.5.0. - [Release notes](https://github.com/jquery/jquery/releases) - [Commits](https://github.com/jquery/jquery/compare/3.4.1...3.5.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump websocket-extensions from 0.1.3 to 0.1.4 in /src/Web/WebSPA (#1336) Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4. - [Release notes](https://github.com/faye/websocket-extensions-node/releases) - [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Updated readme.md with mslearn link * Moved mslearn section on top * Fixed typo in README (#1375) * Shifting MS learn section on top. * Fix/1370 - Updated script related changes for helm 3.x and k8s 1.16.x (#1378) * Fix for helm 3 and k8s 1.16 * Inclusion of archived directory under k8s * separate deploy-all powershell script for local Mac OS deployment. * Bump elliptic from 6.4.1 to 6.5.3 in /src/Web/WebSPA (#1381) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.4.1...v6.5.3) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Swamy/remove unused using and refactoring entity classes (#1371) * Removed Unused Usings * Code Refactoring for readbility. Added spaces and moved the classes to separate file * Removed unused usings from ModelDTOs (#1373) * Updated dot-prop version to 5.1.1 (#1382) * Update README.md * Update README.md * Updated Readme. * Fixed firewall rules check and improved the script the check shall be like ~ Get-NetFirewallRule -DisplayName eShopOnContainers-* -ErrorAction Stop * Updated serialize-javascript version to 3.1.0 (#1396) * Update "minimist" version to 1.2.5 (#1398) * #1397: Replaced deprecated docker.for.win.localhost by host.docker.internal in src/.env (#1400) * Updated Readme (#1402) Fixed sentence structure in Readme. Changed "and a several" to "with several." * CatalogService: Fix issue with Status set when items list is empty (#1304) * Fix issue with Status set when items list is empty * Change method Count() call to Count property Co-authored-by: Dmytro Hridin <v-dmytro.hridin@lionbridge.com> * refactored Equals() method on ValueObject (#1316) * Fix/1403and1404 removed duplicate Key SubscriptionClientName and added app.UseAuthorization() call (#1406) * #1403 removed duplicate Key SubscriptionClientName Removed duplicate key SubscriptionClientName from Tests/Services/Application.FunctionalTests/Services/Marketing/appsettings.json and sorted its content in asc order. * #1404 Added app.UseAuthorization() call Added app.UseAuthorization() call to BasketTestsStartup, LocationsTestsStartup, and MarketingTestsStartup to fix failed unit tests IntegrationEventsScenarios.Post_update_product_price_and_catalog_and_basket_list_modified and MarketingScenarios.Set_new_user_location_and_get_location_campaign_by_user_id (see #1404) * Fix for Campaigns exception and SignalR 401 Unauthorized (#1374) * update API Gateway - /locations-api/ @ webmarketing/envoy.yaml * updated signalr services - envoy: webmarketingapigw - latest client: webmvc - service hub: ordering-signalrhub Co-authored-by: hfz-r <hafiz.roslan@hartalega.com.my> * Mis-Spelled 'client' (#1411) * fix parameter error in multiarch job (#1413) * Private readonly string changed to private const string (#1288) * fix disposing of direct instantiated objects in calalog service #1392 (#1395) * Updated version of different packages. (#1420) * for issue #1423: changed literal string "OpenIdConnect" to constant string (#1424) Co-authored-by: Jeremiah Flaga <j.flaga@arcanys.com> * Updated node-fetch package version. (#1426) * Updated node-fetch package version. * Updated node-forge version. * Fixes #1474: webspa container does not build when running docker-compose up.Updated sha hashes in packages-lock.json (#1475) * Change ReadAllBytes to ReadAllBytesAsync in PicController (#1425) * Fixed parameter bug create resource script (#1494) * Fixed invalid number format in webspa (#1496) * Updated package version of webpack-subresource-integrity (#1497) * Fixed #1495 bug : UseLoadTest missing claimsType (#1508) * Update ByPassAuthMiddleware.cs * Update ByPassAuthMiddleware.cs * remove WebMVC/ByPassAuthMiddleware duplicate cliam * remove Ordering.API/ByPassAuthMid duplicate cliam * remove Location.API/ByPassAuthMid duplicate cliam * remove Market.API/ByPassAuthMid duplicate cliam * change webmvc bypassauth: claimType of sub * change ordering bypassauth: claimType of sub * change location bypassauth: claimType of sub * change market bypassauth: claimType of sub * Update solution items (#1515) Co-authored-by: Manuel Cañete <mcanete@protonmail.com> * Updated solution file. (#1514) * Fixed #1518 bug (#1520) * Update CatalogContextModelSnapshot.cs * Update CatalogContextSeed.cs * Modify CSV data * Give PictureFileName assignment * Fix PurchaseUrl port in WebSPA appsettings.json (#1525) * Updated highlight version to latest. (#1531) * Finished sentence and fixed spelling mistake. (#1536) * Updated credit card default exipiration value. (#1535) * Fix login issue Exception: Correlation failed (#1516) Fix samesite issue when running eShop from docker-compose locally as by default http protocol is being used Refer to https://github.com/dotnet-architecture/eShopOnContainers/issues/1391 * Updated getting started section in readme file. (#1538) * Updated get started section in readme file. * Updated docker-compose specific link * Updated instructions in the readme file. * Updated packages to latest version. (#1539) * Update README.md * fix(#1261): remove helm chart indent for config map glob (#1533) * Updated ini package in package-lock.json file. (#1541) * Removed unnecessary await (#1546) * 1. remove unused using, 2. Reorganized the using, 3. Moved the class into separate file and 4. Added line and spacing formats (#1532) * Removed Unused Using and Reorganized the Using * Removed unused using, Reorganized using, moved the class to separate file, removed commented code in Catalog.API * Revert "Removed unused using, Reorganized using, moved the class to separate file, removed commented code in Catalog.API" This reverts commit 34241c430619b3b0bbeaabafa44c078c859237c4. * Removed unused using and reorganized the using inside "Services" folder * Removed Unused using and reoganized the using * Refactor Webhooks.API * Removed unused using and reorganized using inside Catalog.API * Swamy/remove unused using and refactor the code (#1552) * Removed Unused Using and Reorganized the Using * Removed unused using, Reorganized using, moved the class to separate file, removed commented code in Catalog.API * Revert "Removed unused using, Reorganized using, moved the class to separate file, removed commented code in Catalog.API" This reverts commit 34241c430619b3b0bbeaabafa44c078c859237c4. * Removed unused using and reorganized the using inside "Services" folder * Removed Unused using and reoganized the using * Refactor Webhooks.API * Removed unused using and reorganized using inside Catalog.API * Refactoring * Removed unsed using * Added line break just to differentiate between the messages * Swamy/remove unused using and refactor the code (#1555) * Removed Unused Using and Reorganized the Using * Removed unused using, Reorganized using, moved the class to separate file, removed commented code in Catalog.API * Revert "Removed unused using, Reorganized using, moved the class to separate file, removed commented code in Catalog.API" This reverts commit 34241c430619b3b0bbeaabafa44c078c859237c4. * Removed unused using and reorganized the using inside "Services" folder * Removed Unused using and reoganized the using * Refactor Webhooks.API * Removed unused using and reorganized using inside Catalog.API * Refactoring * Removed unsed using * Added line break just to differentiate between the messages * Removed unused usings * Simple Refactoring * Fixed Issue #1410 (#1560) Added IdentityUrlExternal to src\Services\Ordering\Ordering.FunctionalTests\appsettings.json; sorted the properties * Small Refactoring (#1558) * Small-Formatting-Refactoring (#1564) * Swamy/01jan2021-small-refactoring (#1570) * Update Startup.cs * Removed commented code * Update UrlsConfig.cs * Small Refactoring * Removed Commented Code * Small Refactoring * Removes dotnet.myget.org NuGetPackage feed references (#1576) * Removed Nuget package feed * Removed unused System.ValueTuple package * Downloadgraded Microsoft.AspNetCore.Hosting.Abstractions package * Removed unused package * Downgraded System.IO.Compression.ZipFile package * Used Microsoft.AspNetCore.DataProtection.StackExchangeRedis package * Swamy/04 jan2021-small-refactoring (#1571) * Small Refactoring inside IntegrationEventLogEF * Small Refactoring inside BuildingBlocks folder * Fixes #1581: Fixed total decimal place issue and User hover menu display/usability issue. (#1582) * Swamy/15jan2021 small refactoring (#1580) * Small Refactoring inside Basket Service folder * Small Refactoring * Incorrect ContentPage.ToolbarItems in a TabbedPage (#1348) Incorrect ContentPage.ToolbarItems in a TabbedPage Co-authored-by: Erik Pique <epique@plainconcepts.com> Co-authored-by: ericuss <etorre@gmail.com> Co-authored-by: eiximenis <etomas@gmail.com> Co-authored-by: Miguel Veloso <mvelosop@gmail.com> Co-authored-by: Miguel Veloso <mveloso@plainconcepts.com> Co-authored-by: ericuss <etorreg@gmail.com> Co-authored-by: Christian Morgenthaler <c.morgenthaler@outlook.de> Co-authored-by: Sumit Ghosh <13281246+sughosneo@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sander Holvoet <holvoetsander@hotmail.com> Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> Co-authored-by: Viswanatha Swamy <vishipayyallore@yahoo.com> Co-authored-by: Mark Harwood <47503138+markharwood101@users.noreply.github.com> Co-authored-by: edmondshtogu <edmondshtogu@gmail.com> Co-authored-by: InstanceFactory <InstanceFactory@users.noreply.github.com> Co-authored-by: Yosef Herskovitz <34112131+H3RSKO@users.noreply.github.com> Co-authored-by: Dmytro Hridin <dmytro.hridin@gmail.com> Co-authored-by: Dmytro Hridin <v-dmytro.hridin@lionbridge.com> Co-authored-by: André Silva <andrefilipegsilva@outlook.com> Co-authored-by: hfz-r <39443205+hfz-r@users.noreply.github.com> Co-authored-by: hfz-r <hafiz.roslan@hartalega.com.my> Co-authored-by: Majid Ali Khan Quaid <contactmakq@gmail.com> Co-authored-by: Javier Vela <fjvela@gmail.com> Co-authored-by: Facundo La Rocca <facundo_larocca@yahoo.com.ar> Co-authored-by: Nabil Sedoud <nsedoud@gmail.com> Co-authored-by: jeremiahflaga <flaga.jeremiah@gmail.com> Co-authored-by: Jeremiah Flaga <j.flaga@arcanys.com> Co-authored-by: Wojciech Rak <wojciechrak@users.noreply.github.com> Co-authored-by: Zakaria <23211915+zakaria-c@users.noreply.github.com> Co-authored-by: ansonzhang <3143422472@qq.com> Co-authored-by: m-knet <10815022+m-knet@users.noreply.github.com> Co-authored-by: Manuel Cañete <mcanete@protonmail.com> Co-authored-by: n-stefan <38526229+n-stefan@users.noreply.github.com> Co-authored-by: Gerard Gunnewijk <gerard.gunnewijk@live.nl> Co-authored-by: Yingting Huang <huangyingting@outlook.com> Co-authored-by: Mads Rosenberg <Rosenberg96@users.noreply.github.com> Co-authored-by: Gur Galler <35164039+GurGaller@users.noreply.github.com> Co-authored-by: Hetal Kapadia <31979831+hetal-kapadia@users.noreply.github.com> Co-authored-by: william-keller <kellerwilliam2011@gmail.com>
4 years ago
  1. Param(
  2. [parameter(Mandatory=$false)][string]$registry,
  3. [parameter(Mandatory=$false)][string]$dockerUser,
  4. [parameter(Mandatory=$false)][string]$dockerPassword,
  5. [parameter(Mandatory=$false)][string]$externalDns,
  6. [parameter(Mandatory=$false)][string]$appName="eshop",
  7. [parameter(Mandatory=$false)][bool]$deployInfrastructure=$true,
  8. [parameter(Mandatory=$false)][bool]$deployCharts=$true,
  9. [parameter(Mandatory=$false)][bool]$clean=$true,
  10. [parameter(Mandatory=$false)][string]$aksName="",
  11. [parameter(Mandatory=$false)][string]$aksRg="",
  12. [parameter(Mandatory=$false)][string]$imageTag="latest",
  13. [parameter(Mandatory=$false)][bool]$useLocalk8s=$false,
  14. [parameter(Mandatory=$false)][bool]$useMesh=$false,
  15. [parameter(Mandatory=$false)][string][ValidateSet('Always','IfNotPresent','Never', IgnoreCase=$false)]$imagePullPolicy="Always",
  16. [parameter(Mandatory=$false)][string][ValidateSet('prod','staging','none','custom', IgnoreCase=$false)]$sslSupport = "none",
  17. [parameter(Mandatory=$false)][string]$tlsSecretName = "eshop-tls-custom",
  18. [parameter(Mandatory=$false)][string]$chartsToDeploy="*",
  19. [parameter(Mandatory=$false)][string]$ingressMeshAnnotationsFile="ingress_values_linkerd.yaml"
  20. )
  21. function Install-Chart {
  22. Param([string]$chart,[string]$initialOptions, [bool]$customRegistry)
  23. $options=$initialOptions
  24. if ($sslEnabled) {
  25. $options = "$options --set ingress.tls[0].secretName=$tlsSecretName --set ingress.tls[0].hosts={$dns}"
  26. if ($sslSupport -ne "custom") {
  27. $options = "$options --set inf.tls.issuer=$sslIssuer"
  28. }
  29. }
  30. if ($customRegistry) {
  31. $options = "$options --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret"
  32. }
  33. if ($chart -ne "eshop-common" -or $customRegistry) { # eshop-common is ignored when no secret must be deployed
  34. $command = "install $appName-$chart $options $chart"
  35. Write-Host "Helm Command: helm $command" -ForegroundColor Gray
  36. Invoke-Expression 'cmd /c "helm $command"'
  37. }
  38. }
  39. $dns = $externalDns
  40. $sslEnabled=$false
  41. $sslIssuer=""
  42. if ($sslSupport -eq "staging") {
  43. $sslEnabled=$true
  44. $tlsSecretName="eshop-letsencrypt-staging"
  45. $sslIssuer="letsencrypt-staging"
  46. }
  47. elseif ($sslSupport -eq "prod") {
  48. $sslEnabled=$true
  49. $tlsSecretName="eshop-letsencrypt-prod"
  50. $sslIssuer="letsencrypt-prod"
  51. }
  52. elseif ($sslSupport -eq "custom") {
  53. $sslEnabled=$true
  54. }
  55. $ingressValuesFile="ingress_values.yaml"
  56. if ($useLocalk8s -eq $true) {
  57. $ingressValuesFile="ingress_values_dockerk8s.yaml"
  58. $dns="localhost"
  59. }
  60. if ($externalDns -eq "aks") {
  61. if ([string]::IsNullOrEmpty($aksName) -or [string]::IsNullOrEmpty($aksRg)) {
  62. Write-Host "Error: When using -dns aks, MUST set -aksName and -aksRg too." -ForegroundColor Red
  63. exit 1
  64. }
  65. Write-Host "Getting DNS of AKS of AKS $aksName (in resource group $aksRg)..." -ForegroundColor Green
  66. $dns = $(az aks show -n $aksName -g $aksRg --query addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName)
  67. if ([string]::IsNullOrEmpty($dns)) {
  68. Write-Host "Error getting DNS of AKS $aksName (in resource group $aksRg). Please ensure AKS has httpRouting enabled AND Azure CLI is logged & in version 2.0.37 or higher" -ForegroundColor Red
  69. exit 1
  70. }
  71. $dns = $dns -replace '[\"]'
  72. Write-Host "DNS base found is $dns. Will use $appName.$dns for the app!" -ForegroundColor Green
  73. $dns = "$appName.$dns"
  74. }
  75. # Initialization & check commands
  76. if ([string]::IsNullOrEmpty($dns)) {
  77. Write-Host "No DNS specified. Ingress resources will be bound to public ip" -ForegroundColor Yellow
  78. if ($sslEnabled) {
  79. Write-Host "Can't bound SSL to public IP. DNS is mandatory when using TLS" -ForegroundColor Red
  80. exit 1
  81. }
  82. }
  83. if ($useLocalk8s -and $sslEnabled) {
  84. Write-Host "SSL can'be enabled on local K8s." -ForegroundColor Red
  85. exit 1
  86. }
  87. if ($clean) {
  88. $listOfReleases=$(helm ls --filter eshop -q)
  89. if ([string]::IsNullOrEmpty($listOfReleases)) {
  90. Write-Host "No previous releases found!" -ForegroundColor Green
  91. }else{
  92. Write-Host "Previous releases found" -ForegroundColor Green
  93. Write-Host "Cleaning previous helm releases..." -ForegroundColor Green
  94. helm uninstall $listOfReleases
  95. Write-Host "Previous releases deleted" -ForegroundColor Green
  96. }
  97. }
  98. $useCustomRegistry=$false
  99. if (-not [string]::IsNullOrEmpty($registry)) {
  100. $useCustomRegistry=$true
  101. if ([string]::IsNullOrEmpty($dockerUser) -or [string]::IsNullOrEmpty($dockerPassword)) {
  102. Write-Host "Error: Must use -dockerUser AND -dockerPassword if specifying custom registry" -ForegroundColor Red
  103. exit 1
  104. }
  105. }
  106. Write-Host "Begin eShopOnContainers installation using Helm" -ForegroundColor Green
  107. $infras = ("sql-data", "nosql-data", "rabbitmq", "keystore-data", "basket-data")
  108. $charts = ("eshop-common", "basket-api","catalog-api", "identity-api", "locations-api", "marketing-api", "mobileshoppingagg","ordering-api","ordering-backgroundtasks","ordering-signalrhub", "payment-api", "webmvc", "webshoppingagg", "webspa", "webstatus", "webhooks-api", "webhooks-web")
  109. $gateways = ("apigwmm", "apigwms", "apigwwm", "apigwws")
  110. if ($deployInfrastructure) {
  111. foreach ($infra in $infras) {
  112. Write-Host "Installing infrastructure: $infra" -ForegroundColor Green
  113. helm install "$appName-$infra" --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" $infra
  114. }
  115. }
  116. else {
  117. Write-Host "eShopOnContainers infrastructure (bbdd, redis, ...) charts aren't installed (-deployCharts is false)" -ForegroundColor Yellow
  118. }
  119. if ($deployCharts) {
  120. foreach ($chart in $charts) {
  121. if ($chartsToDeploy -eq "*" -or $chartsToDeploy.Contains($chart)) {
  122. Write-Host "Installing: $chart" -ForegroundColor Green
  123. Install-Chart $chart "-f app.yaml --values inf.yaml -f $ingressValuesFile -f $ingressMeshAnnotationsFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --set image.tag=$imageTag --set image.pullPolicy=$imagePullPolicy --set inf.tls.enabled=$sslEnabled --set inf.mesh.enabled=$useMesh --set inf.k8s.local=$useLocalk8s" $useCustomRegistry
  124. }
  125. }
  126. foreach ($chart in $gateways) {
  127. if ($chartsToDeploy -eq "*" -or $chartsToDeploy.Contains($chart)) {
  128. Write-Host "Installing Api Gateway Chart: $chart" -ForegroundColor Green
  129. Install-Chart $chart "-f app.yaml -f inf.yaml -f $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set image.pullPolicy=$imagePullPolicy --set inf.mesh.enabled=$useMesh --set ingress.hosts={$dns} --set inf.tls.enabled=$sslEnabled" $false
  130. }
  131. }
  132. }
  133. else {
  134. Write-Host "eShopOnContainers non-infrastructure charts aren't installed (-deployCharts is false)" -ForegroundColor Yellow
  135. }
  136. Write-Host "helm charts installed." -ForegroundColor Green