298 changed files with 2312 additions and 4508 deletions
@ -0,0 +1,9 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<configuration> |
||||
|
<config> |
||||
|
<add key="repositoryPath" value="packages" /> |
||||
|
</config> |
||||
|
<packageSources> |
||||
|
<add key="NuGet" value="https://api.nuget.org/v3/index.json" /> |
||||
|
</packageSources> |
||||
|
</configuration> |
||||
@ -1,3 +1,15 @@ |
|||||
FROM nginx:alpine |
FROM node:14-alpine as build |
||||
|
|
||||
WORKDIR /app |
WORKDIR /app |
||||
COPY dist/EShopOnAbp /usr/share/nginx/html |
COPY package*.json /app/ |
||||
|
|
||||
|
RUN npm install |
||||
|
COPY . /app |
||||
|
ARG configuration=production |
||||
|
RUN npm run ng build -- --output-path=dist/EShopOnAbp --configuration $configuration |
||||
|
|
||||
|
FROM nginx:alpine |
||||
|
COPY dynamic-env.json /usr/share/nginx/html |
||||
|
COPY nginx.conf /etc/nginx/conf.d/default.conf |
||||
|
|
||||
|
COPY --from=build /app/dist/EShopOnAbp/ /usr/share/nginx/html |
||||
|
|||||
@ -0,0 +1,5 @@ |
|||||
|
FROM nginx:alpine |
||||
|
WORKDIR /app |
||||
|
COPY dist/EShopOnAbp /usr/share/nginx/html |
||||
|
COPY dynamic-env.json /usr/share/nginx/html |
||||
|
COPY /nginx.conf /etc/nginx/conf.d/default.conf |
||||
@ -0,0 +1,21 @@ |
|||||
|
{ |
||||
|
"production": true, |
||||
|
"application": { |
||||
|
"baseUrl":"https://eshop-st-web", |
||||
|
"name": "EShopOnAbp", |
||||
|
"logoUrl": "" |
||||
|
}, |
||||
|
"oAuthConfig": { |
||||
|
"issuer": "https://eshop-st-authserver", |
||||
|
"redirectUri": "https://eshop-st-web", |
||||
|
"clientId": "EShopOnAbp_App", |
||||
|
"responseType": "code", |
||||
|
"scope": "offline_access openid profile email phone IdentityService AdministrationService SaasService" |
||||
|
}, |
||||
|
"apis": { |
||||
|
"default": { |
||||
|
"url": "https://eshop-st-gateway-web", |
||||
|
"rootNamespace": "EShopOnAbp" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,30 @@ |
|||||
|
server { |
||||
|
listen 80; |
||||
|
listen [::]:80; |
||||
|
server_name _; |
||||
|
|
||||
|
#access_log /var/log/nginx/host.access.log main; |
||||
|
|
||||
|
location / { |
||||
|
root /usr/share/nginx/html; |
||||
|
index index.html index.htm; |
||||
|
try_files $uri $uri/ /index.html =404; |
||||
|
} |
||||
|
|
||||
|
location /getEnvConfig { |
||||
|
default_type 'application/json'; |
||||
|
add_header 'Access-Control-Allow-Origin' '*' always; |
||||
|
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; |
||||
|
add_header 'Content-Type' 'application/json'; |
||||
|
try_files $uri /dynamic-env.json; |
||||
|
} |
||||
|
|
||||
|
#error_page 404 /404.html; |
||||
|
|
||||
|
# redirect server error pages to the static page /50x.html |
||||
|
# |
||||
|
error_page 500 502 503 504 /50x.html; |
||||
|
location = /50x.html { |
||||
|
root /usr/share/nginx/html; |
||||
|
} |
||||
|
} |
||||
@ -1,4 +1,53 @@ |
|||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
||||
COPY bin/Release/net6.0/publish/ app/ |
WORKDIR /app |
||||
WORKDIR /app |
EXPOSE 80 |
||||
ENTRYPOINT ["dotnet", "EShopOnAbp.AuthServer.dll"] |
EXPOSE 443 |
||||
|
|
||||
|
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build |
||||
|
WORKDIR /src |
||||
|
|
||||
|
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles |
||||
|
# to take advantage of Docker's build cache, to speed up local container builds |
||||
|
COPY "EShopOnAbp.sln" "EShopOnAbp.sln" |
||||
|
|
||||
|
# Applications |
||||
|
COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" |
||||
|
COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" |
||||
|
|
||||
|
# Shared |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" |
||||
|
|
||||
|
# Microservices |
||||
|
COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" |
||||
|
COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" |
||||
|
COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" |
||||
|
COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" |
||||
|
COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" |
||||
|
COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" |
||||
|
COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" |
||||
|
|
||||
|
# Gateways |
||||
|
COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" |
||||
|
COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" |
||||
|
|
||||
|
COPY "NuGet.Config" "NuGet.Config" |
||||
|
|
||||
|
RUN dotnet restore "EShopOnAbp.sln" |
||||
|
COPY . . |
||||
|
|
||||
|
WORKDIR "/src/apps/auth-server/src/EShopOnAbp.AuthServer" |
||||
|
|
||||
|
RUN dotnet publish -c Release -o /app |
||||
|
# Should be used after .net6 is out of preview for better performance |
||||
|
# RUN dotnet publish --no-restore -c Release -o /app |
||||
|
|
||||
|
FROM build AS publish |
||||
|
|
||||
|
FROM base AS final |
||||
|
WORKDIR /app |
||||
|
COPY --from=publish /app . |
||||
|
ENTRYPOINT ["dotnet", "EShopOnAbp.AuthServer.dll"] |
||||
@ -1,4 +1,4 @@ |
|||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
||||
COPY bin/Release/net6.0/publish/ app/ |
COPY bin/Release/net6.0/publish/ app/ |
||||
WORKDIR /app |
WORKDIR /app |
||||
ENTRYPOINT ["dotnet", "EShopOnAbp.InternalGateway.dll"] |
ENTRYPOINT ["dotnet", "EShopOnAbp.AuthServer.dll"] |
||||
Binary file not shown.
@ -1,4 +1,6 @@ |
|||||
/* |
/* |
||||
https://select2.org/troubleshooting/common-problems
|
https://select2.org/troubleshooting/common-problems
|
||||
*/ |
*/ |
||||
$.fn.modal.Constructor.prototype._enforceFocus = function () { }; |
if ($.fn.modal) { |
||||
|
$.fn.modal.Constructor.prototype._enforceFocus = function () { }; |
||||
|
} |
||||
|
|||||
@ -1,4 +1,53 @@ |
|||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
||||
COPY bin/Release/net6.0/publish/ app/ |
WORKDIR /app |
||||
WORKDIR /app |
EXPOSE 80 |
||||
ENTRYPOINT ["dotnet", "EShopOnAbp.PublicWeb.dll"] |
EXPOSE 443 |
||||
|
|
||||
|
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build |
||||
|
WORKDIR /src |
||||
|
|
||||
|
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles |
||||
|
# to take advantage of Docker's build cache, to speed up local container builds |
||||
|
COPY "EShopOnAbp.sln" "EShopOnAbp.sln" |
||||
|
|
||||
|
# Applications |
||||
|
COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" |
||||
|
COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" |
||||
|
|
||||
|
# Shared |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" |
||||
|
|
||||
|
# Microservices |
||||
|
COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" |
||||
|
COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" |
||||
|
COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" |
||||
|
COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" |
||||
|
COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" |
||||
|
COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" |
||||
|
COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" |
||||
|
|
||||
|
# Gateways |
||||
|
COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" |
||||
|
COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" |
||||
|
|
||||
|
COPY "NuGet.Config" "NuGet.Config" |
||||
|
|
||||
|
RUN dotnet restore "EShopOnAbp.sln" |
||||
|
COPY . . |
||||
|
|
||||
|
WORKDIR "/src/apps/public-web/src/EShopOnAbp.PublicWeb" |
||||
|
|
||||
|
RUN dotnet publish -c Release -o /app |
||||
|
# Should be used after .net6 is out of preview for better performance |
||||
|
# RUN dotnet publish --no-restore -c Release -o /app |
||||
|
|
||||
|
FROM build AS publish |
||||
|
|
||||
|
FROM base AS final |
||||
|
WORKDIR /app |
||||
|
COPY --from=publish /app . |
||||
|
ENTRYPOINT ["dotnet", "EShopOnAbp.PublicWeb.dll"] |
||||
@ -1,4 +1,4 @@ |
|||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
||||
COPY bin/Release/net6.0/publish/ app/ |
COPY bin/Release/net6.0/publish/ app/ |
||||
WORKDIR /app |
WORKDIR /app |
||||
ENTRYPOINT ["dotnet", "EShopOnAbp.SaasService.HttpApi.Host.dll"] |
ENTRYPOINT ["dotnet", "EShopOnAbp.PublicWeb.dll"] |
||||
@ -1,4 +1,6 @@ |
|||||
/* |
/* |
||||
https://select2.org/troubleshooting/common-problems
|
https://select2.org/troubleshooting/common-problems
|
||||
*/ |
*/ |
||||
$.fn.modal.Constructor.prototype._enforceFocus = function () { }; |
if ($.fn.modal) { |
||||
|
$.fn.modal.Constructor.prototype._enforceFocus = function () { }; |
||||
|
} |
||||
|
|||||
@ -0,0 +1,68 @@ |
|||||
|
param ($version='latest') |
||||
|
|
||||
|
$currentFolder = $PSScriptRoot |
||||
|
$slnFolder = Join-Path $currentFolder "../" |
||||
|
$webAppFolder = Join-Path $slnFolder "apps/angular" |
||||
|
$authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer" |
||||
|
$publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb" |
||||
|
|
||||
|
$webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway" |
||||
|
$webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway" |
||||
|
|
||||
|
$identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host" |
||||
|
$administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host" |
||||
|
$saasServiceFolder = Join-Path $slnFolder "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host" |
||||
|
|
||||
|
### Angular WEB App(WWW) |
||||
|
Write-Host "*** BUILDING WEB (WWW) ****************" -ForegroundColor Green |
||||
|
Set-Location $webAppFolder |
||||
|
yarn |
||||
|
# ng build --prod |
||||
|
npm run build:prod |
||||
|
docker build -t eshoponabp/app-web:$version . |
||||
|
|
||||
|
### AUTH-SERVER |
||||
|
Write-Host "*** BUILDING AUTH-SERVER ****************" -ForegroundColor Green |
||||
|
Set-Location $authserverFolder |
||||
|
dotnet publish -c Release |
||||
|
docker build -f Dockerfile.local -t eshoponabp/app-authserver:$version . |
||||
|
|
||||
|
### PUBLIC-WEB |
||||
|
Write-Host "*** BUILDING WEB-PUBLIC ****************" -ForegroundColor Green |
||||
|
Set-Location $publicWebFolder |
||||
|
dotnet publish -c Release |
||||
|
docker build -f Dockerfile.local -t eshoponabp/app-publicweb:$version . |
||||
|
|
||||
|
### WEB-GATEWAY |
||||
|
Write-Host "*** BUILDING WEB-GATEWAY ****************" -ForegroundColor Green |
||||
|
Set-Location $webGatewayFolder |
||||
|
dotnet publish -c Release |
||||
|
docker build -f Dockerfile.local -t eshoponabp/gateway-web:$version . |
||||
|
|
||||
|
### PUBLICWEB-GATEWAY |
||||
|
Write-Host "*** BUILDING WEB-PUBLIC-GATEWAY ****************" -ForegroundColor Green |
||||
|
Set-Location $webPublicGatewayFolder |
||||
|
dotnet publish -c Release |
||||
|
docker build -f Dockerfile.local -t eshoponabp/gateway-web-public:$version . |
||||
|
|
||||
|
### IDENTITY-SERVICE |
||||
|
Write-Host "*** BUILDING IDENTITY-SERVICE ****************" -ForegroundColor Green |
||||
|
Set-Location $identityServiceFolder |
||||
|
dotnet publish -c Release |
||||
|
docker build -f Dockerfile.local -t eshoponabp/service-identity:$version . |
||||
|
|
||||
|
### ADMINISTRATION-SERVICE |
||||
|
Write-Host "*** BUILDING ADMINISTRATION-SERVICE ****************" -ForegroundColor Green |
||||
|
Set-Location $administrationServiceFolder |
||||
|
dotnet publish -c Release |
||||
|
docker build -f Dockerfile.local -t eshoponabp/service-administration:$version . |
||||
|
|
||||
|
### SAAS-SERVICE |
||||
|
Write-Host "*** BUILDING SAAS-SERVICE ****************" -ForegroundColor Green |
||||
|
Set-Location $saasServiceFolder |
||||
|
dotnet publish -c Release |
||||
|
docker build -f Dockerfile.local -t eshoponabp/service-saas:$version . |
||||
|
|
||||
|
### ALL COMPLETED |
||||
|
Write-Host "ALL COMPLETED" -ForegroundColor Green |
||||
|
Set-Location $currentFolder |
||||
@ -0,0 +1,64 @@ |
|||||
|
param ($version='1.0') |
||||
|
|
||||
|
$currentFolder = $PSScriptRoot |
||||
|
$slnFolder = Join-Path $currentFolder "../" |
||||
|
$webAppFolder = Join-Path $slnFolder "apps/angular" |
||||
|
$authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer" |
||||
|
$publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb" |
||||
|
|
||||
|
$webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway" |
||||
|
$webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway" |
||||
|
|
||||
|
$identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host" |
||||
|
$administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host" |
||||
|
$saasServiceFolder = Join-Path $slnFolder "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host" |
||||
|
|
||||
|
Write-Host "===== BUILDING APPLICATIONS =====" -ForegroundColor Yellow |
||||
|
|
||||
|
### Angular WEB App |
||||
|
Write-Host "*** BUILDING ANGULAR WEB APPLICATION ***" -ForegroundColor Green |
||||
|
Set-Location $webAppFolder |
||||
|
docker build -f "$webAppFolder/Dockerfile" -t eshoponabp/app-web:$version . |
||||
|
|
||||
|
### AUTH-SERVER |
||||
|
Write-Host "**************** BUILDING AUTH-SERVER ****************" -ForegroundColor Green |
||||
|
Set-Location $slnFolder |
||||
|
docker build -f "$authserverFolder/Dockerfile" -t eshoponabp/app-authserver:$version . |
||||
|
|
||||
|
### PUBLIC-WEB |
||||
|
Write-Host "**************** BUILDING WEB-PUBLIC ****************" -ForegroundColor Green |
||||
|
Set-Location $slnFolder |
||||
|
docker build -f "$publicWebFolder/Dockerfile" -t eshoponabp/app-publicweb:$version . |
||||
|
|
||||
|
Write-Host "===== BUILDING GATEWAYS =====" -ForegroundColor Yellow |
||||
|
|
||||
|
### WEB-GATEWAY |
||||
|
Write-Host "**************** BUILDING WEB-GATEWAY ****************" -ForegroundColor Green |
||||
|
Set-Location $slnFolder |
||||
|
docker build -f "$webGatewayFolder/Dockerfile" -t eshoponabp/gateway-web:$version . |
||||
|
|
||||
|
### PUBLICWEB-GATEWAY |
||||
|
Write-Host "**************** BUILDING WEB-PUBLIC-GATEWAY ****************" -ForegroundColor Green |
||||
|
Set-Location $slnFolder |
||||
|
docker build -f "$webPublicGatewayFolder/Dockerfile" -t eshoponabp/gateway-web-public:$version . |
||||
|
|
||||
|
Write-Host "===== BUILDING MICROSERVICES =====" -ForegroundColor Yellow |
||||
|
|
||||
|
### IDENTITY-SERVICE |
||||
|
Write-Host "**************** BUILDING IDENTITY-SERVICE ****************" -ForegroundColor Green |
||||
|
Set-Location $slnFolder |
||||
|
docker build -f "$identityServiceFolder/Dockerfile" -t eshoponabp/service-identity:$version . |
||||
|
|
||||
|
### ADMINISTRATION-SERVICE |
||||
|
Write-Host "**************** BUILDING ADMINISTRATION-SERVICE ****************" -ForegroundColor Green |
||||
|
Set-Location $slnFolder |
||||
|
docker build -f "$administrationServiceFolder/Dockerfile" -t eshoponabp/service-administration:$version . |
||||
|
|
||||
|
### SAAS-SERVICE |
||||
|
Write-Host "**************** BUILDING SAAS-SERVICE ****************" -ForegroundColor Green |
||||
|
Set-Location $slnFolder |
||||
|
docker build -f "$saasServiceFolder/Dockerfile" -t eshoponabp/service-saas:$version . |
||||
|
|
||||
|
### ALL COMPLETED |
||||
|
Write-Host "ALL COMPLETED" -ForegroundColor Green |
||||
|
Set-Location $currentFolder |
||||
|
Before Width: | Height: | Size: 514 KiB After Width: | Height: | Size: 405 KiB |
@ -1,3 +1 @@ |
|||||
param ($version='latest') |
helm upgrade --install es-st eshoponabp --namespace eshop --create-namespace |
||||
|
|
||||
helm upgrade --install eshoponabp eshoponabp --namespace eshop --create-namespace --set global.eshoponabpImageVersion=$version |
|
||||
@ -0,0 +1,52 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
ports: |
||||
|
- name: http |
||||
|
containerPort: 80 |
||||
|
- name: https |
||||
|
containerPort: 443 |
||||
|
env: |
||||
|
- name: App__SelfUrl |
||||
|
value: "{{ .Values.config.selfUrl }}" |
||||
|
- name: RemoteServices__Default__BaseUrl |
||||
|
value: "{{ .Values.config.gatewayUrl }}" |
||||
|
- name: App__CorsOrigins |
||||
|
value: "{{ .Values.config.corsOrigins }}" |
||||
|
- name: IdentityClients__Default__Authority |
||||
|
value: "{{ .Values.synchedCommunication.authority }}" |
||||
|
- name: "ConnectionStrings__AdministrationService" |
||||
|
value: "{{ .Values.config.connectionStrings.administrationService }}" |
||||
|
- name: "ConnectionStrings__SaasService" |
||||
|
value: "{{ .Values.config.connectionStrings.saasService }}" |
||||
|
- name: "DOTNET_ENVIRONMENT" |
||||
|
value: "{{ .Values.config.dotnetEnv }}" |
||||
|
- name: "Redis__Configuration" |
||||
|
value: "{{ .Values.config.redisHost }}" |
||||
|
- name: "AuthServer__Authority" |
||||
|
value: "{{ .Values.config.authServer.authority }}" |
||||
|
- name: "AuthServer__RequireHttpsMetadata" |
||||
|
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
||||
|
- name: "StringEncryption__DefaultPassPhrase" |
||||
|
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
||||
|
- name: "RabbitMQ__Connections__Default__HostName" |
||||
|
value: "{{ .Values.config.rabbitmqHost }}" |
||||
|
- name: "ElasticSearch__Url" |
||||
|
value: "{{ .Values.config.elasticsearchHost }}" |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
@ -1,31 +0,0 @@ |
|||||
apiVersion: apps/v1 |
|
||||
kind: Deployment |
|
||||
metadata: |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
selector: |
|
||||
matchLabels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
template: |
|
||||
metadata: |
|
||||
labels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
containers: |
|
||||
- image: {{ .Values.global.administrationService.containerImage }}:{{ .Values.global.eshoponabpImageVersion }} |
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy }} |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
ports: |
|
||||
- name: http |
|
||||
containerPort: 80 |
|
||||
- name: https |
|
||||
containerPort: 443 |
|
||||
env: |
|
||||
{{ include "eshoponabp.global.env" . | indent 8 }} |
|
||||
- name: "ConnectionStrings__AdministrationService" |
|
||||
value: {{ .Values.global.administrationService.connString }} |
|
||||
- name: "ConnectionStrings__SaasService" |
|
||||
value: {{ .Values.global.saasService.connString }} |
|
||||
{{- if .Values.env }} |
|
||||
{{ toYaml .Values.env | indent 8 }} |
|
||||
{{- end }} |
|
||||
@ -0,0 +1,33 @@ |
|||||
|
config: |
||||
|
selfUrl: # https://eshop-st-administration |
||||
|
gatewayUrl: # https://eshop-st-gateway-internal/ |
||||
|
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-gateway-internal |
||||
|
connectionStrings: |
||||
|
administrationService: # |
||||
|
saasService: # |
||||
|
authServer: |
||||
|
authority: http://eshop-st-authserver |
||||
|
requireHttpsMetadata: "false" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: # |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
|
||||
|
synchedCommunication: |
||||
|
grantType: # "client_credentials" |
||||
|
clientId: # |
||||
|
clientSecret: # |
||||
|
authority: https://eshop-st-authserver |
||||
|
scope: # "IdentityService" |
||||
|
|
||||
|
ingress: |
||||
|
host: # eshop-st-administration |
||||
|
tlsSecret: eshop-demo-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-administration |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -0,0 +1,49 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
ports: |
||||
|
- name: http |
||||
|
containerPort: 80 |
||||
|
- name: https |
||||
|
containerPort: 443 |
||||
|
env: |
||||
|
- name: App__SelfUrl |
||||
|
value: "{{ .Values.config.selfUrl }}" |
||||
|
- name: App__CorsOrigins |
||||
|
value: "{{ .Values.config.corsOrigins }}" |
||||
|
- name: App__RedirectAllowedUrls |
||||
|
value: "{{ .Values.config.allowedRedirectUrls }}" |
||||
|
- name: "ConnectionStrings__IdentityService" |
||||
|
value: "{{ .Values.config.identityService.connString }}" |
||||
|
- name: "ConnectionStrings__AdministrationService" |
||||
|
value: "{{ .Values.config.administrationService.connString }}" |
||||
|
- name: "ConnectionStrings__SaasService" |
||||
|
value: "{{ .Values.config.saasService.connString }}" |
||||
|
- name: "DOTNET_ENVIRONMENT" |
||||
|
value: "{{ .Values.config.dotnetEnv }}" |
||||
|
- name: "Redis__Configuration" |
||||
|
value: "{{ .Values.config.redisHost }}" |
||||
|
- name: "StringEncryption__DefaultPassPhrase" |
||||
|
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
||||
|
- name: "RabbitMQ__Connections__Default__HostName" |
||||
|
value: "{{ .Values.config.rabbitmqHost }}" |
||||
|
- name: "ElasticSearch__Url" |
||||
|
value: "{{ .Values.config.elasticsearchHost }}" |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
|
|
||||
@ -1,30 +0,0 @@ |
|||||
apiVersion: apps/v1 |
|
||||
kind: Deployment |
|
||||
metadata: |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
selector: |
|
||||
matchLabels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
template: |
|
||||
metadata: |
|
||||
labels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
containers: |
|
||||
- image: {{ .Values.global.authServer.containerImage }}:{{ .Values.global.eshoponabpImageVersion }} |
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy }} |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
ports: |
|
||||
- name: http |
|
||||
containerPort: 80 |
|
||||
- name: https |
|
||||
containerPort: 443 |
|
||||
env: |
|
||||
{{ include "eshoponabp.global.env" . | indent 8 }} |
|
||||
- name: "ConnectionStrings__IdentityService" |
|
||||
value: {{ .Values.global.identityService.connString }} |
|
||||
- name: "ConnectionStrings__AdministrationService" |
|
||||
value: {{ .Values.global.administrationService.connString }} |
|
||||
- name: "ConnectionStrings__SaasService" |
|
||||
value: {{ .Values.global.saasService.connString }} |
|
||||
@ -0,0 +1,27 @@ |
|||||
|
config: |
||||
|
selfUrl: # https://eshop-st-authserver |
||||
|
corsOrigins: # https://eshop-st-identity,https://eshop-st-administration,https://eshop-st-saas |
||||
|
allowedRedirectUrls: https://eshop-st-web |
||||
|
identityService: |
||||
|
connString: # |
||||
|
administrationService: |
||||
|
connString: # |
||||
|
saasService: |
||||
|
connString: # |
||||
|
dotnetEnv: # |
||||
|
redisHost: # |
||||
|
rabbitmqHost: # |
||||
|
elasticsearchHost: # |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
|
||||
|
ingress: |
||||
|
host: # eshop-st-authserver |
||||
|
tlsSecret: eshop-demo-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/app-authserver |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
|
|
||||
@ -1,17 +0,0 @@ |
|||||
apiVersion: v1 |
|
||||
kind: Service |
|
||||
metadata: |
|
||||
labels: |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
type: ClusterIP |
|
||||
ports: |
|
||||
- name: consul-1 |
|
||||
protocol: TCP |
|
||||
port: 8500 |
|
||||
- name: consul-2 |
|
||||
protocol: TCP |
|
||||
port: 8600 |
|
||||
selector: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
@ -1,24 +0,0 @@ |
|||||
apiVersion: apps/v1 |
|
||||
kind: Deployment |
|
||||
metadata: |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
replicas: 1 |
|
||||
selector: |
|
||||
matchLabels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
template: |
|
||||
metadata: |
|
||||
labels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
containers: |
|
||||
- image: consul |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
ports: |
|
||||
- name: consul-1 |
|
||||
protocol: TCP |
|
||||
containerPort: 8500 |
|
||||
- name: consul-2 |
|
||||
protocol: TCP |
|
||||
containerPort: 8600 |
|
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: gateway-web-public |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Web Public Gateway Application |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,74 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap |
||||
|
data: |
||||
|
appsettings.json: |- |
||||
|
{ |
||||
|
"Routes": [ |
||||
|
{ |
||||
|
"ServiceKey": "Identity Service", |
||||
|
"DownstreamPathTemplate": "/api/account/{everything}", |
||||
|
"DownstreamScheme": "{{ .Values.reRoutes.identityService.schema }}", |
||||
|
"DownstreamHostAndPorts": [ |
||||
|
{ |
||||
|
"Host": "{{ .Values.reRoutes.identityService.host }}", |
||||
|
"Port": {{ .Values.reRoutes.identityService.port }} |
||||
|
} |
||||
|
], |
||||
|
"UpstreamPathTemplate": "/api/account/{everything}", |
||||
|
"UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] |
||||
|
}, |
||||
|
{ |
||||
|
"ServiceKey": "Administration Service", |
||||
|
"DownstreamPathTemplate": "/api/abp/{everything}", |
||||
|
"DownstreamScheme": "{{ .Values.reRoutes.administrationService.schema }}", |
||||
|
"DownstreamHostAndPorts": [ |
||||
|
{ |
||||
|
"Host": "{{ .Values.reRoutes.administrationService.host }}", |
||||
|
"Port": "{{ .Values.reRoutes.administrationService.port }}", |
||||
|
} |
||||
|
], |
||||
|
"UpstreamPathTemplate": "/api/abp/{everything}", |
||||
|
"UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] |
||||
|
}, |
||||
|
{ |
||||
|
"ServiceKey": "Catalog Service", |
||||
|
"DownstreamPathTemplate": "/api/catalog/{everything}", |
||||
|
"DownstreamScheme": "{{ .Values.reRoutes.catalogService.schema }}", |
||||
|
"DownstreamHostAndPorts": [ |
||||
|
{ |
||||
|
"Host": "{{ .Values.reRoutes.catalogService.host }}", |
||||
|
"Port": "{{ .Values.reRoutes.catalogService.port }}", |
||||
|
} |
||||
|
], |
||||
|
"UpstreamPathTemplate": "/api/catalog/{everything}", |
||||
|
"UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] |
||||
|
}, |
||||
|
{ |
||||
|
"ServiceKey": "Basket Service", |
||||
|
"DownstreamPathTemplate": "/api/basket/{everything}", |
||||
|
"DownstreamScheme": "{{ .Values.reRoutes.basketService.schema }}", |
||||
|
"DownstreamHostAndPorts": [ |
||||
|
{ |
||||
|
"Host": "{{ .Values.reRoutes.basketService.host }}", |
||||
|
"Port": "{{ .Values.reRoutes.basketService.port }}", |
||||
|
} |
||||
|
], |
||||
|
"UpstreamPathTemplate": "/api/basket/{everything}", |
||||
|
"UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] |
||||
|
}, |
||||
|
{ |
||||
|
"ServiceKey": "Ordering Service", |
||||
|
"DownstreamPathTemplate": "/api/ordering/{everything}", |
||||
|
"DownstreamScheme": "{{ .Values.reRoutes.orderService.schema }}", |
||||
|
"DownstreamHostAndPorts": [ |
||||
|
{ |
||||
|
"Host": "{{ .Values.reRoutes.orderService.host }}", |
||||
|
"Port": "{{ .Values.reRoutes.orderService.port }}", |
||||
|
} |
||||
|
], |
||||
|
"UpstreamPathTemplate": "/api/ordering/{everything}", |
||||
|
"UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ] |
||||
|
}] |
||||
|
} |
||||
@ -0,0 +1,52 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
ports: |
||||
|
- name: http |
||||
|
containerPort: 80 |
||||
|
- name: https |
||||
|
containerPort: 443 |
||||
|
volumeMounts: |
||||
|
- name: config-volume |
||||
|
mountPath: /app/appsettings.json |
||||
|
subPath: appsettings.json |
||||
|
env: |
||||
|
- name: App__SelfUrl |
||||
|
value: "{{ .Values.config.selfUrl }}" |
||||
|
- name: GlobalConfiguration__BaseUrl |
||||
|
value: "{{ .Values.config.globalConfigurationBaseUrl }}" |
||||
|
- name: "DOTNET_ENVIRONMENT" |
||||
|
value: "{{ .Values.config.dotnetEnv }}" |
||||
|
- name: "Redis__Configuration" |
||||
|
value: "{{ .Values.config.redisHost }}" |
||||
|
- name: "RabbitMQ__Connections__Default__HostName" |
||||
|
value: "{{ .Values.config.rabbitmqHost }}" |
||||
|
- name: "AuthServer__Authority" |
||||
|
value: "{{ .Values.config.authServer.authority }}" |
||||
|
- name: "AuthServer__RequireHttpsMetadata" |
||||
|
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
||||
|
- name: "ElasticSearch__Url" |
||||
|
value: "{{ .Values.config.elasticsearchHost }}" |
||||
|
- name: "StringEncryption__DefaultPassPhrase" |
||||
|
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
|
volumes: |
||||
|
- name: config-volume |
||||
|
configMap: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap |
||||
@ -0,0 +1,37 @@ |
|||||
|
apiVersion: networking.k8s.io/v1 |
||||
|
kind: Ingress |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress |
||||
|
annotations: |
||||
|
kubernetes.io/ingress.class: "nginx" |
||||
|
nginx.ingress.kubernetes.io/rewrite-target: / |
||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" |
||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 32k |
||||
|
nginx.ingress.kubernetes.io/proxy-buffers-number: "8" |
||||
|
cert-manager.io/cluster-issuer: letsencrypt |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
nginx.ingress.kubernetes.io/from-to-www-redirect: "true" |
||||
|
{{- end }} |
||||
|
spec: |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
- {{ print "www." .Values.global.ingress.host }} |
||||
|
{{- end }} |
||||
|
secretName: {{ .Values.ingress.tlsSecret }} |
||||
|
rules: |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
- host: "{{ print "www." .Values.ingress.host }}" |
||||
|
{{- else }} |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
{{- end }} |
||||
|
http: |
||||
|
paths: |
||||
|
- path: / |
||||
|
pathType: Prefix |
||||
|
backend: |
||||
|
service: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
port: |
||||
|
number: 80 |
||||
@ -0,0 +1,45 @@ |
|||||
|
config: |
||||
|
selfUrl: https://eshop-st-gateway-public-web |
||||
|
globalConfigurationBaseUrl: http://eshop-st-gateway-public-web |
||||
|
authServer: |
||||
|
authority: http://eshop-st-authserver |
||||
|
requireHttpsMetadata: "false" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: # |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
|
||||
|
reRoutes: |
||||
|
identityService: |
||||
|
schema: http |
||||
|
host: eshop-st-identity |
||||
|
port: 80 |
||||
|
administrationService: |
||||
|
schema: http |
||||
|
host: eshop-st-administration |
||||
|
port: 80 |
||||
|
catalogService: |
||||
|
schema: http |
||||
|
host: eshop-st-catalog |
||||
|
port: 80 |
||||
|
basketService: |
||||
|
schema: http |
||||
|
host: eshop-st-basket |
||||
|
port: 80 |
||||
|
orderService: |
||||
|
schema: http |
||||
|
host: eshop-st-order |
||||
|
port: 80 |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-gateway-web-public |
||||
|
tlsSecret: eshop-demo-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/gateway-web-public |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
|
|
||||
@ -1,6 +1,6 @@ |
|||||
apiVersion: v2 |
apiVersion: v2 |
||||
name: consul |
name: gateway-web |
||||
appVersion: "1.0" |
appVersion: "1.0" |
||||
description: Runs Consul instance |
description: eShopOnAbp Web Gateway Application |
||||
version: 1.0.0 |
version: 1.0.0 |
||||
type: application |
type: application |
||||
@ -0,0 +1,54 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
ports: |
||||
|
- name: http |
||||
|
containerPort: 80 |
||||
|
- name: https |
||||
|
containerPort: 443 |
||||
|
volumeMounts: |
||||
|
- name: config-volume |
||||
|
mountPath: /app/appsettings.json |
||||
|
subPath: appsettings.json |
||||
|
env: |
||||
|
- name: App__SelfUrl |
||||
|
value: "{{ .Values.config.selfUrl }}" |
||||
|
- name: App__CorsOrigins |
||||
|
value: "{{ .Values.config.corsOrigins }}" |
||||
|
- name: GlobalConfiguration__BaseUrl |
||||
|
value: "{{ .Values.config.globalConfigurationBaseUrl }}" |
||||
|
- name: "DOTNET_ENVIRONMENT" |
||||
|
value: "{{ .Values.config.dotnetEnv }}" |
||||
|
- name: "Redis__Configuration" |
||||
|
value: "{{ .Values.config.redisHost }}" |
||||
|
- name: "RabbitMQ__Connections__Default__HostName" |
||||
|
value: "{{ .Values.config.rabbitmqHost }}" |
||||
|
- name: "AuthServer__Authority" |
||||
|
value: "{{ .Values.config.authServer.authority }}" |
||||
|
- name: "AuthServer__RequireHttpsMetadata" |
||||
|
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
||||
|
- name: "ElasticSearch__Url" |
||||
|
value: "{{ .Values.config.elasticsearchHost }}" |
||||
|
- name: "StringEncryption__DefaultPassPhrase" |
||||
|
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
|
volumes: |
||||
|
- name: config-volume |
||||
|
configMap: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap |
||||
@ -0,0 +1,37 @@ |
|||||
|
apiVersion: networking.k8s.io/v1 |
||||
|
kind: Ingress |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress |
||||
|
annotations: |
||||
|
kubernetes.io/ingress.class: "nginx" |
||||
|
nginx.ingress.kubernetes.io/rewrite-target: / |
||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" |
||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 32k |
||||
|
nginx.ingress.kubernetes.io/proxy-buffers-number: "8" |
||||
|
cert-manager.io/cluster-issuer: letsencrypt |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
nginx.ingress.kubernetes.io/from-to-www-redirect: "true" |
||||
|
{{- end }} |
||||
|
spec: |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
- {{ print "www." .Values.ingress.host }} |
||||
|
{{- end }} |
||||
|
secretName: {{ .Values.ingress.tlsSecret }} |
||||
|
rules: |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
- host: "{{ print "www." .Values.ingress.host }}" |
||||
|
{{- else }} |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
{{- end }} |
||||
|
http: |
||||
|
paths: |
||||
|
- path: / |
||||
|
pathType: Prefix |
||||
|
backend: |
||||
|
service: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
port: |
||||
|
number: 80 |
||||
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
labels: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
ports: |
||||
|
- name: "80" |
||||
|
port: 80 |
||||
|
- name: "443" |
||||
|
port: 443 |
||||
|
selector: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
@ -0,0 +1,35 @@ |
|||||
|
config: |
||||
|
selfUrl: # https://eshop-st-gateway-web |
||||
|
corsOrigins: # localhost:4200 |
||||
|
globalConfigurationBaseUrl: # http://eshop-st-gateway-web |
||||
|
authServer: |
||||
|
authority: http://eshop-st-authserver |
||||
|
requireHttpsMetadata: "false" |
||||
|
dotnetEnv: # |
||||
|
redisHost: # |
||||
|
rabbitmqHost: # |
||||
|
elasticsearchHost: # |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
reRoutes: |
||||
|
identityService: |
||||
|
schema: http |
||||
|
host: eshop-st-identity |
||||
|
port: 80 |
||||
|
administrationService: |
||||
|
schema: http |
||||
|
host: eshop-st-administration |
||||
|
port: 80 |
||||
|
saasService: |
||||
|
schema: # http |
||||
|
host: # eshop-st-saas |
||||
|
port: # 80 |
||||
|
ingress: |
||||
|
host: # eshop-st-gateway-web |
||||
|
tlsSecret: eshop-demo-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/gateway-web |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -0,0 +1,67 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
ports: |
||||
|
- name: http |
||||
|
containerPort: 80 |
||||
|
- name: https |
||||
|
containerPort: 443 |
||||
|
env: |
||||
|
- name: App__SelfUrl |
||||
|
value: "{{ .Values.config.selfUrl }}" |
||||
|
- name: App__CorsOrigins |
||||
|
value: "{{ .Values.config.corsOrigins }}" |
||||
|
- name: "ConnectionStrings__IdentityService" |
||||
|
value: {{ .Values.config.connectionStrings.identityService }} |
||||
|
- name: "ConnectionStrings__AdministrationService" |
||||
|
value: {{ .Values.config.connectionStrings.administrationService }} |
||||
|
- name: "ConnectionStrings__SaasService" |
||||
|
value: {{ .Values.config.connectionStrings.saasService }} |
||||
|
- name: "DOTNET_ENVIRONMENT" |
||||
|
value: "{{ .Values.config.dotnetEnv }}" |
||||
|
- name: "Redis__Configuration" |
||||
|
value: "{{ .Values.config.redisHost }}" |
||||
|
- name: "RabbitMQ__Connections__Default__HostName" |
||||
|
value: "{{ .Values.config.rabbitmqHost }}" |
||||
|
- name: "ElasticSearch__Url" |
||||
|
value: "{{ .Values.config.elasticsearchHost }}" |
||||
|
- name: "AuthServer__Authority" |
||||
|
value: "{{ .Values.config.authServer.authority }}" |
||||
|
- name: "AuthServer__RequireHttpsMetadata" |
||||
|
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
||||
|
- name: "StringEncryption__DefaultPassPhrase" |
||||
|
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
||||
|
- name: "IdentityServerClients__Web__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.webRootUrl }} |
||||
|
- name: "IdentityServerClients__PublicWeb__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.publicWebRootUrl }} |
||||
|
- name: "IdentityServerClients__IdentityService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.identityServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__SaasService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.saasServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__AdministrationService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.administrationServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__InternalGateway__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.webRootUrl }} |
||||
|
- name: "IdentityServerClients__PublicWebGateway__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.publicWebRootUrl }} |
||||
|
- name: "IdentityServerClients__WebGateway__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.webGatewayRootUrl }} |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
|
|
||||
@ -1,31 +0,0 @@ |
|||||
apiVersion: apps/v1 |
|
||||
kind: Deployment |
|
||||
metadata: |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
selector: |
|
||||
matchLabels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
template: |
|
||||
metadata: |
|
||||
labels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
containers: |
|
||||
- image: {{ .Values.global.identityService.containerImage }}:{{ .Values.global.eshoponabpImageVersion }} |
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy }} |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
ports: |
|
||||
- name: http |
|
||||
containerPort: 80 |
|
||||
- name: https |
|
||||
containerPort: 443 |
|
||||
env: |
|
||||
{{ include "eshoponabp.global.env" . | indent 8 }} |
|
||||
- name: "ConnectionStrings__IdentityService" |
|
||||
value: {{ .Values.global.identityService.connString }} |
|
||||
- name: "ConnectionStrings__AdministrationService" |
|
||||
value: {{ .Values.global.administrationService.connString }} |
|
||||
- name: "ConnectionStrings__SaasService" |
|
||||
value: {{ .Values.global.saasService.connString }} |
|
||||
|
|
||||
@ -0,0 +1,37 @@ |
|||||
|
config: |
||||
|
selfUrl: # https://eshop-st-identity |
||||
|
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-gateway-internal |
||||
|
connectionStrings: |
||||
|
identityService: # |
||||
|
administrationService: # |
||||
|
saasService: # |
||||
|
authServer: |
||||
|
authority: http://eshop-st-authserver |
||||
|
requireHttpsMetadata: "false" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: es-st-elasticsearch |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
|
||||
|
# Seeded clients |
||||
|
identityServerClients: |
||||
|
webRootUrl: # |
||||
|
publicWebRootUrl: # |
||||
|
webGatewayRootUrl: # |
||||
|
publicWebGatewayRootUrl: # |
||||
|
identityServiceRootUrl: # |
||||
|
administrationServiceRootUrl: # |
||||
|
saasServiceRootUrl: # |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-identity |
||||
|
tlsSecret: eshop-demo-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-identity |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
|
|
||||
@ -0,0 +1,44 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
ports: |
||||
|
- name: http |
||||
|
containerPort: 80 |
||||
|
- name: https |
||||
|
containerPort: 443 |
||||
|
env: |
||||
|
- name: App__SelfUrl |
||||
|
value: {{ .Values.config.selfUrl}} |
||||
|
- name: RemoteServices__Default__BaseUrl |
||||
|
value: {{ .Values.config.gatewayUrl}} |
||||
|
- name: "AuthServer__Authority" |
||||
|
value: {{ .Values.config.authServer.authority }} |
||||
|
- name: "AuthServer__RequireHttpsMetadata" |
||||
|
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
||||
|
- name: "DOTNET_ENVIRONMENT" |
||||
|
value: {{ .Values.config.dotnetEnv }} |
||||
|
- name: "Redis__Configuration" |
||||
|
value: {{ .Values.config.redisHost }} |
||||
|
- name: "StringEncryption__DefaultPassPhrase" |
||||
|
value: {{ .Values.config.stringEncryptionDefaultPassPhrase }} |
||||
|
- name: "RabbitMQ__Connections__Default__HostName" |
||||
|
value: {{ .Values.config.rabbitmqHost }} |
||||
|
- name: "ElasticSearch__Url" |
||||
|
value: {{ .Values.config.elasticsearchHost }} |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
@ -0,0 +1,22 @@ |
|||||
|
config: |
||||
|
selfUrl: https://eshop-st-public-web |
||||
|
gatewayUrl: "http://eshop-st-gateway-web-public/" |
||||
|
authServer: |
||||
|
authority: http://eshop-st-authserver |
||||
|
requireHttpsMetadata: "false" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: es-st-elasticsearch |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
|
||||
|
ingress: |
||||
|
host: # eshop-st-public-web |
||||
|
tlsSecret: eshop-demo-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/app-publicweb |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -1,6 +0,0 @@ |
|||||
apiVersion: v2 |
|
||||
name: public-webgateway |
|
||||
appVersion: "1.0" |
|
||||
description: eShopOnAbp Public Web Gateway Application |
|
||||
version: 1.0.0 |
|
||||
type: application |
|
||||
@ -1,37 +0,0 @@ |
|||||
apiVersion: networking.k8s.io/v1 |
|
||||
kind: Ingress |
|
||||
metadata: |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress |
|
||||
annotations: |
|
||||
kubernetes.io/ingress.class: nginx |
|
||||
nginx.ingress.kubernetes.io/rewrite-target: / |
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" |
|
||||
nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}" |
|
||||
nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}" |
|
||||
{{- if eq .Release.Name "eh-az" }} |
|
||||
nginx.ingress.kubernetes.io/from-to-www-redirect: "true" |
|
||||
{{- end }} |
|
||||
cert-manager.io/cluster-issuer: letsencrypt |
|
||||
spec: |
|
||||
tls: |
|
||||
- hosts: |
|
||||
- {{ .Values.global.publicWebGateway.domain }} |
|
||||
{{- if eq .Release.Name "eh-az" }} |
|
||||
- {{ print "www." .Values.global.publicWebGateway.domain }} |
|
||||
{{- end }} |
|
||||
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
|
||||
rules: |
|
||||
{{- if eq .Release.Name "eh-az" }} |
|
||||
- host: "{{ print "www." .Values.global.publicWebGateway.domain }}" |
|
||||
{{- else }} |
|
||||
- host: "{{ .Values.global.publicWebGateway.domain }}" |
|
||||
{{- end }} |
|
||||
http: |
|
||||
paths: |
|
||||
- path: / |
|
||||
pathType: Prefix |
|
||||
backend: |
|
||||
service: |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
port: |
|
||||
number: 80 |
|
||||
@ -1,24 +0,0 @@ |
|||||
apiVersion: apps/v1 |
|
||||
kind: Deployment |
|
||||
metadata: |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
selector: |
|
||||
matchLabels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
template: |
|
||||
metadata: |
|
||||
labels: |
|
||||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
spec: |
|
||||
containers: |
|
||||
- image: {{ .Values.global.publicWebGateway.containerImage }}:{{ .Values.global.eshoponabpImageVersion }} |
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy }} |
|
||||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|
||||
ports: |
|
||||
- name: http |
|
||||
containerPort: 80 |
|
||||
- name: https |
|
||||
containerPort: 443 |
|
||||
env: |
|
||||
{{ include "eshoponabp.global.env" . | indent 8 }} |
|
||||
@ -0,0 +1,25 @@ |
|||||
|
config: |
||||
|
selfUrl: https://eshop-st-saas |
||||
|
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-gateway-internal |
||||
|
connectionStrings: |
||||
|
administrationService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true" |
||||
|
saasService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true" |
||||
|
authServer: |
||||
|
authority: http://eshop-st-authserver |
||||
|
requireHttpsMetadata: "false" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: es-st-elasticsearch |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-saas |
||||
|
tlsSecret: eshop-demo-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-saas |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: web |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp BackOffice Web Application |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,37 @@ |
|||||
|
apiVersion: networking.k8s.io/v1 |
||||
|
kind: Ingress |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress |
||||
|
annotations: |
||||
|
kubernetes.io/ingress.class: "nginx" |
||||
|
nginx.ingress.kubernetes.io/rewrite-target: / |
||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" |
||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 32k |
||||
|
nginx.ingress.kubernetes.io/proxy-buffers-number: "8" |
||||
|
cert-manager.io/cluster-issuer: letsencrypt |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
nginx.ingress.kubernetes.io/from-to-www-redirect: "true" |
||||
|
{{- end }} |
||||
|
spec: |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
{{- if eq .Release.Name "eh-es" }} |
||||
|
- {{ print "www." .Values.ingress.host }} |
||||
|
{{- end }} |
||||
|
secretName: {{ .Values.ingress.tlsSecret }} |
||||
|
rules: |
||||
|
{{- if eq .Release.Name "eh-es" }} |
||||
|
- host: "{{ print "www." .Values.ingress.host }}" |
||||
|
{{- else }} |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
{{- end }} |
||||
|
http: |
||||
|
paths: |
||||
|
- path: / |
||||
|
pathType: Prefix |
||||
|
backend: |
||||
|
service: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
port: |
||||
|
number: 80 |
||||
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
labels: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
ports: |
||||
|
- name: "80" |
||||
|
port: 80 |
||||
|
- name: "443" |
||||
|
port: 443 |
||||
|
selector: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
@ -0,0 +1,15 @@ |
|||||
|
config: |
||||
|
selfUrl: https://eshop-st-web |
||||
|
gatewayUrl: "https://eshop-st-gateway-web/" |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-web |
||||
|
tlsSecret: eshop-demo-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/app-web |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
# Extra environment variables or configurations |
||||
|
env: {} |
||||
@ -1,15 +0,0 @@ |
|||||
apiVersion: v1 |
|
||||
kind: Pod |
|
||||
metadata: |
|
||||
name: "{{ include "eshoponabp.fullname" . }}-test-connection" |
|
||||
labels: |
|
||||
{{- include "eshoponabp.labels" . | nindent 4 }} |
|
||||
annotations: |
|
||||
"helm.sh/hook": test |
|
||||
spec: |
|
||||
containers: |
|
||||
- name: wget |
|
||||
image: busybox |
|
||||
command: ['wget'] |
|
||||
args: ['{{ include "eshoponabp.fullname" . }}:{{ .Values.service.port }}'] |
|
||||
restartPolicy: Never |
|
||||
@ -0,0 +1,31 @@ |
|||||
|
-----BEGIN CERTIFICATE----- |
||||
|
MIIFQzCCA6ugAwIBAgIRANj5oNi+QQIoyV51y/ZIJlYwDQYJKoZIhvcNAQELBQAw |
||||
|
gZ8xHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTE6MDgGA1UECwwxZ3Nl |
||||
|
bmd1bkBHb2toYW5zLU1hY0Jvb2stUHJvLmxvY2FsIChHb2toYW4gU2VuZ3VuKTFB |
||||
|
MD8GA1UEAww4bWtjZXJ0IGdzZW5ndW5AR29raGFucy1NYWNCb29rLVByby5sb2Nh |
||||
|
bCAoR29raGFuIFNlbmd1bikwHhcNMTkwNjAxMDAwMDAwWhcNMzExMTA0MDgyNjUw |
||||
|
WjBlMScwJQYDVQQKEx5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxOjA4 |
||||
|
BgNVBAsMMWdzZW5ndW5AR29raGFucy1NYWNCb29rLVByby5sb2NhbCAoR29raGFu |
||||
|
IFNlbmd1bikwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKu7X3b2Cg |
||||
|
dpBnz90KboUnpWRcCK96oq97pAEbR9sirN3+3jT0JRBY2TYKLDPW8i50QJFbdYE7 |
||||
|
zky58c+RWPrxVDoeqRC8E1+TLsuW+TdMmOL746k36X1VtKy3rqUG9IS6MXjH/MX8 |
||||
|
H1kgldHvE9mFEpyp3q/8cUPHSBUE+M0CA05wlDm8qgkGXcp43qrNElWg5Y2WWWIp |
||||
|
WUm8r5obktSAxhA+ZxFX4cJHFmxKymMqSRStDpTFCIW9C3kx5ierPNQS6g5sSMtW |
||||
|
OuPuh0Uhc0Q0lJBoA7Mj1CGvtO5nld0+6kAK1GMB7Vbigoqd00eqKMYaA3Aa5QZm |
||||
|
bf84wZjofJx1AgMBAAGjggExMIIBLTAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww |
||||
|
CgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBR6TnYaWT+NPghb |
||||
|
dQnZ+MAbx9UB2DCB1gYDVR0RBIHOMIHLgghlc2hvcC1zdIIXZXNob3Atc3QtYWRt |
||||
|
aW5pc3RyYXRpb26CE2VzaG9wLXN0LWF1dGhzZXJ2ZXKCGWVzaG9wLXN0LWdhdGV3 |
||||
|
YXktaW50ZXJuYWyCG2VzaG9wLXN0LWdhdGV3YXktcHVibGljLXdlYoIUZXNob3At |
||||
|
c3QtZ2F0ZXdheS13ZWKCEWVzaG9wLXN0LWlkZW50aXR5ghNlc2hvcC1zdC1wdWJs |
||||
|
aWMtd2Vigg1lc2hvcC1zdC1zYWFzggxlc2hvcC1zdC13ZWIwDQYJKoZIhvcNAQEL |
||||
|
BQADggGBADjQroM3gD7g56S8bxlUbt1sJYfvo0VCIDPH9aHE3WwhGCOn18SRDOpM |
||||
|
mNw4c0HO+P1+rlCfn2pvN2oQ6v731fQZPpGcE0ljeVrixqfyVvoggGMbOwegvWPh |
||||
|
dPK/cxLi9wYfQtFw5vy8YxsinowSRCQ3KJGxI4fsyjEQu939WvYSPDdEUPx952LR |
||||
|
2pG8yRSso7dixDW4rDCoI/QKM/ImnqsNtZSpGa93HLgjkJr/PsOVMogt8dOsDOkC |
||||
|
vHq9F6TJKTDb7WizMJcE0qfisJgtTC2isvYA3u7kiyfxW26kd1h7s4m3njn+0Sks |
||||
|
0xGcXiYPZm8y/lVrxcF3/QlgOfWfRmls3D17yX28QwuwvNkUv2aSP/WGOMWEtgPD |
||||
|
9WYPk1OhOGFxT3IKu8iw6ITTCKXpcBeQ/QiEuFjo/khDGE4NMSkrp16nVebkAWal |
||||
|
/eufFWZJTzO7kgCmApS2SAhRdsM+JEsioHF/gM2chzV+eP4CCKv3pw5z07eemhx2 |
||||
|
HnEbhDFHEA== |
||||
|
-----END CERTIFICATE----- |
||||
@ -0,0 +1,28 @@ |
|||||
|
-----BEGIN PRIVATE KEY----- |
||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKu7X3b2CgdpBn |
||||
|
z90KboUnpWRcCK96oq97pAEbR9sirN3+3jT0JRBY2TYKLDPW8i50QJFbdYE7zky5 |
||||
|
8c+RWPrxVDoeqRC8E1+TLsuW+TdMmOL746k36X1VtKy3rqUG9IS6MXjH/MX8H1kg |
||||
|
ldHvE9mFEpyp3q/8cUPHSBUE+M0CA05wlDm8qgkGXcp43qrNElWg5Y2WWWIpWUm8 |
||||
|
r5obktSAxhA+ZxFX4cJHFmxKymMqSRStDpTFCIW9C3kx5ierPNQS6g5sSMtWOuPu |
||||
|
h0Uhc0Q0lJBoA7Mj1CGvtO5nld0+6kAK1GMB7Vbigoqd00eqKMYaA3Aa5QZmbf84 |
||||
|
wZjofJx1AgMBAAECggEBALvJLd9ZInbf/Bi8uLFt+BbmI1UAkpKU2Nk86+16HKg8 |
||||
|
2ZC4APLY1hCGeoDnusjyIUd7e2jtKdzc1cMzEiI++orJiuBVl/OuOkxZ/ykEBU4F |
||||
|
G9NYaKkqtPbLWWT291O+8KaLJqaQJE/KNcNyIzhB+a1CtSy/4eGChNa1lQq67yJZ |
||||
|
iTFPNSHT1RTzjv2BAuUASq1gK+bX4F65otVYQBMg3JGsfkAdhWPbzEX0XLVpgbh/ |
||||
|
jtyAHSsiWIkyVjXvA3Zjp+3Gmf3dbd/86Uwd4XowPfcSOP4iyd76FS4iTlthsF5D |
||||
|
M0psBOgotVl5RHv2ljOy7fUzrudnSQ0HepgdHed4Em0CgYEA7q+j7cbcb43ZW5Rx |
||||
|
p2pMuuuEeFY+L2Ns8N4t26OoURQCzyACR5H4KgFtrrdqTwQPs7L8SWAjU8SoP2jX |
||||
|
j+4+TJnK/Grt0YQ2pLpEM8j7kjGWfskHDfQhrL3o4VhdCm/1URWYSn7nzdNnX1Fk |
||||
|
ZlKjUJWBXGTvthCUVY9Jk30hU4sCgYEA2XBupvyIpmjoNdsEdwxxSebLyIYu2FA/ |
||||
|
sjI5gdzXIOo9DsFfn9HTNbXyEsiQm9StNXS585jRhyht9OF7SYajrJ/E3O086tf4 |
||||
|
2MmDbUdFdvMdPdGxxTU2mXa9Vd6JASnFG+fSsRhABk57iNzcUE4+PNW1ztLmRyLx |
||||
|
diW9cXjXz/8CgYBxGF43U0utu+uqvgqgRfj3dJL/JfYvJBBBjTTzZndhe3bdR5Bs |
||||
|
8xhAZw7eg1/m8six3/Q0nE4A6iTCbt38/+kbCKAqvEvVQ61UnkGku+2f1sk1Z/Fk |
||||
|
xjGSlSWcaO8k++mkMvRHEByr5SiM/Jby+OMTUtPJwLXocbCnXc6CCP9agwKBgEe7 |
||||
|
I4XLAXmEWjaKDisH28e5b7izK3kI4Dp0/yusIvwkyge4G0ep/LdXUoiHyczemFVu |
||||
|
MHoAC/8+gyepyvYyiIRGILeRO+ttXBaIQ+ck//GBuj/OkYqxR1XRKhzN0PylPvU5 |
||||
|
wPPTQCvUcERyN+v2I+oFxnh4cqc9C9MiGCD68JcZAoGBAIi1RxcWKZUCjSETT1PY |
||||
|
V7j5FIyMzBdUo0RN44eUdeu0CWAOnMG2s26z6fXl7EZp+Em5ee7dYEmSP49X69n9 |
||||
|
T9ueN1LRJaqko45Eo3uPl6rolz5vXcTr2Tooc3yqE3XbRxe2jOeczq06nj06kjuf |
||||
|
hPPdSqjjOwWPy63DWboSkh+0 |
||||
|
-----END PRIVATE KEY----- |
||||
@ -0,0 +1,9 @@ |
|||||
|
# Notes |
||||
|
|
||||
|
## Creating demo tls cert |
||||
|
|
||||
|
``` |
||||
|
kubectl create secret tls eshop-demo-tls \ |
||||
|
--cert=eshop-st-cert.pem \ |
||||
|
--key=eshop-st-key.pem |
||||
|
``` |
||||
@ -1,32 +0,0 @@ |
|||||
|
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00 |
|
||||
# Visual Studio Version 16 |
|
||||
VisualStudioVersion = 16.0.31320.298 |
|
||||
MinimumVisualStudioVersion = 10.0.40219.1 |
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{138BBFFC-09B9-49FB-9C57-E25327CCE0C1}" |
|
||||
EndProject |
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{A5E7F07B-7A5D-416D-A9E0-2009A48CBE2A}" |
|
||||
EndProject |
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.InternalGateway", "src\EShopOnAbp.InternalGateway\EShopOnAbp.InternalGateway.csproj", "{EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}" |
|
||||
EndProject |
|
||||
Global |
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|
||||
Debug|Any CPU = Debug|Any CPU |
|
||||
Release|Any CPU = Release|Any CPU |
|
||||
EndGlobalSection |
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|
||||
{EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
EndGlobalSection |
|
||||
GlobalSection(SolutionProperties) = preSolution |
|
||||
HideSolutionNode = FALSE |
|
||||
EndGlobalSection |
|
||||
GlobalSection(NestedProjects) = preSolution |
|
||||
{EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C} = {138BBFFC-09B9-49FB-9C57-E25327CCE0C1} |
|
||||
EndGlobalSection |
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution |
|
||||
SolutionGuid = {1753A143-A9EF-43ED-970D-C71BAD179AE6} |
|
||||
EndGlobalSection |
|
||||
EndGlobal |
|
||||
@ -1,13 +0,0 @@ |
|||||
using Microsoft.AspNetCore.Mvc; |
|
||||
using Volo.Abp.AspNetCore.Mvc; |
|
||||
|
|
||||
namespace EShopOnAbp.InternalGateway.Controllers |
|
||||
{ |
|
||||
public class HomeController : AbpController |
|
||||
{ |
|
||||
public ActionResult Index() |
|
||||
{ |
|
||||
return Redirect("/swagger"); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,19 +0,0 @@ |
|||||
<Project Sdk="Microsoft.NET.Sdk.Web"> |
|
||||
|
|
||||
<PropertyGroup> |
|
||||
<TargetFramework>net6.0</TargetFramework> |
|
||||
</PropertyGroup> |
|
||||
|
|
||||
|
|
||||
<ItemGroup> |
|
||||
<ProjectReference Include="..\..\..\..\shared\EShopOnAbp.Shared.Hosting.Gateways\EShopOnAbp.Shared.Hosting.Gateways.csproj" /> |
|
||||
</ItemGroup> |
|
||||
|
|
||||
<ItemGroup> |
|
||||
<Compile Remove="Logs\**" /> |
|
||||
<Content Remove="Logs\**" /> |
|
||||
<EmbeddedResource Remove="Logs\**" /> |
|
||||
<None Remove="Logs\**" /> |
|
||||
</ItemGroup> |
|
||||
|
|
||||
</Project> |
|
||||
@ -1,67 +0,0 @@ |
|||||
using EShopOnAbp.Shared.Hosting.Gateways; |
|
||||
using Microsoft.AspNetCore.Builder; |
|
||||
using Microsoft.Extensions.Configuration; |
|
||||
using Microsoft.Extensions.DependencyInjection; |
|
||||
using Microsoft.Extensions.Hosting; |
|
||||
using Ocelot.Middleware; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Linq; |
|
||||
using EShopOnAbp.Shared.Hosting.AspNetCore; |
|
||||
using Volo.Abp; |
|
||||
using Volo.Abp.Modularity; |
|
||||
|
|
||||
namespace EShopOnAbp.InternalGateway |
|
||||
{ |
|
||||
[DependsOn( |
|
||||
typeof(EShopOnAbpSharedHostingGatewaysModule) |
|
||||
)] |
|
||||
public class EShopOnAbpInternalGatewayModule : AbpModule |
|
||||
{ |
|
||||
public override void ConfigureServices(ServiceConfigurationContext context) |
|
||||
{ |
|
||||
var configuration = context.Services.GetConfiguration(); |
|
||||
var hostingEnvironment = context.Services.GetHostingEnvironment(); |
|
||||
SwaggerConfigurationHelper.Configure(context, "Internal Gateway"); |
|
||||
} |
|
||||
|
|
||||
public override void OnApplicationInitialization(ApplicationInitializationContext context) |
|
||||
{ |
|
||||
var app = context.GetApplicationBuilder(); |
|
||||
var env = context.GetEnvironment(); |
|
||||
|
|
||||
if (env.IsDevelopment()) |
|
||||
{ |
|
||||
app.UseDeveloperExceptionPage(); |
|
||||
} |
|
||||
|
|
||||
app.UseCorrelationId(); |
|
||||
app.UseSwagger(); |
|
||||
app.UseSwaggerUI(options => |
|
||||
{ |
|
||||
var configuration = context.ServiceProvider.GetRequiredService<IConfiguration>(); |
|
||||
var routes = configuration.GetSection("Routes").Get<List<OcelotConfiguration>>(); |
|
||||
|
|
||||
foreach (var config in routes.GroupBy(t => t.ServiceKey).Select(r => r.First()).Distinct()) |
|
||||
{ |
|
||||
var url = |
|
||||
$"{config.DownstreamScheme}://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}:{config.DownstreamHostAndPorts.FirstOrDefault()?.Port}"; |
|
||||
|
|
||||
options.SwaggerEndpoint($"{url}/swagger/v1/swagger.json", $"{config.ServiceKey} API"); |
|
||||
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); |
|
||||
options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]); |
|
||||
} |
|
||||
}); |
|
||||
app.UseAbpSerilogEnrichers(); |
|
||||
app.MapWhen( |
|
||||
ctx => ctx.Request.Path.ToString().StartsWith("/api/abp/api-definition") || |
|
||||
ctx.Request.Path.ToString().TrimEnd('/').Equals(""), |
|
||||
app2 => |
|
||||
{ |
|
||||
app2.UseRouting(); |
|
||||
app2.UseConfiguredEndpoints(); |
|
||||
} |
|
||||
); |
|
||||
app.UseOcelot().Wait(); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,46 +0,0 @@ |
|||||
using EShopOnAbp.Shared.Hosting.AspNetCore; |
|
||||
using Microsoft.AspNetCore.Hosting; |
|
||||
using Microsoft.Extensions.Configuration; |
|
||||
using Microsoft.Extensions.Hosting; |
|
||||
using Serilog; |
|
||||
using System; |
|
||||
using System.Threading.Tasks; |
|
||||
|
|
||||
namespace EShopOnAbp.InternalGateway |
|
||||
{ |
|
||||
public class Program |
|
||||
{ |
|
||||
public static async Task<int> Main(string[] args) |
|
||||
{ |
|
||||
var assemblyName = typeof(Program).Assembly.GetName().Name; |
|
||||
|
|
||||
SerilogConfigurationHelper.Configure(assemblyName); |
|
||||
|
|
||||
try |
|
||||
{ |
|
||||
Log.Information($"Starting {assemblyName}."); |
|
||||
await CreateHostBuilder(args).Build().RunAsync(); |
|
||||
return 0; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
Log.Fatal(ex, $"{assemblyName} terminated unexpectedly!"); |
|
||||
return 1; |
|
||||
} |
|
||||
finally |
|
||||
{ |
|
||||
Log.CloseAndFlush(); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
internal static IHostBuilder CreateHostBuilder(string[] args) => |
|
||||
Host.CreateDefaultBuilder(args) |
|
||||
.ConfigureAppConfiguration(build => |
|
||||
{ |
|
||||
build.AddJsonFile("appsettings.secrets.json", optional: true); |
|
||||
}) |
|
||||
.ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }) |
|
||||
.UseAutofac() |
|
||||
.UseSerilog(); |
|
||||
} |
|
||||
} |
|
||||
@ -1,29 +0,0 @@ |
|||||
{ |
|
||||
"$schema": "http://json.schemastore.org/launchsettings.json", |
|
||||
"iisSettings": { |
|
||||
"windowsAuthentication": false, |
|
||||
"anonymousAuthentication": true, |
|
||||
"iisExpress": { |
|
||||
"applicationUrl": "https://localhost:44371", |
|
||||
"sslPort": 0 |
|
||||
} |
|
||||
}, |
|
||||
"profiles": { |
|
||||
"IIS Express": { |
|
||||
"commandName": "IISExpress", |
|
||||
"launchBrowser": true, |
|
||||
"environmentVariables": { |
|
||||
"ASPNETCORE_ENVIRONMENT": "Development" |
|
||||
} |
|
||||
}, |
|
||||
"EShopOnAbp.InternalGateway": { |
|
||||
"commandName": "Project", |
|
||||
"dotnetRunMessages": "true", |
|
||||
"launchBrowser": true, |
|
||||
"applicationUrl": "https://localhost:44371", |
|
||||
"environmentVariables": { |
|
||||
"ASPNETCORE_ENVIRONMENT": "Development" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,19 +0,0 @@ |
|||||
using Microsoft.AspNetCore.Builder; |
|
||||
using Microsoft.AspNetCore.Hosting; |
|
||||
using Microsoft.Extensions.DependencyInjection; |
|
||||
|
|
||||
namespace EShopOnAbp.InternalGateway |
|
||||
{ |
|
||||
public class Startup |
|
||||
{ |
|
||||
public void ConfigureServices(IServiceCollection services) |
|
||||
{ |
|
||||
services.AddApplication<EShopOnAbpInternalGatewayModule>(); |
|
||||
} |
|
||||
|
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) |
|
||||
{ |
|
||||
app.InitializeApplication(); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,9 +0,0 @@ |
|||||
{ |
|
||||
"Logging": { |
|
||||
"LogLevel": { |
|
||||
"Default": "Information", |
|
||||
"Microsoft": "Warning", |
|
||||
"Microsoft.Hosting.Lifetime": "Information" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,4 +1,52 @@ |
|||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
||||
COPY bin/Release/net6.0/publish/ app/ |
WORKDIR /app |
||||
WORKDIR /app |
EXPOSE 80 |
||||
ENTRYPOINT ["dotnet", "EShopOnAbp.WebPublicGateway.dll"] |
EXPOSE 443 |
||||
|
|
||||
|
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build |
||||
|
WORKDIR /src |
||||
|
|
||||
|
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles |
||||
|
# to take advantage of Docker's build cache, to speed up local container builds |
||||
|
COPY "EShopOnAbp.sln" "EShopOnAbp.sln" |
||||
|
|
||||
|
# Applications |
||||
|
COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" |
||||
|
COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" |
||||
|
|
||||
|
# Shared |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" |
||||
|
|
||||
|
# Microservices |
||||
|
COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" |
||||
|
COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" |
||||
|
COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" |
||||
|
COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" |
||||
|
COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" |
||||
|
COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" |
||||
|
COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" |
||||
|
|
||||
|
# Gateways |
||||
|
COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" |
||||
|
COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" |
||||
|
|
||||
|
COPY "NuGet.Config" "NuGet.Config" |
||||
|
|
||||
|
RUN dotnet restore "EShopOnAbp.sln" |
||||
|
COPY . . |
||||
|
|
||||
|
WORKDIR "/src/gateways/web-public/src/EShopOnAbp.WebPublicGateway" |
||||
|
RUN dotnet publish -c Release -o /app |
||||
|
# Should be used after .net6 is out of preview for better performance |
||||
|
# RUN dotnet publish --no-restore -c Release -o /app |
||||
|
|
||||
|
FROM build AS publish |
||||
|
|
||||
|
FROM base AS final |
||||
|
WORKDIR /app |
||||
|
COPY --from=publish /app . |
||||
|
ENTRYPOINT ["dotnet", "EShopOnAbp.WebPublicGateway.dll"] |
||||
@ -0,0 +1,4 @@ |
|||||
|
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
||||
|
COPY bin/Release/net6.0/publish/ app/ |
||||
|
WORKDIR /app |
||||
|
ENTRYPOINT ["dotnet", "EShopOnAbp.WebPublicGateway.dll"] |
||||
@ -1,4 +1,52 @@ |
|||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
||||
COPY bin/Release/net6.0/publish/ app/ |
WORKDIR /app |
||||
WORKDIR /app |
EXPOSE 80 |
||||
ENTRYPOINT ["dotnet", "EShopOnAbp.WebGateway.dll"] |
EXPOSE 443 |
||||
|
|
||||
|
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build |
||||
|
WORKDIR /src |
||||
|
|
||||
|
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles |
||||
|
# to take advantage of Docker's build cache, to speed up local container builds |
||||
|
COPY "EShopOnAbp.sln" "EShopOnAbp.sln" |
||||
|
|
||||
|
# Applications |
||||
|
COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" |
||||
|
COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" |
||||
|
|
||||
|
# Shared |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" |
||||
|
COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" |
||||
|
|
||||
|
# Microservices |
||||
|
COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" |
||||
|
COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" |
||||
|
COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" |
||||
|
COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" |
||||
|
COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" |
||||
|
COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" |
||||
|
COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" |
||||
|
|
||||
|
# Gateways |
||||
|
COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" |
||||
|
COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" |
||||
|
|
||||
|
COPY "NuGet.Config" "NuGet.Config" |
||||
|
|
||||
|
RUN dotnet restore "EShopOnAbp.sln" |
||||
|
COPY . . |
||||
|
|
||||
|
WORKDIR "/src/gateways/web/src/EShopOnAbp.WebGateway" |
||||
|
RUN dotnet publish -c Release -o /app |
||||
|
# Should be used after .net6 is out of preview for better performance |
||||
|
# RUN dotnet publish --no-restore -c Release -o /app |
||||
|
|
||||
|
FROM build AS publish |
||||
|
|
||||
|
FROM base AS final |
||||
|
WORKDIR /app |
||||
|
COPY --from=publish /app . |
||||
|
ENTRYPOINT ["dotnet", "EShopOnAbp.WebGateway.dll"] |
||||
@ -0,0 +1,4 @@ |
|||||
|
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
||||
|
COPY bin/Release/net6.0/publish/ app/ |
||||
|
WORKDIR /app |
||||
|
ENTRYPOINT ["dotnet", "EShopOnAbp.WebGateway.dll"] |
||||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue