Merge branch 'features/migration-dotnet3' into dotnet3-migration/dev-dotnet3
# Conflicts: # README.md # docker-compose.override.yml # docker-compose.yml # k8s/helm/deploy-all.ps1 # k8s/helm/webstatus/values.yaml # src/ApiGateways/ApiGw-Base/Dockerfile # src/ApiGateways/ApiGw-Base/OcelotApiGw.csproj # src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile # src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj # src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile # src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj # src/BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj # src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj # src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj # src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj # src/Mobile/eShopOnContainers/eShopOnContainers.UnitTests/eShopOnContainers.UnitTests.csproj # src/Services/Basket/Basket.API/Basket.API.csproj # src/Services/Basket/Basket.API/Dockerfile # src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj # src/Services/Basket/Basket.UnitTests/Basket.UnitTests.csproj # src/Services/Catalog/Catalog.API/Catalog.API.csproj # src/Services/Catalog/Catalog.API/Dockerfile # src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj # src/Services/Catalog/Catalog.UnitTests/Catalog.UnitTests.csproj # src/Services/Identity/Identity.API/Dockerfile # src/Services/Identity/Identity.API/Identity.API.csproj # src/Services/Location/Locations.API/Dockerfile # src/Services/Location/Locations.API/Locations.API.csproj # src/Services/Location/Locations.FunctionalTests/Locations.FunctionalTests.csproj # src/Services/Marketing/Infrastructure/AzureFunctions/marketing-functions.csproj # src/Services/Marketing/Marketing.API/Dockerfile # src/Services/Marketing/Marketing.API/Marketing.API.csproj # src/Services/Marketing/Marketing.FunctionalTests/Marketing.FunctionalTests.csproj # src/Services/Ordering/Ordering.API/Dockerfile # src/Services/Ordering/Ordering.API/Ordering.API.csproj # src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile # src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj # src/Services/Ordering/Ordering.Domain/Ordering.Domain.csproj # src/Services/Ordering/Ordering.FunctionalTests/Ordering.FunctionalTests.csproj # src/Services/Ordering/Ordering.Infrastructure/Ordering.Infrastructure.csproj # src/Services/Ordering/Ordering.SignalrHub/Dockerfile # src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj # src/Services/Ordering/Ordering.UnitTests/Ordering.UnitTests.csproj # src/Services/Payment/Payment.API/Dockerfile # src/Services/Payment/Payment.API/Payment.API.csproj # src/Services/Webhooks/Webhooks.API/Dockerfile # src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj # src/Web/WebMVC/Dockerfile # src/Web/WebMVC/WebMVC.csproj # src/Web/WebSPA/Dockerfile # src/Web/WebSPA/WebSPA.csproj # src/Web/WebStatus/Dockerfile # src/Web/WebStatus/WebStatus.csproj # src/Web/WebStatus/appsettings.Development.json # src/Web/WebhookClient/Dockerfile # test/ServicesTests/Application.FunctionalTests/Application.FunctionalTests.csproj
This commit is contained in:
commit
e8d99c06c9
11
README.md
11
README.md
@ -30,15 +30,8 @@ Dev branch contains the latest "stable" code, and their images are tagged with `
|
||||
**NEWS / ANNOUNCEMENTS**
|
||||
Do you want to be up-to-date on .NET Architecture guidance and reference apps like eShopOnContainers? --> Subscribe by "WATCHING" this new GitHub repo: https://github.com/dotnet-architecture/News
|
||||
|
||||
## Update to .NET Core 3
|
||||
|
||||
> There's currently an update to .NET Core 3 going on in the branch [features/migration-dotnet3](https://github.com/dotnet-architecture/eShopOnContainers/tree/features/migration-dotnet3).
|
||||
>
|
||||
> You can monitor this branch, but it's being changed frequently, community contributions will be accepted once it's officially released.
|
||||
|
||||
## Updated for .NET Core 2.2 "wave" of technologies
|
||||
|
||||
eShopOnContainers is updated to .NET Core 2.x (currently updated to 2.2) "wave" of technologies. Not just compilation but also new recommended code in EF Core, ASP.NET Core, and other new related versions.
|
||||
## Updated for .NET Core 3.0
|
||||
eShopOnContainers is updated to .NET Core 3.0 "wave" of technologies. Not just compilation but also new recommended code in EF Core, ASP.NET Core, and other new related versions.
|
||||
|
||||
The **dockerfiles** in the solution have also been updated and now support [**Docker Multi-Stage**](https://blogs.msdn.microsoft.com/stevelasker/2017/09/11/net-and-multistage-dockerfiles/) since mid-December 2017.
|
||||
|
||||
|
@ -13,7 +13,7 @@ $services = @(
|
||||
@{ Name="eshopcatalog"; Image="eshop/catalog.api"; File="src/Services/Catalog/Catalog.API/Dockerfile" },
|
||||
@{ Name="eshopidentity"; Image="eshop/identity.api"; File="src/Services/Identity/Identity.API/Dockerfile" },
|
||||
@{ Name="eshopordering"; Image="eshop/ordering.api"; File="src/Services/Ordering/Ordering.API/Dockerfile" },
|
||||
@{ Name="eshoporderingbg"; Image="eshop/ordering.backgroundtasks"; File="src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile" },
|
||||
@{ Name="eshoporderingbg"; Image="eshop/ordering.backgroundtasks"; File="src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile" },
|
||||
@{ Name="eshopmarketing"; Image="eshop/marketing.api"; File="src/Services/Marketing/Marketing.API/Dockerfile" },
|
||||
@{ Name="eshopwebspa"; Image="eshop/webspa"; File="src/Web/WebSPA/Dockerfile" },
|
||||
@{ Name="eshopwebmvc"; Image="eshop/webmvc"; File="src/Web/WebMVC/Dockerfile" },
|
||||
|
@ -36,7 +36,7 @@ jobs:
|
||||
dockerComposeCommand: 'build ${{ parameters.services }}'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||
dockerComposeFile: docker-compose.yml
|
||||
dockerComposeFile: src/docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
@ -47,7 +47,7 @@ jobs:
|
||||
dockerComposeCommand: 'push ${{ parameters.services }}'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||
dockerComposeFile: docker-compose.yml
|
||||
dockerComposeFile: src/docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
@ -71,7 +71,7 @@ jobs:
|
||||
dockerComposeCommand: 'build ${{ parameters.services }}'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||
dockerComposeFile: docker-compose.yml
|
||||
dockerComposeFile: src/docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
@ -84,7 +84,7 @@ jobs:
|
||||
dockerComposeCommand: 'push ${{ parameters.services }}'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||
dockerComposeFile: docker-compose.yml
|
||||
dockerComposeFile: src/docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
|
@ -1,14 +0,0 @@
|
||||
version: '3.4'
|
||||
|
||||
services:
|
||||
sql.data:
|
||||
environment:
|
||||
- MSSQL_SA_PASSWORD=Pass@word
|
||||
- ACCEPT_EULA=Y
|
||||
- MSSQL_PID=Developer
|
||||
ports:
|
||||
- "5433:1433"
|
||||
|
||||
nosql.data:
|
||||
ports:
|
||||
- "27017:27017"
|
@ -1,18 +0,0 @@
|
||||
version: '3.4'
|
||||
|
||||
services:
|
||||
sql.data:
|
||||
image: microsoft/mssql-server-linux:2017-latest
|
||||
|
||||
basket.data:
|
||||
image: redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
|
||||
rabbitmq:
|
||||
image: rabbitmq
|
||||
ports:
|
||||
- "5672:5672"
|
||||
|
||||
nosql.data:
|
||||
image: mongo
|
@ -1,83 +0,0 @@
|
||||
version: '3.4'
|
||||
|
||||
services:
|
||||
basket.api:
|
||||
image: eshop/basket.api
|
||||
depends_on:
|
||||
- basket.data
|
||||
- identity.api
|
||||
- rabbitmq
|
||||
|
||||
catalog.api:
|
||||
image: eshop/catalog.api
|
||||
depends_on:
|
||||
- sql.data
|
||||
- rabbitmq
|
||||
|
||||
identity.api:
|
||||
image: eshop/identity.api
|
||||
depends_on:
|
||||
- sql.data
|
||||
|
||||
ordering.api:
|
||||
image: eshop/ordering.api
|
||||
depends_on:
|
||||
- sql.data
|
||||
- rabbitmq
|
||||
|
||||
marketing.api:
|
||||
image: eshop/marketing.api
|
||||
depends_on:
|
||||
- sql.data
|
||||
- nosql.data
|
||||
- identity.api
|
||||
- rabbitmq
|
||||
|
||||
webspa:
|
||||
image: eshop/webspa
|
||||
depends_on:
|
||||
- catalog.api
|
||||
- ordering.api
|
||||
- identity.api
|
||||
- basket.api
|
||||
- marketing.api
|
||||
|
||||
webmvc:
|
||||
image: eshop/webmvc
|
||||
depends_on:
|
||||
- catalog.api
|
||||
- ordering.api
|
||||
- identity.api
|
||||
- basket.api
|
||||
- marketing.api
|
||||
|
||||
webstatus:
|
||||
image: eshop/webstatus
|
||||
|
||||
payment.api:
|
||||
image: eshop/payment.api
|
||||
depends_on:
|
||||
- rabbitmq
|
||||
|
||||
locations.api:
|
||||
image: eshop/locations.api
|
||||
depends_on:
|
||||
- nosql.data
|
||||
- rabbitmq
|
||||
|
||||
sql.data:
|
||||
image: microsoft/mssql-server-linux:2017-latest
|
||||
|
||||
nosql.data:
|
||||
image: mongo
|
||||
|
||||
basket.data:
|
||||
image: redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
|
||||
rabbitmq:
|
||||
image: rabbitmq:3-management
|
||||
ports:
|
||||
- "5672:5672"
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2024
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29123.88
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{FEA0C318-FFED-4D39-8781-265718CA43DD}"
|
||||
EndProject
|
||||
@ -99,8 +99,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunne
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopOnContainers.TestRunner.Windows", "src\Mobile\eShopOnContainers\eShopOnContainers.TestRunner.Windows\eShopOnContainers.TestRunner.Windows.csproj", "{A7337243-33B8-463A-87AD-944B75EFD820}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ordering.BackgroundTasks", "src\Services\Ordering\Ordering.BackgroundTasks\Ordering.BackgroundTasks.csproj", "{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Basket.FunctionalTests", "src\Services\Basket\Basket.FunctionalTests\Basket.FunctionalTests.csproj", "{9F00E62F-E180-4A9C-8794-98A72AFAC2DB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Basket.UnitTests", "src\Services\Basket\Basket.UnitTests\Basket.UnitTests.csproj", "{63417272-1E6A-406A-AD11-C738558D89C0}"
|
||||
@ -165,6 +163,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Devspaces.Support", "Devspa
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Devspaces.Support", "src\BuildingBlocks\Devspaces.Support\Devspaces.Support.csproj", "{CB6D01A4-E597-4348-9570-FC8DB03B4267}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Clients", "Clients", "{8449B293-5949-4832-8612-6BCE2962BCB1}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Clients.Grpc.Caller", "src\Clients\Clients.Grpc.Caller\Clients.Grpc.Caller.csproj", "{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
|
||||
@ -1371,54 +1373,6 @@ Global
|
||||
{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.ActiveCfg = Release|x86
|
||||
{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.Build.0 = Release|x86
|
||||
{A7337243-33B8-463A-87AD-944B75EFD820}.Release|x86.Deploy.0 = Release|x86
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|Any CPU.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|ARM.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|ARM.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|iPhone.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|x64.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|x64.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|x86.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.AppStore|x86.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|x64.Build.0 = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9F00E62F-E180-4A9C-8794-98A72AFAC2DB}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9F00E62F-E180-4A9C-8794-98A72AFAC2DB}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9F00E62F-E180-4A9C-8794-98A72AFAC2DB}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||
@ -2091,6 +2045,54 @@ Global
|
||||
{CB6D01A4-E597-4348-9570-FC8DB03B4267}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CB6D01A4-E597-4348-9570-FC8DB03B4267}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CB6D01A4-E597-4348-9570-FC8DB03B4267}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|ARM.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|iPhone.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|x64.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|x64.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|x86.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.AppStore|x86.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@ -2138,7 +2140,6 @@ Global
|
||||
{A289A7F0-ACD8-42AE-87B6-AB1AFD310BF1} = {0AAED9FF-3260-43BB-B586-9AAF1E010A90}
|
||||
{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3} = {0AAED9FF-3260-43BB-B586-9AAF1E010A90}
|
||||
{A7337243-33B8-463A-87AD-944B75EFD820} = {0AAED9FF-3260-43BB-B586-9AAF1E010A90}
|
||||
{16CDE5D2-2DDE-4AF2-B902-AD9CC42DE480} = {0BD0DB92-2D98-44D9-9AC0-C59186D59B0B}
|
||||
{9F00E62F-E180-4A9C-8794-98A72AFAC2DB} = {7BA332A2-189D-4D03-9935-FDFF81C42496}
|
||||
{63417272-1E6A-406A-AD11-C738558D89C0} = {7BA332A2-189D-4D03-9935-FDFF81C42496}
|
||||
{56E0E455-731E-41CB-AF46-C1A70F8A140B} = {2F0DEF71-84AC-4212-86D4-E36E8896BDBF}
|
||||
@ -2165,6 +2166,8 @@ Global
|
||||
{E39BD762-BC86-459D-B818-B6BF2D9F1352} = {424BC53E-17EA-4E12-BC07-64BAA927ABCB}
|
||||
{ABBA561B-499B-48C0-8299-85D41E6E9E98} = {DB0EFB20-B024-4E5E-A75C-52143C131D25}
|
||||
{CB6D01A4-E597-4348-9570-FC8DB03B4267} = {ABBA561B-499B-48C0-8299-85D41E6E9E98}
|
||||
{8449B293-5949-4832-8612-6BCE2962BCB1} = {932D8224-11F6-4D07-B109-DA28AD288A63}
|
||||
{7C8FA264-ED49-4ACA-9629-FCE5462B30AB} = {8449B293-5949-4832-8612-6BCE2962BCB1}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {25728519-5F0F-4973-8A64-0A81EB4EA8D9}
|
||||
|
@ -1,29 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: basket-data
|
||||
name: basket-data
|
||||
spec:
|
||||
ports:
|
||||
- port: 6379
|
||||
selector:
|
||||
app: eshop
|
||||
component: basket-data
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: basket-data
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: basket-data
|
||||
spec:
|
||||
containers:
|
||||
- name: basket-data
|
||||
image: redis
|
||||
|
@ -133,8 +133,8 @@ ExecKube -cmd 'create -f services.yaml'
|
||||
|
||||
ExecKube -cmd 'create -f internalurls.yaml'
|
||||
ExecKube -cmd 'create configmap urls `
|
||||
--from-literal=PicBaseUrl=http://$($externalDns)/webshoppingapigw/api/v1/c/catalog/items/[0]/pic/ `
|
||||
--from-literal=Marketing_PicBaseUrl=http://$($externalDns)/webmarketingapigw/api/v1/m/campaigns/[0]/pic/ `
|
||||
--from-literal=PicBaseUrl=http://$($externalDns)/webshoppingapigw/c/api/v1/catalog/items/[0]/pic/ `
|
||||
--from-literal=Marketing_PicBaseUrl=http://$($externalDns)/webmarketingapigw/m/api/v1/campaigns/[0]/pic/ `
|
||||
--from-literal=mvc_e=http://$($externalDns)/webmvc `
|
||||
--from-literal=marketingapigw_e=http://$($externalDns)/webmarketingapigw `
|
||||
--from-literal=webshoppingapigw_e=http://$($externalDns)/webshoppingapigw `
|
||||
|
@ -1,928 +0,0 @@
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: basket
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: basket
|
||||
spec:
|
||||
containers:
|
||||
- name: basket
|
||||
image: eshop/basket.api
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /basket-api
|
||||
- name: ConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: basket__ConnectionString
|
||||
- name: EventBusConnection
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EventBusConnection
|
||||
- name: AzureServiceBusEnabled
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__UseAzureServiceBus
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: IdentityUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: identity_e
|
||||
- name: UseLoadTest
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EnableLoadTest
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: catalog
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: catalog
|
||||
spec:
|
||||
containers:
|
||||
- name: catalog
|
||||
image: eshop/catalog.api
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /catalog-api
|
||||
- name: ConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: catalog__ConnectionString
|
||||
- name: PicBaseUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: PicBaseUrl
|
||||
- name: AzureStorageEnabled
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: catalog__AzureStorageEnabled
|
||||
- name: EventBusConnection
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EventBusConnection
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: identity
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: identity
|
||||
spec:
|
||||
containers:
|
||||
- name: identity
|
||||
image: eshop/identity.api
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /identity
|
||||
- name: ConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: identity__ConnectionString
|
||||
- name: DPConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: keystore
|
||||
- name: IsClusterEnv
|
||||
value: 'True'
|
||||
- name: MvcClient
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: mvc_e
|
||||
- name: SpaClient
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: spa_e
|
||||
- name: LocationApiClient
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: locations_e
|
||||
- name: MarketingApiClient
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: marketing_e
|
||||
- name: BasketApiClient
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: basket_e
|
||||
- name: OrderingApiClient
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: ordering_e
|
||||
- name: MobileShoppingAggClient
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: mobileshoppingagg_e
|
||||
- name: WebShoppingAggClient
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: webshoppingagg_e
|
||||
- name: XamarinCallback
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: xamarin_callback_e
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ordering
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: ordering
|
||||
spec:
|
||||
containers:
|
||||
- name: ordering
|
||||
image: eshop/ordering.api
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /ordering-api
|
||||
- name: ConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: ordering__ConnectionString
|
||||
- name: EventBusConnection
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EventBusConnection
|
||||
- name: AzureServiceBusEnabled
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__UseAzureServiceBus
|
||||
- name: IdentityUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: identity_e
|
||||
- name: CheckUpdateTime
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: GracePeriodManager__CheckUpdateTime
|
||||
- name: GracePeriodTime
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: GracePeriodManager__GracePeriodTime
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: UseLoadTest
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EnableLoadTest
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ordering-backgroundtasks
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: ordering-backgroundtasks
|
||||
spec:
|
||||
containers:
|
||||
- name: ordering-backgroundtasks
|
||||
image: eshop/ordering.backgroundtasks
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: ConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: ordering__ConnectionString
|
||||
- name: EventBusConnection
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EventBusConnection
|
||||
- name: AzureServiceBusEnabled
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__UseAzureServiceBus
|
||||
- name: CheckUpdateTime
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: GracePeriodManager__CheckUpdateTime
|
||||
- name: GracePeriodTime
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: GracePeriodManager__GracePeriodTime
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: UseLoadTest
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EnableLoadTest
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ordering-signalrhub
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: ordering-signalrhub
|
||||
spec:
|
||||
containers:
|
||||
- name: ordering-signalrhub
|
||||
image: eshop/ordering.signalrhub
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: EventBusConnection
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EventBusConnection
|
||||
- name: IdentityUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: identity_e
|
||||
- name: AzureServiceBusEnabled
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__UseAzureServiceBus
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
- name: IsClusterEnv
|
||||
value: 'True'
|
||||
- name: SignalrStoreConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: keystore
|
||||
ports:
|
||||
- containerPort: 80
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: locations
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: locations
|
||||
spec:
|
||||
containers:
|
||||
- name: locations
|
||||
image: eshop/locations.api
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /locations-api
|
||||
- name: ConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: locations__ConnectionString
|
||||
- name: Database
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: locations__Database
|
||||
- name: AzureServiceBusEnabled
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__UseAzureServiceBus
|
||||
- name: EventBusConnection
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EventBusConnection
|
||||
- name: IdentityUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: identity
|
||||
- name: IdentityUrlExternal
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: identity_e
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: UseLoadTest
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EnableLoadTest
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: marketing
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: marketing
|
||||
spec:
|
||||
containers:
|
||||
- name: marketing
|
||||
image: eshop/marketing.api
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /marketing-api
|
||||
- name: ConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: marketing__ConnectionString
|
||||
- name: MongoConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: marketing__MongoConnectionString
|
||||
- name: MongoDatabase
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: marketing__MongoDatabase
|
||||
- name: AzureServiceBusEnabled
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__UseAzureServiceBus
|
||||
- name: EventBusConnection
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EventBusConnection
|
||||
- name: IdentityUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: identity
|
||||
- name: IdentityUrlExternal
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: identity_e
|
||||
- name: PicBaseUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: Marketing_PicBaseUrl
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: UseLoadTest
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EnableLoadTest
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: payment
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: payment
|
||||
spec:
|
||||
containers:
|
||||
- name: payment
|
||||
image: eshop/payment.api
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /payment-api
|
||||
- name: AzureServiceBusEnabled
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__UseAzureServiceBus
|
||||
- name: EventBusConnection
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EventBusConnection
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: webmvc
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: webmvc
|
||||
spec:
|
||||
containers:
|
||||
- name: webmvc
|
||||
image: eshop/webmvc
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /webmvc
|
||||
- name: DPConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: keystore
|
||||
- name: IsClusterEnv
|
||||
value: 'True'
|
||||
- name: PurchaseUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: apigwws
|
||||
- name: ExternalPurchaseUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: webshoppingapigw_e
|
||||
- name: CallBackUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: mvc_e
|
||||
- name: IdentityUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: identity_e
|
||||
- name: MarketingUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: apigwwm
|
||||
- name: BasketUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: basket__hc
|
||||
- name: CatalogUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: catalog__hc
|
||||
- name: IdentityUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: identity__hc
|
||||
- name: OrderingUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: ordering__hc
|
||||
- name: MarketingUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: marketing__hc
|
||||
- name: PaymentUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: payment__hc
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: UseLoadTest
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__EnableLoadTest
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
- name: SignalrHubUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: webshoppingapigw_e
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: webstatus
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: webstatus
|
||||
spec:
|
||||
containers:
|
||||
- name: webstatus
|
||||
image: eshop/webstatus
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: /webstatus
|
||||
- name: BasketUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: basket__hc
|
||||
- name: CatalogUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: catalog__hc
|
||||
- name: IdentityUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: identity__hc
|
||||
- name: OrderingUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: ordering__hc
|
||||
- name: OrderingBackgroundTasksUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: ordering-background__hc
|
||||
- name: LocationsUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: locations__hc
|
||||
- name: MarketingUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: marketing__hc
|
||||
- name: mvc
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: mvc__hc
|
||||
- name: spa
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: spa__hc
|
||||
- name: PaymentUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: payment__hc
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: webspa
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: webspa
|
||||
spec:
|
||||
containers:
|
||||
- name: webspa
|
||||
image: eshop/webspa
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: ASPNETCORE_URLS
|
||||
value: http://0.0.0.0:80
|
||||
- name: DPConnectionString
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: keystore
|
||||
- name: IsClusterEnv
|
||||
value: 'True'
|
||||
- name: PurchaseUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: webshoppingapigw_e
|
||||
- name: CallBackUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: spa_e
|
||||
- name: IdentityUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: identity_e
|
||||
- name: MarketingUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: marketingapigw_e
|
||||
- name: BasketUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: basket__hc
|
||||
- name: CatalogUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: catalog__hc
|
||||
- name: IdentityUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: identity__hc
|
||||
- name: OrderingUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: ordering__hc
|
||||
- name: MarketingUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: marketing__hc
|
||||
- name: PaymentUrlHC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: payment__hc
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: externalcfg
|
||||
key: all__InstrumentationKey
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
- name: SignalrHubUrl
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: urls
|
||||
key: webshoppingapigw_e
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: webshoppingagg
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: webshoppingagg
|
||||
spec:
|
||||
containers:
|
||||
- name: webshoppingagg
|
||||
image: eshop/webshoppingagg
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: ASPNETCORE_URLS
|
||||
value: http://0.0.0.0:80
|
||||
- name: urls__basket
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: basket
|
||||
- name: urls__catalog
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: catalog
|
||||
- name: urls__orders
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: ordering
|
||||
- name: urls__identity
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: identity
|
||||
ports:
|
||||
- containerPort: 80
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: mobileshoppingagg
|
||||
spec:
|
||||
paused: true
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: mobileshoppingagg
|
||||
spec:
|
||||
containers:
|
||||
- name: mobileshoppingagg
|
||||
image: eshop/mobileshoppingagg
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: ASPNETCORE_URLS
|
||||
value: http://0.0.0.0:80
|
||||
- name: urls__basket
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: basket
|
||||
- name: urls__catalog
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: catalog
|
||||
- name: urls__orders
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: ordering
|
||||
- name: urls__identity
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: internalurls
|
||||
key: identity
|
||||
ports:
|
||||
- containerPort: 80
|
||||
imagePullSecrets:
|
||||
- name: registry-key
|
||||
---
|
@ -1,5 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: eshop
|
||||
|
@ -4,9 +4,12 @@
|
||||
[parameter(Mandatory=$true)][string]$serviceName,
|
||||
[parameter(Mandatory=$true)][string]$dnsNamePrefix,
|
||||
[parameter(Mandatory=$false)][string]$registryName,
|
||||
[parameter(Mandatory=$true)][string]$createAcr=$true,
|
||||
[parameter(Mandatory=$true)][bool]$createAcr=$true,
|
||||
[parameter(Mandatory=$false)][int]$nodeCount=3,
|
||||
[parameter(Mandatory=$false)][string]$nodeVMSize="Standard_D2_v2"
|
||||
[parameter(Mandatory=$false)][string]$nodeVMSize="Standard_D2_v2",
|
||||
[parameter(Mandatory=$false)][bool]$enableHttpApplicationAddon=$true,
|
||||
[parameter(Mandatory=$false)][bool]$enableAzureMonitoring=$false,
|
||||
[parameter(Mandatory=$false)][ValidateSet("VirtualMachineScaleSets","AvailabilitySet",IgnoreCase=$true)]$vmSetType="VirtualMachineScaleSets"
|
||||
)
|
||||
|
||||
# Create resource group
|
||||
@ -15,13 +18,26 @@ az group create --name=$resourceGroupName --location=$location
|
||||
|
||||
if ($createAcr -eq $true) {
|
||||
# Create Azure Container Registry
|
||||
Write-Host "Creating Azure Container Registry..." -ForegroundColor Yellow
|
||||
if ([string]::IsNullOrEmpty($registryName)) {
|
||||
$registryName=$serviceName
|
||||
}
|
||||
Write-Host "Creating Azure Container Registry named $registryName" -ForegroundColor Yellow
|
||||
az acr create -n $registryName -g $resourceGroupName -l $location --admin-enabled true --sku Basic
|
||||
}
|
||||
|
||||
# Create kubernetes cluster in AKS
|
||||
Write-Host "Creating Kubernetes cluster in AKS..." -ForegroundColor Yellow
|
||||
az aks create --resource-group=$resourceGroupName --name=$serviceName --dns-name-prefix=$dnsNamePrefix --generate-ssh-keys --node-count=$nodeCount --node-vm-size=$nodeVMSize
|
||||
Write-Host "Creating AKS $resourceGroupName/$serviceName" -ForegroundColor Yellow
|
||||
az aks create --resource-group=$resourceGroupName --name=$serviceName --dns-name-prefix=$dnsNamePrefix --generate-ssh-keys --node-count=$nodeCount --node-vm-size=$nodeVMSize --vm-set-type $vmSetType
|
||||
|
||||
if ($enableHttpApplicationAddon) {
|
||||
Write-Host "Enabling Http Applciation Routing in AKS $serviceName" -ForegroundColor Yellow
|
||||
az aks enable-addons --resource-group $resourceGroupName --name $serviceName --addons http_application_routing
|
||||
}
|
||||
|
||||
if ($enableAzureMonitoring) {
|
||||
Write-Host "Enabling Azure Monitoring in AKS $serviceName" -ForegroundColor Yellow
|
||||
az aks enable-addons --resource-group $resourceGroupName --name $serviceName --addons monitoring
|
||||
}
|
||||
|
||||
# Retrieve kubernetes cluster configuration and save it under ~/.kube/config
|
||||
Write-Host "Getting Kubernetes config..." -ForegroundColor Yellow
|
||||
@ -29,6 +45,6 @@ az aks get-credentials --resource-group=$resourceGroupName --name=$serviceName
|
||||
|
||||
if ($createAcr -eq $true) {
|
||||
# Show ACR credentials
|
||||
Write-Host "ACR credentials" -ForegroundColor Yellow
|
||||
Write-Host "ACR $registryName credentials:" -ForegroundColor Yellow
|
||||
az acr credential show -n $registryName
|
||||
}
|
||||
|
@ -1,33 +0,0 @@
|
||||
Param(
|
||||
[parameter(Mandatory=$true)][string]$resourceGroupName,
|
||||
[parameter(Mandatory=$true)][string]$location,
|
||||
[parameter(Mandatory=$false)][string]$registryName,
|
||||
[parameter(Mandatory=$true)][string]$orchestratorName,
|
||||
[parameter(Mandatory=$true)][string]$dnsName,
|
||||
[parameter(Mandatory=$true)][string]$createAcr=$true,
|
||||
[parameter(Mandatory=$false)][int]$agentCount=2,
|
||||
[parameter(Mandatory=$false)][string]$agentVMSize="Standard_D2_v2",
|
||||
[parameter(Mandatory=$false)][int]$masterCount=1
|
||||
)
|
||||
|
||||
# Create resource group
|
||||
Write-Host "Creating resource group..." -ForegroundColor Yellow
|
||||
az group create --name=$resourceGroupName --location=$location
|
||||
|
||||
if ($createAcr -eq $true) {
|
||||
# Create Azure Container Registry
|
||||
Write-Host "Creating Azure Container Registry..." -ForegroundColor Yellow
|
||||
az acr create -n $registryName -g $resourceGroupName -l $location --admin-enabled true --sku Basic
|
||||
}
|
||||
|
||||
# Create kubernetes orchestrator
|
||||
Write-Host "Creating kubernetes orchestrator..." -ForegroundColor Yellow
|
||||
az acs create --orchestrator-type=kubernetes --resource-group $resourceGroupName --name=$orchestratorName --dns-prefix=$dnsName --generate-ssh-keys --agent-count=$agentCount --agent-vm-size=$agentVMSize --master-count=$masterCount
|
||||
|
||||
# Retrieve kubernetes cluster configuration and save it under ~/.kube/config
|
||||
az acs kubernetes get-credentials --resource-group=$resourceGroupName --name=$orchestratorName
|
||||
|
||||
if ($createAcr -eq $true) {
|
||||
# Show ACR credentials
|
||||
az acr credential show -n $registryName
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
{
|
||||
"ReRoutes": [
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "marketing",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/m/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "locations",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/l/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
}
|
||||
|
||||
],
|
||||
"GlobalConfiguration": {
|
||||
"RequestIdKey": "OcRequestId",
|
||||
"AdministrationPath": "/administration"
|
||||
}
|
||||
}
|
||||
|
75
k8s/helm/apigwmm/envoy.yaml
Normal file
75
k8s/helm/apigwmm/envoy.yaml
Normal file
@ -0,0 +1,75 @@
|
||||
admin:
|
||||
access_log_path: "/dev/null"
|
||||
address:
|
||||
socket_address:
|
||||
address: 0.0.0.0
|
||||
port_value: 8001
|
||||
static_resources:
|
||||
listeners:
|
||||
- address:
|
||||
socket_address:
|
||||
address: 0.0.0.0
|
||||
port_value: 80
|
||||
filter_chains:
|
||||
- filters:
|
||||
- name: envoy.http_connection_manager
|
||||
config:
|
||||
codec_type: auto
|
||||
stat_prefix: ingress_http
|
||||
route_config:
|
||||
name: eshop_backend_route
|
||||
virtual_hosts:
|
||||
- name: eshop_backend
|
||||
domains:
|
||||
- "*"
|
||||
routes:
|
||||
- name: "m-short"
|
||||
match:
|
||||
prefix: "/m/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/marketing-api/"
|
||||
cluster: marketing
|
||||
- name: "m-long"
|
||||
match:
|
||||
prefix: "/marketing-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: marketing
|
||||
http_filters:
|
||||
- name: envoy.router
|
||||
access_log:
|
||||
- name: envoy.file_access_log
|
||||
filter:
|
||||
not_health_check_filter: {}
|
||||
config:
|
||||
json_format:
|
||||
time: "%START_TIME%"
|
||||
protocol: "%PROTOCOL%"
|
||||
duration: "%DURATION%"
|
||||
request_method: "%REQ(:METHOD)%"
|
||||
request_host: "%REQ(HOST)%"
|
||||
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
|
||||
response_flags: "%RESPONSE_FLAGS%"
|
||||
route_name: "%ROUTE_NAME%"
|
||||
upstream_host: "%UPSTREAM_HOST%"
|
||||
upstream_cluster: "%UPSTREAM_CLUSTER%"
|
||||
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
|
||||
path: "/tmp/access.log"
|
||||
clusters:
|
||||
- name: marketing
|
||||
connect_timeout: 0.25s
|
||||
type: logical_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: marketing-api
|
||||
port_value: 80
|
||||
- name: locations
|
||||
connect_timeout: 0.25s
|
||||
type: logical_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: locations-api
|
||||
port_value: 80
|
@ -1,21 +0,0 @@
|
||||
{{- $name := include "apigwmm.fullname" . -}}
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "cfg-{{ $name }}"
|
||||
labels:
|
||||
app: {{ template "apigwmm.name" . }}
|
||||
chart: {{ template "apigwmm.chart" .}}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
internalurls__identity: http://{{ .Values.app.svc.identity }}
|
||||
internalurls__basket__hc: http://{{ .Values.app.svc.basket }}/hc
|
||||
internalurls__catalog__hc: http://{{ .Values.app.svc.catalog }}/hc
|
||||
internalurls__identity__hc: http://{{ .Values.app.svc.identity }}/hc
|
||||
internalurls__ordering__hc: http://{{ .Values.app.svc.ordering }}/hc
|
||||
internalurls__marketing__hc: http://{{ .Values.app.svc.marketing }}/hc
|
||||
internalurls__payment__hc: http://{{ .Values.app.svc.payment }}/hc
|
||||
internalurls__location__hc: http://{{ .Values.app.svc.locations }}/hc
|
||||
|
@ -1,6 +1,6 @@
|
||||
{{- $name := include "apigwmm.fullname" . -}}
|
||||
{{- $cfgname := printf "%s-%s" "cfg" $name -}}
|
||||
{{- $ocelotcfgname := printf "%s-%s" "ocelot" $name -}}
|
||||
{{- $envoycfgname := printf "%s-%s" "envoy" $name -}}
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@ -22,6 +22,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "apigwmm.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
@ -30,10 +34,10 @@ spec:
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: {{ $ocelotcfgname }}
|
||||
name: {{ $envoycfgname }}
|
||||
items:
|
||||
- key: configuration-mobile-marketing.json
|
||||
path: configuration.json
|
||||
- key: envoy.yaml
|
||||
path: envoy.yaml
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
{{ if .Values.probes -}}
|
||||
@ -58,10 +62,10 @@ spec:
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
image: "{{ template "fqdn-image" . }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
imagePullPolicy: IfNotPresent
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: {{ .Values.ocelot.configPath }}
|
||||
mountPath: {{ .Values.envoy.configPath }}
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: {{ include "pathBase" . }}
|
||||
@ -86,6 +90,9 @@ spec:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: admin
|
||||
containerPort: 8001
|
||||
protocol: TCP
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
|
@ -3,12 +3,12 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "ocelot-{{ $name }}"
|
||||
name: "envoy-{{ $name }}"
|
||||
labels:
|
||||
app: {{ template "apigwmm.name" . }}
|
||||
chart: {{ template "apigwmm.chart" .}}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
{{ (.Files.Glob "configuration-mobile-marketing.json").AsConfig | indent 2 }}
|
||||
{{ (.Files.Glob "envoy.yaml").AsConfig | indent 2 }}
|
||||
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -14,6 +14,10 @@ spec:
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: {{ .Values.service.adminPort }}
|
||||
targetPort: admin
|
||||
protocol: TCP
|
||||
name: admin
|
||||
selector:
|
||||
app: {{ template "apigwmm.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
|
@ -3,17 +3,19 @@ clusterName: eshop-aks
|
||||
pathBase: /mobilemarketingapigw
|
||||
|
||||
image:
|
||||
repository: eshop/ocelotapigw
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
repository: envoyproxy/envoy
|
||||
tag: v1.11.1
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
adminPort: 8001
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: "/"
|
||||
ingress.kubernetes.io/rewrite-target: "/"
|
||||
tls: []
|
||||
|
||||
resources: {}
|
||||
@ -25,42 +27,19 @@ tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
# env defines the environment variables that will be declared in the pod
|
||||
env:
|
||||
urls:
|
||||
# configmap declares variables which value is taken from the config map defined in template configmap.yaml (name is name of var and key the key in configmap).
|
||||
configmap:
|
||||
- name: IdentityUrl
|
||||
key: internalurls__identity
|
||||
- name: CatalogUrlHC
|
||||
key: internalurls__catalog__hc
|
||||
- name: BasketUrlHC
|
||||
key: internalurls__basket__hc
|
||||
- name: IdentityUrlHC
|
||||
key: internalurls__identity__hc
|
||||
- name: OrderingUrlHC
|
||||
key: internalurls__ordering__hc
|
||||
- name: MarketingUrlHC
|
||||
key: internalurls__marketing__hc
|
||||
- name: PaymentUrlHC
|
||||
key: internalurls__payment__hc
|
||||
- name: LocationUrlHC
|
||||
key: internalurls__location__hc
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
values:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
value: Development
|
||||
env: {}
|
||||
|
||||
envoy:
|
||||
configPath: /etc/envoy
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
path: /liveness
|
||||
initialDelaySeconds: 10
|
||||
path: /ready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
port: 80
|
||||
port: 8001
|
||||
readiness:
|
||||
path: /hc
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 90
|
||||
path: /ready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
ocelot:
|
||||
configPath: /app/configuration
|
||||
port: 8001
|
@ -1,142 +0,0 @@
|
||||
{
|
||||
"ReRoutes": [
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "catalog",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/c/{everything}",
|
||||
"UpstreamHttpMethod": [ "GET" ]
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "basket",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/b/{everything}",
|
||||
"UpstreamHttpMethod": [],
|
||||
"AuthenticationOptions": {
|
||||
"AuthenticationProviderKey": "IdentityApiKey",
|
||||
"AllowedScopes": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "ordering",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/o/{everything}",
|
||||
"UpstreamHttpMethod": [],
|
||||
"AuthenticationOptions": {
|
||||
"AuthenticationProviderKey": "IdentityApiKey",
|
||||
"AllowedScopes": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "mobileshoppingagg",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/{everything}",
|
||||
"UpstreamHttpMethod": [ "POST", "PUT", "GET" ],
|
||||
"AuthenticationOptions": {
|
||||
"AuthenticationProviderKey": "IdentityApiKey",
|
||||
"AllowedScopes": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "ordering",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/orders-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "basket",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/basket-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "catalog",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/catalog-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "marketing",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/marketing-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "payment",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/payment-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "locations.api",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/location-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
}
|
||||
|
||||
],
|
||||
"GlobalConfiguration": {
|
||||
"RequestIdKey": "OcRequestId",
|
||||
"AdministrationPath": "/administration"
|
||||
}
|
||||
}
|
||||
|
124
k8s/helm/apigwms/envoy.yaml
Normal file
124
k8s/helm/apigwms/envoy.yaml
Normal file
@ -0,0 +1,124 @@
|
||||
admin:
|
||||
access_log_path: "/dev/null"
|
||||
address:
|
||||
socket_address:
|
||||
address: 0.0.0.0
|
||||
port_value: 8001
|
||||
static_resources:
|
||||
listeners:
|
||||
- address:
|
||||
socket_address:
|
||||
address: 0.0.0.0
|
||||
port_value: 80
|
||||
filter_chains:
|
||||
- filters:
|
||||
- name: envoy.http_connection_manager
|
||||
config:
|
||||
codec_type: auto
|
||||
stat_prefix: ingress_http
|
||||
route_config:
|
||||
name: eshop_backend_route
|
||||
virtual_hosts:
|
||||
- name: eshop_backend
|
||||
domains:
|
||||
- "*"
|
||||
routes:
|
||||
- name: "c-short"
|
||||
match:
|
||||
prefix: "/c/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/catalog-api/"
|
||||
cluster: catalog
|
||||
- name: "c-long"
|
||||
match:
|
||||
prefix: "/catalog-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: catalog
|
||||
- name: "o-short"
|
||||
match:
|
||||
prefix: "/o/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/ordering-api/"
|
||||
cluster: ordering
|
||||
- name: "o-long"
|
||||
match:
|
||||
prefix: "/ordering-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: ordering
|
||||
- name: "b-short"
|
||||
match:
|
||||
prefix: "/b/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/basket-api/"
|
||||
cluster: basket
|
||||
- name: "b-long"
|
||||
match:
|
||||
prefix: "/basket-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: basket
|
||||
- name: "agg"
|
||||
match:
|
||||
prefix: "/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/"
|
||||
cluster: shoppingagg
|
||||
http_filters:
|
||||
- name: envoy.router
|
||||
access_log:
|
||||
- name: envoy.file_access_log
|
||||
filter:
|
||||
not_health_check_filter: {}
|
||||
config:
|
||||
json_format:
|
||||
time: "%START_TIME%"
|
||||
protocol: "%PROTOCOL%"
|
||||
duration: "%DURATION%"
|
||||
request_method: "%REQ(:METHOD)%"
|
||||
request_host: "%REQ(HOST)%"
|
||||
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
|
||||
response_flags: "%RESPONSE_FLAGS%"
|
||||
route_name: "%ROUTE_NAME%"
|
||||
upstream_host: "%UPSTREAM_HOST%"
|
||||
upstream_cluster: "%UPSTREAM_CLUSTER%"
|
||||
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
|
||||
path: "/tmp/access.log"
|
||||
clusters:
|
||||
- name: shoppingagg
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: webshoppingagg
|
||||
port_value: 80
|
||||
- name: catalog
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: catalog-api
|
||||
port_value: 80
|
||||
- name: basket
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: basket-api
|
||||
port_value: 80
|
||||
- name: ordering
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: ordering-api
|
||||
port_value: 80
|
@ -1,21 +0,0 @@
|
||||
{{- $name := include "apigwms.fullname" . -}}
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "cfg-{{ $name }}"
|
||||
labels:
|
||||
app: {{ template "apigwms.name" . }}
|
||||
chart: {{ template "apigwms.chart" .}}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
internalurls__identity: http://{{ .Values.app.svc.identity }}
|
||||
internalurls__basket__hc: http://{{ .Values.app.svc.basket }}/hc
|
||||
internalurls__catalog__hc: http://{{ .Values.app.svc.catalog }}/hc
|
||||
internalurls__identity__hc: http://{{ .Values.app.svc.identity }}/hc
|
||||
internalurls__ordering__hc: http://{{ .Values.app.svc.ordering }}/hc
|
||||
internalurls__marketing__hc: http://{{ .Values.app.svc.marketing }}/hc
|
||||
internalurls__payment__hc: http://{{ .Values.app.svc.payment }}/hc
|
||||
internalurls__location__hc: http://{{ .Values.app.svc.locations }}/hc
|
||||
|
@ -1,6 +1,6 @@
|
||||
{{- $name := include "apigwms.fullname" . -}}
|
||||
{{- $cfgname := printf "%s-%s" "cfg" $name -}}
|
||||
{{- $ocelotcfgname := printf "%s-%s" "ocelot" $name -}}
|
||||
{{- $envoycfgname := printf "%s-%s" "envoy" $name -}}
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@ -22,6 +22,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "apigwms.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
@ -30,10 +34,10 @@ spec:
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: {{ $ocelotcfgname }}
|
||||
name: {{ $envoycfgname }}
|
||||
items:
|
||||
- key: configuration-mobile-shopping.json
|
||||
path: configuration.json
|
||||
- key: envoy.yaml
|
||||
path: envoy.yaml
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
{{ if .Values.probes -}}
|
||||
@ -58,10 +62,10 @@ spec:
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
image: "{{ template "fqdn-image" . }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
imagePullPolicy: IfNotPresent
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: {{ .Values.ocelot.configPath }}
|
||||
mountPath: {{ .Values.envoy.configPath }}
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: {{ include "pathBase" . }}
|
||||
@ -86,6 +90,9 @@ spec:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: admin
|
||||
containerPort: 8001
|
||||
protocol: TCP
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
|
@ -3,12 +3,12 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "ocelot-{{ $name }}"
|
||||
name: "envoy-{{ $name }}"
|
||||
labels:
|
||||
app: {{ template "apigwms.name" . }}
|
||||
chart: {{ template "apigwms.chart" .}}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
{{ (.Files.Glob "configuration-mobile-shopping.json").AsConfig | indent 2 }}
|
||||
{{ (.Files.Glob "envoy.yaml").AsConfig | indent 2 }}
|
||||
|
@ -15,6 +15,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -14,6 +14,10 @@ spec:
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: {{ .Values.service.adminPort }}
|
||||
targetPort: admin
|
||||
protocol: TCP
|
||||
name: admin
|
||||
selector:
|
||||
app: {{ template "apigwms.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
|
@ -3,17 +3,19 @@ clusterName: eshop-aks
|
||||
pathBase: /mobileshoppingapigw
|
||||
|
||||
image:
|
||||
repository: eshop/ocelotapigw
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
repository: envoyproxy/envoy
|
||||
tag: v1.11.1
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
adminPort: 8001
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: "/"
|
||||
ingress.kubernetes.io/rewrite-target: "/"
|
||||
tls: []
|
||||
|
||||
resources: {}
|
||||
@ -25,42 +27,19 @@ tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
# env defines the environment variables that will be declared in the pod
|
||||
env:
|
||||
urls:
|
||||
# configmap declares variables which value is taken from the config map defined in template configmap.yaml (name is name of var and key the key in configmap).
|
||||
configmap:
|
||||
- name: IdentityUrl
|
||||
key: internalurls__identity
|
||||
- name: CatalogUrlHC
|
||||
key: internalurls__catalog__hc
|
||||
- name: BasketUrlHC
|
||||
key: internalurls__basket__hc
|
||||
- name: IdentityUrlHC
|
||||
key: internalurls__identity__hc
|
||||
- name: OrderingUrlHC
|
||||
key: internalurls__ordering__hc
|
||||
- name: MarketingUrlHC
|
||||
key: internalurls__marketing__hc
|
||||
- name: PaymentUrlHC
|
||||
key: internalurls__payment__hc
|
||||
- name: LocationUrlHC
|
||||
key: internalurls__location__hc
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
values:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
value: Development
|
||||
env: {}
|
||||
|
||||
envoy:
|
||||
configPath: /etc/envoy
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
path: /liveness
|
||||
initialDelaySeconds: 10
|
||||
path: /ready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
port: 80
|
||||
port: 8001
|
||||
readiness:
|
||||
path: /hc
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 90
|
||||
path: /ready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
ocelot:
|
||||
configPath: /app/configuration
|
||||
port: 8001
|
@ -1,34 +0,0 @@
|
||||
{
|
||||
"ReRoutes": [
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "marketing",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/m/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "locations",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/l/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
}
|
||||
|
||||
],
|
||||
"GlobalConfiguration": {
|
||||
"RequestIdKey": "OcRequestId",
|
||||
"AdministrationPath": "/administration"
|
||||
}
|
||||
}
|
||||
|
75
k8s/helm/apigwwm/envoy.yaml
Normal file
75
k8s/helm/apigwwm/envoy.yaml
Normal file
@ -0,0 +1,75 @@
|
||||
admin:
|
||||
access_log_path: "/dev/null"
|
||||
address:
|
||||
socket_address:
|
||||
address: 0.0.0.0
|
||||
port_value: 8001
|
||||
static_resources:
|
||||
listeners:
|
||||
- address:
|
||||
socket_address:
|
||||
address: 0.0.0.0
|
||||
port_value: 80
|
||||
filter_chains:
|
||||
- filters:
|
||||
- name: envoy.http_connection_manager
|
||||
config:
|
||||
codec_type: auto
|
||||
stat_prefix: ingress_http
|
||||
route_config:
|
||||
name: eshop_backend_route
|
||||
virtual_hosts:
|
||||
- name: eshop_backend
|
||||
domains:
|
||||
- "*"
|
||||
routes:
|
||||
- name: "m-short"
|
||||
match:
|
||||
prefix: "/m/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/marketing-api/"
|
||||
cluster: marketing
|
||||
- name: "m-long"
|
||||
match:
|
||||
prefix: "/marketing-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: marketing
|
||||
http_filters:
|
||||
- name: envoy.router
|
||||
access_log:
|
||||
- name: envoy.file_access_log
|
||||
filter:
|
||||
not_health_check_filter: {}
|
||||
config:
|
||||
json_format:
|
||||
time: "%START_TIME%"
|
||||
protocol: "%PROTOCOL%"
|
||||
duration: "%DURATION%"
|
||||
request_method: "%REQ(:METHOD)%"
|
||||
request_host: "%REQ(HOST)%"
|
||||
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
|
||||
response_flags: "%RESPONSE_FLAGS%"
|
||||
route_name: "%ROUTE_NAME%"
|
||||
upstream_host: "%UPSTREAM_HOST%"
|
||||
upstream_cluster: "%UPSTREAM_CLUSTER%"
|
||||
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
|
||||
path: "/tmp/access.log"
|
||||
clusters:
|
||||
- name: marketing
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: marketing-api
|
||||
port_value: 80
|
||||
- name: locations
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: locations-api
|
||||
port_value: 80
|
@ -1,21 +0,0 @@
|
||||
{{- $name := include "apigwwm.fullname" . -}}
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "cfg-{{ $name }}"
|
||||
labels:
|
||||
app: {{ template "apigwwm.name" . }}
|
||||
chart: {{ template "apigwwm.chart" .}}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
internalurls__identity: http://{{ .Values.app.svc.identity }}
|
||||
internalurls__basket__hc: http://{{ .Values.app.svc.basket }}/hc
|
||||
internalurls__catalog__hc: http://{{ .Values.app.svc.catalog }}/hc
|
||||
internalurls__identity__hc: http://{{ .Values.app.svc.identity }}/hc
|
||||
internalurls__ordering__hc: http://{{ .Values.app.svc.ordering }}/hc
|
||||
internalurls__marketing__hc: http://{{ .Values.app.svc.marketing }}/hc
|
||||
internalurls__payment__hc: http://{{ .Values.app.svc.payment }}/hc
|
||||
internalurls__location__hc: http://{{ .Values.app.svc.locations }}/hc
|
||||
|
@ -1,6 +1,6 @@
|
||||
{{- $name := include "apigwwm.fullname" . -}}
|
||||
{{- $cfgname := printf "%s-%s" "cfg" $name -}}
|
||||
{{- $ocelotcfgname := printf "%s-%s" "ocelot" $name -}}
|
||||
{{- $envoycfgname := printf "%s-%s" "envoy" $name -}}
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@ -22,6 +22,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "apigwwm.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
@ -30,10 +34,10 @@ spec:
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: {{ $ocelotcfgname }}
|
||||
name: {{ $envoycfgname }}
|
||||
items:
|
||||
- key: configuration-web-marketing.json
|
||||
path: configuration.json
|
||||
- key: envoy.yaml
|
||||
path: envoy.yaml
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
{{ if .Values.probes -}}
|
||||
@ -58,10 +62,10 @@ spec:
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
image: "{{ template "fqdn-image" . }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
imagePullPolicy: IfNotPresent
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: {{ .Values.ocelot.configPath }}
|
||||
mountPath: {{ .Values.envoy.configPath }}
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: {{ include "pathBase" . }}
|
||||
@ -86,6 +90,9 @@ spec:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: admin
|
||||
containerPort: 8001
|
||||
protocol: TCP
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
|
@ -3,12 +3,12 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "ocelot-{{ $name }}"
|
||||
name: "envoy-{{ $name }}"
|
||||
labels:
|
||||
app: {{ template "apigwwm.name" . }}
|
||||
chart: {{ template "apigwwm.chart" .}}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
{{ (.Files.Glob "configuration-web-marketing.json").AsConfig | indent 2 -}}
|
||||
{{ (.Files.Glob "envoy.yaml").AsConfig | indent 2 -}}
|
||||
|
@ -15,6 +15,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -14,6 +14,10 @@ spec:
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: {{ .Values.service.adminPort }}
|
||||
targetPort: admin
|
||||
protocol: TCP
|
||||
name: admin
|
||||
selector:
|
||||
app: {{ template "apigwwm.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
|
@ -3,17 +3,19 @@ clusterName: eshop-aks
|
||||
pathBase: /webmarketingapigw
|
||||
|
||||
image:
|
||||
repository: eshop/ocelotapigw
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
repository: envoyproxy/envoy
|
||||
tag: v1.11.1
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
adminPort: 8001
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: "/"
|
||||
ingress.kubernetes.io/rewrite-target: "/"
|
||||
tls: []
|
||||
|
||||
resources: {}
|
||||
@ -26,41 +28,19 @@ tolerations: []
|
||||
affinity: {}
|
||||
|
||||
# env defines the environment variables that will be declared in the pod
|
||||
env:
|
||||
urls:
|
||||
# configmap declares variables which value is taken from the config map defined in template configmap.yaml (name is name of var and key the key in configmap).
|
||||
configmap:
|
||||
- name: IdentityUrl
|
||||
key: internalurls__identity
|
||||
- name: CatalogUrlHC
|
||||
key: internalurls__catalog__hc
|
||||
- name: BasketUrlHC
|
||||
key: internalurls__basket__hc
|
||||
- name: IdentityUrlHC
|
||||
key: internalurls__identity__hc
|
||||
- name: OrderingUrlHC
|
||||
key: internalurls__ordering__hc
|
||||
- name: MarketingUrlHC
|
||||
key: internalurls__marketing__hc
|
||||
- name: PaymentUrlHC
|
||||
key: internalurls__payment__hc
|
||||
- name: LocationUrlHC
|
||||
key: internalurls__location__hc
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
values:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
value: Development
|
||||
env: {}
|
||||
|
||||
envoy:
|
||||
configPath: /etc/envoy
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
path: /liveness
|
||||
initialDelaySeconds: 10
|
||||
path: /ready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
port: 80
|
||||
port: 8001
|
||||
readiness:
|
||||
path: /hc
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 90
|
||||
path: /ready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
ocelot:
|
||||
configPath: /app/configuration
|
||||
port: 8001
|
@ -1,154 +0,0 @@
|
||||
{
|
||||
"ReRoutes": [
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "catalog",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/c/{everything}",
|
||||
"UpstreamHttpMethod": [ "GET" ]
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "basket",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/b/{everything}",
|
||||
"UpstreamHttpMethod": [],
|
||||
"AuthenticationOptions": {
|
||||
"AuthenticationProviderKey": "IdentityApiKey",
|
||||
"AllowedScopes": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/api/{version}/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "ordering",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/api/{version}/o/{everything}",
|
||||
"UpstreamHttpMethod": [],
|
||||
"AuthenticationOptions": {
|
||||
"AuthenticationProviderKey": "IdentityApiKey",
|
||||
"AllowedScopes": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "webshoppingagg",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/{everything}",
|
||||
"UpstreamHttpMethod": [ "POST", "PUT", "GET" ],
|
||||
"AuthenticationOptions": {
|
||||
"AuthenticationProviderKey": "IdentityApiKey",
|
||||
"AllowedScopes": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "ordering",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/orders-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "ordering-signalrhub",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/hub/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "basket",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/basket-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "catalog",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/catalog-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "marketing",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/marketing-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "payment",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/payment-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
},
|
||||
{
|
||||
"DownstreamPathTemplate": "/{everything}",
|
||||
"DownstreamScheme": "http",
|
||||
"DownstreamHostAndPorts": [
|
||||
{
|
||||
"Host": "locations.api",
|
||||
"Port": 80
|
||||
}
|
||||
],
|
||||
"UpstreamPathTemplate": "/location-api/{everything}",
|
||||
"UpstreamHttpMethod": []
|
||||
}
|
||||
|
||||
],
|
||||
"GlobalConfiguration": {
|
||||
"RequestIdKey": "OcRequestId",
|
||||
"AdministrationPath": "/administration"
|
||||
}
|
||||
}
|
||||
|
124
k8s/helm/apigwws/envoy.yaml
Normal file
124
k8s/helm/apigwws/envoy.yaml
Normal file
@ -0,0 +1,124 @@
|
||||
admin:
|
||||
access_log_path: "/dev/null"
|
||||
address:
|
||||
socket_address:
|
||||
address: 0.0.0.0
|
||||
port_value: 8001
|
||||
static_resources:
|
||||
listeners:
|
||||
- address:
|
||||
socket_address:
|
||||
address: 0.0.0.0
|
||||
port_value: 80
|
||||
filter_chains:
|
||||
- filters:
|
||||
- name: envoy.http_connection_manager
|
||||
config:
|
||||
codec_type: auto
|
||||
stat_prefix: ingress_http
|
||||
route_config:
|
||||
name: eshop_backend_route
|
||||
virtual_hosts:
|
||||
- name: eshop_backend
|
||||
domains:
|
||||
- "*"
|
||||
routes:
|
||||
- name: "c-short"
|
||||
match:
|
||||
prefix: "/c/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/catalog-api/"
|
||||
cluster: catalog
|
||||
- name: "c-long"
|
||||
match:
|
||||
prefix: "/catalog-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: catalog
|
||||
- name: "o-short"
|
||||
match:
|
||||
prefix: "/o/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/ordering-api/"
|
||||
cluster: ordering
|
||||
- name: "o-long"
|
||||
match:
|
||||
prefix: "/ordering-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: ordering
|
||||
- name: "b-short"
|
||||
match:
|
||||
prefix: "/b/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/basket-api/"
|
||||
cluster: basket
|
||||
- name: "b-long"
|
||||
match:
|
||||
prefix: "/basket-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: basket
|
||||
- name: "agg"
|
||||
match:
|
||||
prefix: "/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/"
|
||||
cluster: shoppingagg
|
||||
http_filters:
|
||||
- name: envoy.router
|
||||
access_log:
|
||||
- name: envoy.file_access_log
|
||||
filter:
|
||||
not_health_check_filter: {}
|
||||
config:
|
||||
json_format:
|
||||
time: "%START_TIME%"
|
||||
protocol: "%PROTOCOL%"
|
||||
duration: "%DURATION%"
|
||||
request_method: "%REQ(:METHOD)%"
|
||||
request_host: "%REQ(HOST)%"
|
||||
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
|
||||
response_flags: "%RESPONSE_FLAGS%"
|
||||
route_name: "%ROUTE_NAME%"
|
||||
upstream_host: "%UPSTREAM_HOST%"
|
||||
upstream_cluster: "%UPSTREAM_CLUSTER%"
|
||||
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
|
||||
path: "/tmp/access.log"
|
||||
clusters:
|
||||
- name: shoppingagg
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: webshoppingagg
|
||||
port_value: 80
|
||||
- name: catalog
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: catalog-api
|
||||
port_value: 80
|
||||
- name: basket
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: basket-api
|
||||
port_value: 80
|
||||
- name: ordering
|
||||
connect_timeout: 0.25s
|
||||
type: strict_dns
|
||||
lb_policy: round_robin
|
||||
hosts:
|
||||
- socket_address:
|
||||
address: ordering-api
|
||||
port_value: 80
|
@ -1,21 +0,0 @@
|
||||
{{- $name := include "apigwws.fullname" . -}}
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "cfg-{{ $name }}"
|
||||
labels:
|
||||
app: {{ template "apigwws.name" . }}
|
||||
chart: {{ template "apigwws.chart" .}}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
internalurls__identity: http://{{ .Values.app.svc.identity }}
|
||||
internalurls__basket__hc: http://{{ .Values.app.svc.basket }}/hc
|
||||
internalurls__catalog__hc: http://{{ .Values.app.svc.catalog }}/hc
|
||||
internalurls__identity__hc: http://{{ .Values.app.svc.identity }}/hc
|
||||
internalurls__ordering__hc: http://{{ .Values.app.svc.ordering }}/hc
|
||||
internalurls__marketing__hc: http://{{ .Values.app.svc.marketing }}/hc
|
||||
internalurls__payment__hc: http://{{ .Values.app.svc.payment }}/hc
|
||||
internalurls__location__hc: http://{{ .Values.app.svc.locations }}/hc
|
||||
|
@ -1,6 +1,6 @@
|
||||
{{- $name := include "apigwws.fullname" . -}}
|
||||
{{- $cfgname := printf "%s-%s" "cfg" $name -}}
|
||||
{{- $ocelotcfgname := printf "%s-%s" "ocelot" $name -}}
|
||||
{{- $envoycfgname := printf "%s-%s" "envoy" $name -}}
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "apigwws.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
@ -29,10 +33,10 @@ spec:
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: {{ $ocelotcfgname }}
|
||||
name: {{ $envoycfgname }}
|
||||
items:
|
||||
- key: configuration-web-shopping.json
|
||||
path: configuration.json
|
||||
- key: envoy.yaml
|
||||
path: envoy.yaml
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
{{ if .Values.probes -}}
|
||||
@ -60,7 +64,7 @@ spec:
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: {{ .Values.ocelot.configPath }}
|
||||
mountPath: {{ .Values.envoy.configPath }}
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: {{ include "pathBase" . }}
|
||||
@ -85,6 +89,9 @@ spec:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: admin
|
||||
containerPort: 8001
|
||||
protocol: TCP
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
|
@ -3,12 +3,12 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "ocelot-{{ $name }}"
|
||||
name: "envoy-{{ $name }}"
|
||||
labels:
|
||||
app: {{ template "apigwws.name" . }}
|
||||
chart: {{ template "apigwws.chart" .}}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
{{ (.Files.Glob "configuration-web-shopping.json").AsConfig | indent 2 }}
|
||||
{{ (.Files.Glob "envoy.yaml").AsConfig | indent 2 }}
|
||||
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -14,6 +14,10 @@ spec:
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: {{ .Values.service.adminPort }}
|
||||
targetPort: admin
|
||||
protocol: TCP
|
||||
name: admin
|
||||
selector:
|
||||
app: {{ template "apigwws.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
|
@ -3,17 +3,19 @@ clusterName: eshop-aks
|
||||
pathBase: /webshoppingapigw
|
||||
|
||||
image:
|
||||
repository: eshop/ocelotapigw
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
repository: envoyproxy/envoy
|
||||
tag: v1.11.1
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
adminPort: 8001
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: "/"
|
||||
ingress.kubernetes.io/rewrite-target: "/"
|
||||
tls: []
|
||||
|
||||
resources: {}
|
||||
@ -26,41 +28,19 @@ tolerations: []
|
||||
affinity: {}
|
||||
|
||||
# env defines the environment variables that will be declared in the pod
|
||||
env:
|
||||
urls:
|
||||
# configmap declares variables which value is taken from the config map defined in template configmap.yaml (name is name of var and key the key in configmap).
|
||||
configmap:
|
||||
- name: IdentityUrl
|
||||
key: internalurls__identity
|
||||
- name: CatalogUrlHC
|
||||
key: internalurls__catalog__hc
|
||||
- name: BasketUrlHC
|
||||
key: internalurls__basket__hc
|
||||
- name: IdentityUrlHC
|
||||
key: internalurls__identity__hc
|
||||
- name: OrderingUrlHC
|
||||
key: internalurls__ordering__hc
|
||||
- name: MarketingUrlHC
|
||||
key: internalurls__marketing__hc
|
||||
- name: PaymentUrlHC
|
||||
key: internalurls__payment__hc
|
||||
- name: LocationUrlHC
|
||||
key: internalurls__location__hc
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
values:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
value: Development
|
||||
env: {}
|
||||
|
||||
envoy:
|
||||
configPath: /etc/envoy
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
path: /liveness
|
||||
initialDelaySeconds: 10
|
||||
path: /ready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
port: 80
|
||||
port: 8001
|
||||
readiness:
|
||||
path: /hc
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 90
|
||||
path: /ready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
ocelot:
|
||||
configPath: /app/configuration
|
||||
port: 8001
|
@ -25,12 +25,12 @@ app: # app global settings
|
||||
webhooks: webhooks-api # ingress entry for webhooks api
|
||||
webhooksweb: webhooks-web # ingress entry for webhooks web demo client
|
||||
svc:
|
||||
basket: basket # service name for basket api
|
||||
catalog: catalog # service name for catalog api
|
||||
ordering: ordering # service name for ordering api
|
||||
orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks
|
||||
basket: basket-api # service name for basket api
|
||||
catalog: catalog-api # service name for catalog api
|
||||
ordering: ordering-api # service name for ordering api
|
||||
orderingbackgroundtasks: ordering-backgroundtasks # service name for orderingbackgroundtasks
|
||||
orderingsignalrhub: ordering-signalrhub # service name for orderingsignalrhub
|
||||
identity: identity # service name for identity api
|
||||
identity: identity-api # service name for identity api
|
||||
mvc: webmvc # service name for web mvc
|
||||
spa: webspa # service name for web spa
|
||||
status: webstatus # service name for web status
|
||||
@ -40,8 +40,8 @@ app: # app global settings
|
||||
mobileshoppingapigw: mobileshoppingapigw # service name for mobile shopping Agw
|
||||
webshoppingagg: webshoppingagg # service name for web shopping aggregator
|
||||
mobileshoppingagg: mobileshoppingagg # service name for mobile shopping aggregator
|
||||
payment: payment # service name for payment api
|
||||
locations: locations # service name for locations api
|
||||
marketing: marketing # service name for marketing ap
|
||||
webhooks: webhooks # service name for webhooks api
|
||||
webhooksweb: webhooksweb # service name for webhooks web
|
||||
payment: payment-api # service name for payment api
|
||||
locations: locations-api # service name for locations api
|
||||
marketing: marketing-api # service name for marketing ap
|
||||
webhooks: webhooks-api # service name for webhooks api
|
||||
webhooksweb: webhooks-client # service name for webhooks web
|
||||
|
@ -1,5 +1,4 @@
|
||||
{{- $name := include "basket-api.fullname" . -}}
|
||||
{{- $identity := include "url-of" (list .Values.app.ingress.entries.identity .) -}}
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
@ -12,7 +11,7 @@ metadata:
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
basket__ConnectionString: {{ .Values.inf.redis.basket.constr }}
|
||||
urls__IdentityUrl: http://{{ $identity }}
|
||||
urls__IdentityUrl: http://{{ .Values.app.svc.identity }}
|
||||
basket__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "basket-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
@ -75,6 +79,9 @@ spec:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: grpc
|
||||
containerPort: 81
|
||||
protocol: TCP
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
|
@ -15,6 +15,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -14,6 +14,10 @@ spec:
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: {{ .Values.service.grpcPort }}
|
||||
targetPort: grpc
|
||||
protocol: TCP
|
||||
name: grpc
|
||||
selector:
|
||||
app: {{ template "basket-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
|
@ -10,6 +10,7 @@ image:
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
grpcPort: 81
|
||||
|
||||
resources: {}
|
||||
|
||||
@ -41,6 +42,10 @@ env:
|
||||
values:
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
- name: PORT
|
||||
value: "80"
|
||||
- name: GRPC_PORT
|
||||
value: "81"
|
||||
probes:
|
||||
liveness:
|
||||
path: /liveness
|
||||
|
@ -13,7 +13,7 @@ metadata:
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
catalog__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.catalog.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
||||
catalog__PicBaseUrl: http://{{ $webshoppingapigw }}/api/v1/c/catalog/items/[0]/pic/
|
||||
catalog__PicBaseUrl: http://{{ $webshoppingapigw }}/c/api/v1/catalog/items/[0]/pic/
|
||||
catalog__AzureStorageEnabled: "{{ .Values.inf.misc.useAzureStorage }}"
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "catalog-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
@ -75,6 +79,9 @@ spec:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: grpc
|
||||
containerPort: 81
|
||||
protocol: TCP
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
|
@ -15,6 +15,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -14,6 +14,10 @@ spec:
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: {{ .Values.service.grpcPort }}
|
||||
targetPort: grpc
|
||||
protocol: TCP
|
||||
name: grpc
|
||||
selector:
|
||||
app: {{ template "catalog-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
|
@ -10,7 +10,7 @@ image:
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
|
||||
grpcPort: 81
|
||||
|
||||
resources: {}
|
||||
|
||||
@ -44,6 +44,10 @@ env:
|
||||
value: Development
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
- name: PORT
|
||||
value: "80"
|
||||
- name: GRPC_PORT
|
||||
value: "81"
|
||||
probes:
|
||||
liveness:
|
||||
path: /liveness
|
||||
|
@ -11,7 +11,10 @@ Param(
|
||||
[parameter(Mandatory=$false)][string]$aksRg="",
|
||||
[parameter(Mandatory=$false)][string]$imageTag="latest",
|
||||
[parameter(Mandatory=$false)][bool]$useLocalk8s=$false,
|
||||
[parameter(Mandatory=$false)][bool]$useLocalImages=$false
|
||||
[parameter(Mandatory=$false)][bool]$useMesh=$false,
|
||||
[parameter(Mandatory=$false)][string][ValidateSet('Always','IfNotPresent','Never', IgnoreCase=$false)]$imagePullPolicy="Always",
|
||||
[parameter(Mandatory=$false)][string]$chartsToDeploy="*",
|
||||
[parameter(Mandatory=$false)][string]$ingressMeshAnnotationsFile="ingress_values_linkerd.yaml"
|
||||
)
|
||||
|
||||
$dns = $externalDns
|
||||
@ -23,12 +26,6 @@ if ($useLocalk8s -eq $true) {
|
||||
$dns="localhost"
|
||||
}
|
||||
|
||||
$pullPolicy = "Always"
|
||||
|
||||
if ($useLocalImages -eq $true) {
|
||||
$pullPolicy = "IfNotPresent"
|
||||
}
|
||||
|
||||
if ($externalDns -eq "aks") {
|
||||
if ([string]::IsNullOrEmpty($aksName) -or [string]::IsNullOrEmpty($aksRg)) {
|
||||
Write-Host "Error: When using -dns aks, MUST set -aksName and -aksRg too." -ForegroundColor Red
|
||||
@ -69,7 +66,8 @@ if (-not [string]::IsNullOrEmpty($registry)) {
|
||||
Write-Host "Begin eShopOnContainers installation using Helm" -ForegroundColor Green
|
||||
|
||||
$infras = ("sql-data", "nosql-data", "rabbitmq", "keystore-data", "basket-data")
|
||||
$charts = ("eshop-common", "apigwmm", "apigwms", "apigwwm", "apigwws", "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")
|
||||
$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")
|
||||
$gateways = ("apigwmm", "apigwms", "apigwwm", "apigwws")
|
||||
|
||||
if ($deployInfrastructure) {
|
||||
foreach ($infra in $infras) {
|
||||
@ -83,14 +81,23 @@ else {
|
||||
|
||||
if ($deployCharts) {
|
||||
foreach ($chart in $charts) {
|
||||
Write-Host "Installing: $chart" -ForegroundColor Green
|
||||
if ($useCustomRegistry) {
|
||||
helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
||||
}
|
||||
else {
|
||||
if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed
|
||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=$pullPolicy --name="$appName-$chart" $chart
|
||||
if ($chartsToDeploy -eq "*" -or $chartsToDeploy.Contains($chart)) {
|
||||
Write-Host "Installing: $chart" -ForegroundColor Green
|
||||
if ($useCustomRegistry) {
|
||||
helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --values $ingressMeshAnnotationsFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=$imagePullPolicy --set inf.mesh.enabled=$useMesh --set inf.k8s.local=$useLocalk8s --name="$appName-$chart" $chart
|
||||
}
|
||||
else {
|
||||
if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed
|
||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --values $ingressMeshAnnotationsFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=$imagePullPolicy --set inf.mesh.enabled=$useMesh --set inf.k8s.local=$useLocalk8s --name="$appName-$chart" $chart
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($chart in $gateways) {
|
||||
if ($chartsToDeploy -eq "*" -or $chartsToDeploy.Contains($chart)) {
|
||||
Write-Host "Installing Api Gateway Chart: $chart" -ForegroundColor Green
|
||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --values $ingressMeshAnnotationsFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.pullPolicy=$imagePullPolicy --set inf.mesh.enabled=$useMesh --name="$appName-$chart" $chart
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "identity-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
33
k8s/helm/identity-api/templates/ingress-dockerk8s.yaml
Normal file
33
k8s/helm/identity-api/templates/ingress-dockerk8s.yaml
Normal file
@ -0,0 +1,33 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- if .Values.inf.k8s.local -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.identity }}
|
||||
{{- $name := include "identity-api.fullname" . -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $name }}-local
|
||||
labels:
|
||||
app: {{ template "identity-api.name" . }}
|
||||
chart: {{ template "identity-api.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
rules:
|
||||
- http:
|
||||
paths:
|
||||
- backend:
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
path: {{ $ingressPath }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -2,6 +2,8 @@
|
||||
# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment
|
||||
|
||||
inf:
|
||||
mesh:
|
||||
enabled: true
|
||||
sql: # inf.sql defines the sql server databases & logins
|
||||
# host: my-sql-server # Uncomment to specify a custom sql-server to be used. By default "sql-data-<appname>" will be used
|
||||
common:
|
||||
@ -39,6 +41,7 @@ inf:
|
||||
key: "" # App insights to use
|
||||
k8s: # inf.k8s defines Kubernetes cluster global config
|
||||
dns: "" # k8s external DNS. This value or ip value MUST BE PROVIDED
|
||||
local: false # True when deploying on "local K8s" provided by Docker Desktop.
|
||||
misc: # inf.misc contains miscellaneous configuration related to infrastructure
|
||||
useLoadTest: false # If running under loading test or not
|
||||
useAzureStorage: false # If catalog api uses azure storage or not
|
||||
|
@ -1,5 +1,8 @@
|
||||
# This file contains common ingress annotations when using AKS with Http Application Routing
|
||||
|
||||
ingress:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: addon-http-application-routing
|
||||
ingress.kubernetes.io/ssl-redirect: "false"
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
# This file contains common ingress annotations when using Kubernetes included in Docker Desktop
|
||||
|
||||
ingress:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
|
16
k8s/helm/ingress_values_linkerd.yaml
Normal file
16
k8s/helm/ingress_values_linkerd.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
# This file contains extra annotations to make Linkerd work with ingress.
|
||||
# ingress.mesh.annotations are inserted into ingress.annotations of the resource being generated, if mesh is deployed
|
||||
#
|
||||
# It is designed to work with NGINX ingress controller or the Http Application Routing
|
||||
#
|
||||
# Check https://linkerd.io/2/tasks/using-ingress/ for more info or other ingress controllers
|
||||
#
|
||||
# If using your custom file, use -ingressMeshAnnotationsFile parameter in deploy-all.ps1
|
||||
|
||||
ingress:
|
||||
mesh:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/configuration-snippet: |
|
||||
proxy_set_header l5d-dst-override $service_name.$namespace.svc.cluster.local:$service_port;
|
||||
proxy_hide_header l5d-remote-ip;
|
||||
proxy_hide_header l5d-server-id;
|
@ -173,7 +173,7 @@ The file `inf.yaml` contains the description of the infrastructure used. File is
|
||||
Using Azure storage for catalog (and marketing) photos is not directly supported, but you can accomplish it by editing the file `k8s/helm/catalog-api/templates/configmap.yaml`. Search for lines:
|
||||
|
||||
```
|
||||
catalog__PicBaseUrl: http://{{ $webshoppingapigw }}/api/v1/c/catalog/items/[0]/pic/
|
||||
catalog__PicBaseUrl: http://{{ $webshoppingapigw }}/c/api/v1/catalog/items/[0]/pic/
|
||||
```
|
||||
|
||||
And replace it for:
|
||||
@ -185,7 +185,7 @@ catalog__PicBaseUrl: http://<url-of-the-storage>/
|
||||
In the same way, to use Azure storage for the marketing service, have to edit the file `k8s/helm/marketing-api/templates/configmap.yaml` and replacing the line:
|
||||
|
||||
```
|
||||
marketing__PicBaseUrl: http://{{ $webshoppingapigw }}/api/v1/c/catalog/items/[0]/pic/
|
||||
marketing__PicBaseUrl: http://{{ $webshoppingapigw }}/c/api/v1/catalog/items/[0]/pic/
|
||||
```
|
||||
|
||||
by:
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "locations-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -23,4 +23,4 @@ data:
|
||||
marketing__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.marketing.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
||||
marketing__MongoConnectionString: mongodb://{{ $mongo }}
|
||||
marketing__MongoDatabase: {{ .Values.inf.mongo.marketing.database }}
|
||||
marketing__PicBaseUrl: http://{{ $webshoppingapigw }}/api/v1/c/catalog/items/[0]/pic/
|
||||
marketing__PicBaseUrl: http://{{ $webshoppingapigw }}/c/api/v1/catalog/items/[0]/pic/
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "marketing-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -24,3 +24,6 @@ data:
|
||||
internalurls__marketing__hc: http://{{ .Values.app.svc.marketing }}/hc
|
||||
internalurls__payment__hc: http://{{ .Values.app.svc.payment }}/hc
|
||||
internalurls__location__hc: http://{{ .Values.app.svc.locations }}/hc
|
||||
internalurls__grpcBasket: "http://{{ .Values.app.svc.basket }}:{{ .Values.service.grpcPort }}"
|
||||
internalurls__grpcCatalog: "http://{{ .Values.app.svc.catalog }}:{{ .Values.service.grpcPort }}"
|
||||
internalurls__grpcOrdering: "http://{{ .Values.app.svc.ordering }}:{{ .Values.service.grpcPort }}"
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "mobileshoppingagg.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -10,6 +10,7 @@ image:
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
grpcPort: 81
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
@ -54,6 +55,12 @@ env:
|
||||
key: internalurls__payment__hc
|
||||
- name: LocationUrlHC
|
||||
key: internalurls__location__hc
|
||||
- name: urls__grpcBasket
|
||||
key: internalurls__grpcBasket
|
||||
- name: urls__grpcCatalog
|
||||
key: internalurls__grpcCatalog
|
||||
- name: urls__grpcOrdering
|
||||
key: internalurls__grpcOrdering
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
values:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
|
@ -1,6 +1,5 @@
|
||||
{{- $name := include "ordering-api.fullname" . -}}
|
||||
{{- $sqlsrv := include "sql-name" . -}}
|
||||
{{- $identity := include "url-of" (list .Values.app.ingress.entries.identity .) -}}
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
@ -14,7 +13,7 @@ metadata:
|
||||
data:
|
||||
ordering__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.ordering.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
||||
ordering__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
urls__IdentityUrl: http://{{ $identity }}
|
||||
urls__IdentityUrl: http://{{ .Values.app.svc.identity }}
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "ordering-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
@ -75,6 +79,9 @@ spec:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: grpc
|
||||
containerPort: 81
|
||||
protocol: TCP
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
|
@ -14,6 +14,10 @@ spec:
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
- port: {{ .Values.service.grpcPort }}
|
||||
targetPort: grpc
|
||||
protocol: TCP
|
||||
name: grpc
|
||||
selector:
|
||||
app: {{ template "ordering-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
|
@ -10,6 +10,7 @@ image:
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
grpcPort: 81
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
@ -50,6 +51,10 @@ env:
|
||||
value: Development
|
||||
- name: OrchestratorType
|
||||
value: 'K8S'
|
||||
- name: PORT
|
||||
value: "80"
|
||||
- name: GRPC_PORT
|
||||
value: "81"
|
||||
probes:
|
||||
liveness:
|
||||
path: /liveness
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "payment-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "webhooks-api.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "webhooks-web.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -3,7 +3,6 @@
|
||||
{{- $webshoppingapigw := include "url-of" (list .Values.app.ingress.entries.webshoppingapigw .) -}}
|
||||
{{- $mvc := include "url-of" (list .Values.app.ingress.entries.mvc .) -}}
|
||||
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
@ -20,9 +19,7 @@ data:
|
||||
webmvc__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||
internalurls__apigwws: http://{{ .Values.app.svc.webshoppingapigw }}
|
||||
internalurls__apigwwm: http://{{ .Values.app.svc.webmarketingapigw }}
|
||||
internalurls__apigwws__hc: http://{{ .Values.app.svc.webshoppingapigw }}/hc
|
||||
internalurls__identity__hc: http://{{ .Values.app.svc.identity }}/hc
|
||||
internalurls__apigwwm__hc: http://{{ .Values.app.svc.webmarketingapigw }}/hc
|
||||
urls__apigwws: http://{{ $webshoppingapigw }}
|
||||
urls__mvc: http://{{ $mvc }}
|
||||
urls__IdentityUrl: http://{{ $identity }}
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "webmvc.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
33
k8s/helm/webmvc/templates/ingress-dockerk8s.yaml
Normal file
33
k8s/helm/webmvc/templates/ingress-dockerk8s.yaml
Normal file
@ -0,0 +1,33 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- if .Values.inf.k8s.local -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.mvc }}
|
||||
{{- $name := include "webmvc.fullname" . -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $name }}-local
|
||||
labels:
|
||||
app: {{ template "webmvc.name" . }}
|
||||
chart: {{ template "webmvc.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
rules:
|
||||
- http:
|
||||
paths:
|
||||
- backend:
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
path: {{ $ingressPath }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -46,12 +46,8 @@ env:
|
||||
key: urls__IdentityUrl
|
||||
- name: MarketingUrl
|
||||
key: internalurls__apigwwm
|
||||
- name: PurchaseUrlHC
|
||||
key: internalurls__apigwws__hc
|
||||
- name: IdentityUrlHC
|
||||
key: internalurls__identity__hc
|
||||
- name: MarketingUrlHC
|
||||
key: internalurls__apigwwm__hc
|
||||
- name: SignalrHubUrl
|
||||
key: urls__apigwws
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
|
@ -24,3 +24,6 @@ data:
|
||||
internalurls__marketing__hc: http://{{ .Values.app.svc.marketing }}/hc
|
||||
internalurls__payment__hc: http://{{ .Values.app.svc.payment }}/hc
|
||||
internalurls__location__hc: http://{{ .Values.app.svc.locations }}/hc
|
||||
internalurls__grpcBasket: "http://{{ .Values.app.svc.basket }}:{{ .Values.service.grpcPort }}"
|
||||
internalurls__grpcCatalog: "http://{{ .Values.app.svc.catalog }}:{{ .Values.service.grpcPort }}"
|
||||
internalurls__grpcOrdering: "http://{{ .Values.app.svc.ordering }}:{{ .Values.service.grpcPort }}"
|
||||
|
@ -5,11 +5,10 @@ kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "webshoppingagg.fullname" . }}
|
||||
labels:
|
||||
ufo: {{ $cfgname}}
|
||||
app: {{ template "webshoppingagg.name" . }}
|
||||
chart: {{ template "webshoppingagg.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
@ -21,6 +20,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "webshoppingagg.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -10,6 +10,7 @@ image:
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
grpcPort: 81
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
@ -54,6 +55,13 @@ env:
|
||||
key: internalurls__payment__hc
|
||||
- name: LocationUrlHC
|
||||
key: internalurls__location__hc
|
||||
- name: urls__grpcBasket
|
||||
key: internalurls__grpcBasket
|
||||
- name: urls__grpcCatalog
|
||||
key: internalurls__grpcCatalog
|
||||
- name: urls__grpcOrdering
|
||||
key: internalurls__grpcOrdering
|
||||
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
values:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
|
@ -20,9 +20,7 @@ data:
|
||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
webspa__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||
internalurls__apigwws: http://{{ .Values.app.svc.webshoppingapigw }}
|
||||
internalurls__apigwws__hc: http://{{ .Values.app.svc.webshoppingapigw }}/hc
|
||||
internalurls__identity__hc: http://{{ .Values.app.svc.identity }}/hc
|
||||
internalurls__apigwwm__hc: http://{{ .Values.app.svc.webmarketingapigw }}/hc
|
||||
urls__apigwws: http://{{ $webshoppingapigw }}
|
||||
urls__spa: http://{{ $spa }}
|
||||
urls__IdentityUrl: http://{{ $identity }}
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "webspa.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -13,6 +13,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -44,12 +44,8 @@ env:
|
||||
key: urls__IdentityUrl
|
||||
- name: MarketingUrl
|
||||
key: urls__apigwwm
|
||||
- name: PurchaseUrlHC
|
||||
key: internalurls__apigwws__hc
|
||||
- name: IdentityUrlHC
|
||||
key: internalurls__identity__hc
|
||||
- name: MarketingUrlHC
|
||||
key: internalurls__apigwwm__hc
|
||||
- name: SignalrHubUrl
|
||||
key: urls__apigwws
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
|
@ -24,13 +24,13 @@ data:
|
||||
name__spa__hc: WebSPA HTTP Check
|
||||
internalurls__spa__hc: http://{{ .Values.app.svc.spa }}/hc
|
||||
name__apigwws__hc: Web Shopping API GW HTTP Check
|
||||
internalurls__apigwws__hc: http://{{ .Values.app.svc.webshoppingapigw }}/hc
|
||||
internalurls__apigwws__hc: http://{{ .Values.app.svc.webshoppingapigw }}:8001/ready
|
||||
name__apigwwm__hc: Web Marketing API GW HTTP Check
|
||||
internalurls__apigwwm__hc: http://{{ .Values.app.svc.webmarketingapigw }}/hc
|
||||
internalurls__apigwwm__hc: http://{{ .Values.app.svc.webmarketingapigw }}:8001/ready
|
||||
name__apigwms__hc: Mobile Shopping API GW HTTP Check
|
||||
internalurls__apigwms__hc: http://{{ .Values.app.svc.mobileshoppingapigw }}/hc
|
||||
internalurls__apigwms__hc: http://{{ .Values.app.svc.mobileshoppingapigw }}:8001/ready
|
||||
name__apigwmm__hc: Mobile Marketing API GW HTTP Check
|
||||
internalurls__apigwmm__hc: http://{{ .Values.app.svc.mobilemarketingapigw }}/hc
|
||||
internalurls__apigwmm__hc: http://{{ .Values.app.svc.mobilemarketingapigw }}:8001/ready
|
||||
name__apigwwsagg__hc: Web Shopping Aggregator GW HTTP Check
|
||||
internalurls__apigwwsagg__hc: http://{{ .Values.app.svc.webshoppingagg }}/hc
|
||||
name__apigwmsagg__hc: Mobile Shopping Aggregator HTTP Check
|
||||
|
@ -21,6 +21,10 @@ spec:
|
||||
labels:
|
||||
app: {{ template "webstatus.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{ if .Values.inf.mesh.enabled -}}
|
||||
annotations:
|
||||
linkerd.io/inject: enabled
|
||||
{{- end }}
|
||||
spec:
|
||||
{{ if .Values.inf.registry -}}
|
||||
imagePullSecrets:
|
||||
|
@ -14,6 +14,11 @@ metadata:
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.inf.mesh.enabled }}
|
||||
{{- with .Values.ingress.mesh.annotations }}
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
|
@ -34,74 +34,76 @@ env:
|
||||
configmap:
|
||||
- name: ApplicationInsights__InstrumentationKey
|
||||
key: all__InstrumentationKey
|
||||
- name: HealthChecksUI__HealthChecks__0__Name
|
||||
- name: HealthChecks-UI__HealthChecks__0__Name
|
||||
key: name__mvc__hc
|
||||
- name: HealthChecksUI__HealthChecks__0__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__0__Uri
|
||||
key: internalurls__mvc__hc
|
||||
- name: HealthChecksUI__HealthChecks__1__Name
|
||||
- name: HealthChecks-UI__HealthChecks__1__Name
|
||||
key: name__spa__hc
|
||||
- name: HealthChecksUI__HealthChecks__1__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__1__Uri
|
||||
key: internalurls__spa__hc
|
||||
- name: HealthChecksUI__HealthChecks__2__Name
|
||||
key: name__apigwws__hc
|
||||
- name: HealthChecksUI__HealthChecks__2__Uri
|
||||
key: internalurls__apigwws__hc
|
||||
- name: HealthChecksUI__HealthChecks__3__Name
|
||||
key: name__apigwwm__hc
|
||||
- name: HealthChecksUI__HealthChecks__3__Uri
|
||||
key: internalurls__apigwwm__hc
|
||||
- name: HealthChecksUI__HealthChecks__4__Name
|
||||
key: name__apigwms__hc
|
||||
- name: HealthChecksUI__HealthChecks__4__Uri
|
||||
key: internalurls__apigwms__hc
|
||||
- name: HealthChecksUI__HealthChecks__5__Name
|
||||
key: name__apigwmm__hc
|
||||
- name: HealthChecksUI__HealthChecks__5__Uri
|
||||
key: internalurls__apigwmm__hc
|
||||
- name: HealthChecksUI__HealthChecks__6__Name
|
||||
- name: HealthChecks-UI__HealthChecks__2__Name
|
||||
key: name__apigwwsagg__hc
|
||||
- name: HealthChecksUI__HealthChecks__6__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__2__Uri
|
||||
key: internalurls__apigwwsagg__hc
|
||||
- name: HealthChecksUI__HealthChecks__7__Name
|
||||
- name: HealthChecks-UI__HealthChecks__3__Name
|
||||
key: name__apigwmsagg__hc
|
||||
- name: HealthChecksUI__HealthChecks__7__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__3__Uri
|
||||
key: internalurls__apigwmsagg__hc
|
||||
- name: HealthChecksUI__HealthChecks__8__Name
|
||||
- name: HealthChecks-UI__HealthChecks__4__Name
|
||||
key: name__ordering__hc
|
||||
- name: HealthChecksUI__HealthChecks__8__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__4__Uri
|
||||
key: internalurls__ordering__hc
|
||||
- name: HealthChecksUI__HealthChecks__9__Name
|
||||
- name: HealthChecks-UI__HealthChecks__5__Name
|
||||
key: name__orderingbackground__hc
|
||||
- name: HealthChecksUI__HealthChecks__9__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__5__Uri
|
||||
key: internalurls__orderingbackground__hc
|
||||
- name: HealthChecksUI__HealthChecks__10__Name
|
||||
- name: HealthChecks-UI__HealthChecks__6__Name
|
||||
key: name__signalrhub__hc
|
||||
- name: HealthChecksUI__HealthChecks__10__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__6__Uri
|
||||
key: internalurls__signalrhub__hc
|
||||
- name: HealthChecksUI__HealthChecks__11__Name
|
||||
- name: HealthChecks-UI__HealthChecks__7__Name
|
||||
key: name__basket__hc
|
||||
- name: HealthChecksUI__HealthChecks__11__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__7__Uri
|
||||
key: internalurls__basket__hc
|
||||
- name: HealthChecksUI__HealthChecks__12__Name
|
||||
- name: HealthChecks-UI__HealthChecks__8__Name
|
||||
key: name__catalog__hc
|
||||
- name: HealthChecksUI__HealthChecks__12__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__8__Uri
|
||||
key: internalurls__catalog__hc
|
||||
- name: HealthChecksUI__HealthChecks__13__Name
|
||||
- name: HealthChecks-UI__HealthChecks__9__Name
|
||||
key: name__identity__hc
|
||||
- name: HealthChecksUI__HealthChecks__13__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__9__Uri
|
||||
key: internalurls__identity__hc
|
||||
- name: HealthChecksUI__HealthChecks__14__Name
|
||||
- name: HealthChecks-UI__HealthChecks__10__Name
|
||||
key: name__marketing__hc
|
||||
- name: HealthChecksUI__HealthChecks__14__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__10__Uri
|
||||
key: internalurls__marketing__hc
|
||||
- name: HealthChecksUI__HealthChecks__15__Name
|
||||
- name: HealthChecks-UI__HealthChecks__11__Name
|
||||
key: name__locations__hc
|
||||
- name: HealthChecksUI__HealthChecks__15__Uri
|
||||
- name: HealthChecks-UI__HealthChecks__11__Uri
|
||||
key: internalurls__locations__hc
|
||||
- name: HealthChecksUI__HealthChecks__16__Name
|
||||
- name: HealthChecks-UI__HealthChecks__12__Name
|
||||
key: name__payment__hc
|
||||
- name: HealthChecksUI__HealthChecks__16__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
|
||||
|
||||
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
|
||||
values:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
|
@ -1,59 +0,0 @@
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
labels:
|
||||
app: eshop
|
||||
component: frontend
|
||||
name: eshop-ingress
|
||||
annotations:
|
||||
ingress.kubernetes.io/ssl-redirect: "false"
|
||||
spec:
|
||||
rules:
|
||||
- http:
|
||||
paths:
|
||||
- path: /identity
|
||||
backend:
|
||||
serviceName: identity
|
||||
servicePort: 80
|
||||
- path: /webmvc
|
||||
backend:
|
||||
serviceName: webmvc
|
||||
servicePort: 80
|
||||
- path: /webstatus
|
||||
backend:
|
||||
serviceName: webstatus
|
||||
servicePort: 80
|
||||
- path: /webshoppingapigw
|
||||
backend:
|
||||
serviceName: ocelotapigw-ws
|
||||
servicePort: 80
|
||||
- path: /webmarketingapigw
|
||||
backend:
|
||||
serviceName: ocelotapigw-wm
|
||||
servicePort: 80
|
||||
- path: /mobilemarketingapigw
|
||||
backend:
|
||||
serviceName: ocelotapigw-mm
|
||||
servicePort: 80
|
||||
- path: /mobileshoppingapigw
|
||||
backend:
|
||||
serviceName: ocelotapigw-ms
|
||||
servicePort: 80
|
||||
- path: /webshoppingagg
|
||||
backend:
|
||||
serviceName: webshoppingagg
|
||||
servicePort: 80
|
||||
- path: /mobileshoppingagg
|
||||
backend:
|
||||
serviceName: mobileshoppingagg
|
||||
servicePort: 80
|
||||
- path: /payment-api
|
||||
backend:
|
||||
serviceName: payment
|
||||
servicePort: 80
|
||||
- path: /
|
||||
backend:
|
||||
serviceName: webspa
|
||||
servicePort: 80
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user