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 |
|||
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 |
|||
COPY bin/Release/net6.0/publish/ app/ |
|||
WORKDIR /app |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.AuthServer.dll"] |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
|||
WORKDIR /app |
|||
EXPOSE 80 |
|||
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 |
|||
COPY bin/Release/net6.0/publish/ 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
|
|||
*/ |
|||
$.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 |
|||
COPY bin/Release/net6.0/publish/ app/ |
|||
WORKDIR /app |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.PublicWeb.dll"] |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
|||
WORKDIR /app |
|||
EXPOSE 80 |
|||
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 |
|||
COPY bin/Release/net6.0/publish/ 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
|
|||
*/ |
|||
$.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 eshoponabp eshoponabp --namespace eshop --create-namespace --set global.eshoponabpImageVersion=$version |
|||
helm upgrade --install es-st eshoponabp --namespace eshop --create-namespace |
|||
@ -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 |
|||
name: consul |
|||
name: gateway-web |
|||
appVersion: "1.0" |
|||
description: Runs Consul instance |
|||
description: eShopOnAbp Web Gateway Application |
|||
version: 1.0.0 |
|||
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 |
|||
COPY bin/Release/net6.0/publish/ app/ |
|||
WORKDIR /app |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.WebPublicGateway.dll"] |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
|||
WORKDIR /app |
|||
EXPOSE 80 |
|||
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 |
|||
COPY bin/Release/net6.0/publish/ app/ |
|||
WORKDIR /app |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.WebGateway.dll"] |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
|||
WORKDIR /app |
|||
EXPOSE 80 |
|||
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