Browse Source

Merge branch 'main' into gterdem/non-layered

pull/79/head
Galip Tolga Erdem 5 years ago
parent
commit
ef2df70704
  1. 49
      build/build-images-locally.ps1
  2. 47
      build/build-images.ps1
  3. 4
      etc/README.md
  4. 10
      etc/k8s/eshoponabp/charts/administration/templates/administration-deployment.yaml
  5. 6
      etc/k8s/eshoponabp/charts/administration/values.yaml
  6. 8
      etc/k8s/eshoponabp/charts/authserver/templates/authserver-deployment.yaml
  7. 7
      etc/k8s/eshoponabp/charts/authserver/values.yaml
  8. 6
      etc/k8s/eshoponabp/charts/basket/Chart.yaml
  9. 55
      etc/k8s/eshoponabp/charts/basket/templates/basket-deployment.yaml
  10. 27
      etc/k8s/eshoponabp/charts/basket/templates/basket-ingress.yaml
  11. 14
      etc/k8s/eshoponabp/charts/basket/templates/basket-service.yaml
  12. 30
      etc/k8s/eshoponabp/charts/basket/values.yaml
  13. 6
      etc/k8s/eshoponabp/charts/catalog/Chart.yaml
  14. 64
      etc/k8s/eshoponabp/charts/catalog/templates/catalog-deployment.yaml
  15. 27
      etc/k8s/eshoponabp/charts/catalog/templates/catalog-ingress.yaml
  16. 18
      etc/k8s/eshoponabp/charts/catalog/templates/catalog-service.yaml
  17. 35
      etc/k8s/eshoponabp/charts/catalog/values.yaml
  18. 6
      etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-configmap.yaml
  19. 6
      etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-deployment.yaml
  20. 8
      etc/k8s/eshoponabp/charts/gateway-web-public/values.yaml
  21. 6
      etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-deployment.yaml
  22. 4
      etc/k8s/eshoponabp/charts/gateway-web/values.yaml
  23. 24
      etc/k8s/eshoponabp/charts/identity/templates/identity-deployment.yaml
  24. 8
      etc/k8s/eshoponabp/charts/identity/values.yaml
  25. 6
      etc/k8s/eshoponabp/charts/ordering/Chart.yaml
  26. 53
      etc/k8s/eshoponabp/charts/ordering/templates/ordering-deployment.yaml
  27. 27
      etc/k8s/eshoponabp/charts/ordering/templates/ordering-ingress.yaml
  28. 14
      etc/k8s/eshoponabp/charts/ordering/templates/ordering-service.yaml
  29. 28
      etc/k8s/eshoponabp/charts/ordering/values.yaml
  30. 6
      etc/k8s/eshoponabp/charts/payment/Chart.yaml
  31. 53
      etc/k8s/eshoponabp/charts/payment/templates/payment-deployment.yaml
  32. 27
      etc/k8s/eshoponabp/charts/payment/templates/payment-ingress.yaml
  33. 14
      etc/k8s/eshoponabp/charts/payment/templates/payment-service.yaml
  34. 28
      etc/k8s/eshoponabp/charts/payment/values.yaml
  35. 123
      etc/k8s/eshoponabp/values.yaml
  36. 51
      services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/Dockerfile
  37. 51
      services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/Dockerfile
  38. 8
      services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/Dockerfile.local
  39. 51
      services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/Dockerfile
  40. 51
      services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/Dockerfile

49
build/build-images-locally.ps1

@ -2,18 +2,25 @@ param ($version='latest')
$currentFolder = $PSScriptRoot $currentFolder = $PSScriptRoot
$slnFolder = Join-Path $currentFolder "../" $slnFolder = Join-Path $currentFolder "../"
# Apps
$webAppFolder = Join-Path $slnFolder "apps/angular" $webAppFolder = Join-Path $slnFolder "apps/angular"
$authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer" $authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer"
$publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb" $publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb"
# Gateways
$webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway" $webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway"
$webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway" $webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway"
# Microservices
$identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host" $identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host"
$administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host" $administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host"
$basketServiceFolder = Join-Path $slnFolder "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host"
$catalogServiceFolder = Join-Path $slnFolder "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host"
$paymentServiceFolder = Join-Path $slnFolder "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host"
$orderingServiceFolder = Join-Path $slnFolder "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host"
$total = 11
### Angular WEB App(WWW) ### Angular WEB App(WWW)
Write-Host "*** BUILDING WEB (WWW) 1/7 ****************" -ForegroundColor Green Write-Host "*** BUILDING WEB (WWW) 1/$total ****************" -ForegroundColor Green
Set-Location $webAppFolder Set-Location $webAppFolder
yarn yarn
# ng build --prod # ng build --prod
@ -21,41 +28,65 @@ npm run build:prod
docker build -f Dockerfile.local -t eshoponabp/app-web:$version . docker build -f Dockerfile.local -t eshoponabp/app-web:$version .
### AUTH-SERVER ### AUTH-SERVER
Write-Host "*** BUILDING AUTH-SERVER 2/7 ****************" -ForegroundColor Green Write-Host "*** BUILDING AUTH-SERVER 2/$total ****************" -ForegroundColor Green
Set-Location $authserverFolder Set-Location $authserverFolder
dotnet publish -c Release dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/app-authserver:$version . docker build -f Dockerfile.local -t eshoponabp/app-authserver:$version .
### PUBLIC-WEB ### PUBLIC-WEB
Write-Host "*** BUILDING WEB-PUBLIC 3/7 ****************" -ForegroundColor Green Write-Host "*** BUILDING WEB-PUBLIC 3/$total ****************" -ForegroundColor Green
Set-Location $publicWebFolder Set-Location $publicWebFolder
dotnet publish -c Release dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/app-publicweb:$version . docker build -f Dockerfile.local -t eshoponabp/app-publicweb:$version .
### WEB-GATEWAY ### WEB-GATEWAY
Write-Host "*** BUILDING WEB-GATEWAY 4/7 ****************" -ForegroundColor Green Write-Host "*** BUILDING WEB-GATEWAY 4/$total ****************" -ForegroundColor Green
Set-Location $webGatewayFolder Set-Location $webGatewayFolder
dotnet publish -c Release dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/gateway-web:$version . docker build -f Dockerfile.local -t eshoponabp/gateway-web:$version .
### PUBLICWEB-GATEWAY ### PUBLICWEB-GATEWAY
Write-Host "*** BUILDING WEB-PUBLIC-GATEWAY 5/7 ****************" -ForegroundColor Green Write-Host "*** BUILDING WEB-PUBLIC-GATEWAY 5/$total ****************" -ForegroundColor Green
Set-Location $webPublicGatewayFolder Set-Location $webPublicGatewayFolder
dotnet publish -c Release dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/gateway-web-public:$version . docker build -f Dockerfile.local -t eshoponabp/gateway-web-public:$version .
### IDENTITY-SERVICE ### IDENTITY-SERVICE
Write-Host "*** BUILDING IDENTITY-SERVICE 6/7 ****************" -ForegroundColor Green Write-Host "*** BUILDING IDENTITY-SERVICE 6/$total ****************" -ForegroundColor Green
Set-Location $identityServiceFolder Set-Location $identityServiceFolder
dotnet publish -c Release dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/service-identity:$version . docker build -f Dockerfile.local -t eshoponabp/service-identity:$version .
### ADMINISTRATION-SERVICE ### ADMINISTRATION-SERVICE
Write-Host "*** BUILDING ADMINISTRATION-SERVICE 7/7 ****************" -ForegroundColor Green Write-Host "*** BUILDING ADMINISTRATION-SERVICE 7/$total ****************" -ForegroundColor Green
Set-Location $administrationServiceFolder Set-Location $administrationServiceFolder
dotnet publish -c Release dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/service-administration:$version . docker build -f Dockerfile.local -t eshoponabp/service-administration:$version .
### BASKET-SERVICE
Write-Host "**************** BUILDING BASKET-SERVICE 8/$total ****************" -ForegroundColor Green
Set-Location $basketServiceFolder
dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/service-basket:$version .
### CATALOG-SERVICE
Write-Host "**************** BUILDING CATALOG-SERVICE 9/$total ****************" -ForegroundColor Green
Set-Location $catalogServiceFolder
dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/service-catalog:$version .
### PAYMENT-SERVICE
Write-Host "**************** BUILDING PAYMENT-SERVICE 10/$total ****************" -ForegroundColor Green
Set-Location $paymentServiceFolder
dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/service-payment:$version .
### ORDERING-SERVICE
Write-Host "**************** BUILDING ORDERING-SERVICE 11/$total ****************" -ForegroundColor Green
Set-Location $orderingServiceFolder
dotnet publish -c Release
docker build -f Dockerfile.local -t eshoponabp/service-ordering:$version .
### ALL COMPLETED ### ALL COMPLETED
Write-Host "ALL COMPLETED" -ForegroundColor Green Write-Host "ALL COMPLETED" -ForegroundColor Green
Set-Location $currentFolder Set-Location $currentFolder

47
build/build-images.ps1

@ -1,58 +1,85 @@
param ($version='1.0') param ($version='latest')
$currentFolder = $PSScriptRoot $currentFolder = $PSScriptRoot
$slnFolder = Join-Path $currentFolder "../" $slnFolder = Join-Path $currentFolder "../"
# Apps
$webAppFolder = Join-Path $slnFolder "apps/angular" $webAppFolder = Join-Path $slnFolder "apps/angular"
$authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer" $authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer"
$publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb" $publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb"
# Gateways
$webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway" $webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway"
$webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway" $webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway"
# Microservices
$identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host" $identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host"
$administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host" $administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host"
$basketServiceFolder = Join-Path $slnFolder "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host"
$catalogServiceFolder = Join-Path $slnFolder "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host"
$paymentServiceFolder = Join-Path $slnFolder "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host"
$orderingServiceFolder = Join-Path $slnFolder "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host"
$total = 11
Write-Host "===== BUILDING APPLICATIONS =====" -ForegroundColor Yellow Write-Host "===== BUILDING APPLICATIONS =====" -ForegroundColor Yellow
### Angular WEB App ### Angular WEB App
Write-Host "*** BUILDING ANGULAR WEB APPLICATION 1/7 ***" -ForegroundColor Green Write-Host "*** BUILDING ANGULAR WEB APPLICATION 1/$total ***" -ForegroundColor Green
Set-Location $webAppFolder Set-Location $webAppFolder
docker build -f "$webAppFolder/Dockerfile" -t eshoponabp/app-web:$version . docker build -f "$webAppFolder/Dockerfile" -t eshoponabp/app-web:$version .
### AUTH-SERVER ### AUTH-SERVER
Write-Host "**************** BUILDING AUTH-SERVER 2/7 ****************" -ForegroundColor Green Write-Host "**************** BUILDING AUTH-SERVER 2/$total ****************" -ForegroundColor Green
Set-Location $slnFolder Set-Location $slnFolder
docker build -f "$authserverFolder/Dockerfile" -t eshoponabp/app-authserver:$version . docker build -f "$authserverFolder/Dockerfile" -t eshoponabp/app-authserver:$version .
### PUBLIC-WEB ### PUBLIC-WEB
Write-Host "**************** BUILDING WEB-PUBLIC 3/7 ****************" -ForegroundColor Green Write-Host "**************** BUILDING WEB-PUBLIC 3/$total ****************" -ForegroundColor Green
Set-Location $slnFolder Set-Location $slnFolder
docker build -f "$publicWebFolder/Dockerfile" -t eshoponabp/app-publicweb:$version . docker build -f "$publicWebFolder/Dockerfile" -t eshoponabp/app-publicweb:$version .
Write-Host "===== BUILDING GATEWAYS =====" -ForegroundColor Yellow Write-Host "===== BUILDING GATEWAYS =====" -ForegroundColor Yellow
### WEB-GATEWAY ### WEB-GATEWAY
Write-Host "**************** BUILDING WEB-GATEWAY 4/7 ****************" -ForegroundColor Green Write-Host "**************** BUILDING WEB-GATEWAY 4/$total ****************" -ForegroundColor Green
Set-Location $slnFolder Set-Location $slnFolder
docker build -f "$webGatewayFolder/Dockerfile" -t eshoponabp/gateway-web:$version . docker build -f "$webGatewayFolder/Dockerfile" -t eshoponabp/gateway-web:$version .
### PUBLICWEB-GATEWAY ### PUBLICWEB-GATEWAY
Write-Host "**************** BUILDING WEB-PUBLIC-GATEWAY 5/7 ****************" -ForegroundColor Green Write-Host "**************** BUILDING WEB-PUBLIC-GATEWAY 5/$total ****************" -ForegroundColor Green
Set-Location $slnFolder Set-Location $slnFolder
docker build -f "$webPublicGatewayFolder/Dockerfile" -t eshoponabp/gateway-web-public:$version . docker build -f "$webPublicGatewayFolder/Dockerfile" -t eshoponabp/gateway-web-public:$version .
Write-Host "===== BUILDING MICROSERVICES =====" -ForegroundColor Yellow Write-Host "===== BUILDING MICROSERVICES =====" -ForegroundColor Yellow
### IDENTITY-SERVICE ### IDENTITY-SERVICE
Write-Host "**************** BUILDING IDENTITY-SERVICE 6/7 ****************" -ForegroundColor Green Write-Host "**************** BUILDING IDENTITY-SERVICE 6/$total ****************" -ForegroundColor Green
Set-Location $slnFolder Set-Location $slnFolder
docker build -f "$identityServiceFolder/Dockerfile" -t eshoponabp/service-identity:$version . docker build -f "$identityServiceFolder/Dockerfile" -t eshoponabp/service-identity:$version .
### ADMINISTRATION-SERVICE ### ADMINISTRATION-SERVICE
Write-Host "**************** BUILDING ADMINISTRATION-SERVICE 7/7 ****************" -ForegroundColor Green Write-Host "**************** BUILDING ADMINISTRATION-SERVICE 7/$total ****************" -ForegroundColor Green
Set-Location $slnFolder Set-Location $slnFolder
docker build -f "$administrationServiceFolder/Dockerfile" -t eshoponabp/service-administration:$version . docker build -f "$administrationServiceFolder/Dockerfile" -t eshoponabp/service-administration:$version .
### BASKET-SERVICE
Write-Host "**************** BUILDING BASKET-SERVICE 8/$total ****************" -ForegroundColor Green
Set-Location $slnFolder
docker build -f "$basketServiceFolder/Dockerfile" -t eshoponabp/service-basket:$version .
### CATALOG-SERVICE
Write-Host "**************** BUILDING CATALOG-SERVICE 9/$total ****************" -ForegroundColor Green
Set-Location $slnFolder
docker build -f "$catalogServiceFolder/Dockerfile" -t eshoponabp/service-catalog:$version .
### PAYMENT-SERVICE
Write-Host "**************** BUILDING PAYMENT-SERVICE 10/$total ****************" -ForegroundColor Green
Set-Location $slnFolder
docker build -f "$paymentServiceFolder/Dockerfile" -t eshoponabp/service-payment:$version .
### ORDERING-SERVICE
Write-Host "**************** BUILDING ORDERING-SERVICE 11/$total ****************" -ForegroundColor Green
Set-Location $slnFolder
docker build -f "$orderingServiceFolder/Dockerfile" -t eshoponabp/service-ordering:$version .
### ALL COMPLETED ### ALL COMPLETED
Write-Host "ALL COMPLETED" -ForegroundColor Green Write-Host "ALL COMPLETED" -ForegroundColor Green
Set-Location $currentFolder Set-Location $currentFolder

4
etc/README.md

@ -23,6 +23,10 @@ helm install ingress-nginx ingress-nginx/ingress-nginx
127.0.0.1 eshop-st-authserver 127.0.0.1 eshop-st-authserver
127.0.0.1 eshop-st-identity 127.0.0.1 eshop-st-identity
127.0.0.1 eshop-st-administration 127.0.0.1 eshop-st-administration
127.0.0.1 eshop-st-basket
127.0.0.1 eshop-st-catalog
127.0.0.1 eshop-st-ordering
127.0.0.1 eshop-st-payment
127.0.0.1 eshop-st-gateway-web 127.0.0.1 eshop-st-gateway-web
127.0.0.1 eshop-st-gateway-web-public 127.0.0.1 eshop-st-gateway-web-public
```` ````

10
etc/k8s/eshoponabp/charts/administration/templates/administration-deployment.yaml

@ -23,8 +23,10 @@ spec:
env: env:
- name: App__SelfUrl - name: App__SelfUrl
value: "{{ .Values.config.selfUrl }}" value: "{{ .Values.config.selfUrl }}"
- name: RemoteServices__Default__BaseUrl - name: RemoteServices__AbpIdentity__BaseUrl
value: "{{ .Values.config.gatewayUrl }}" value: "{{ .Values.config.remoteServices.abpIdentityBaseUrl }}"
- name: RemoteServices__AbpIdentity__UseCurrentAccessToken
value: "{{ .Values.config.remoteServices.useCurrentToken }}"
- name: App__CorsOrigins - name: App__CorsOrigins
value: "{{ .Values.config.corsOrigins }}" value: "{{ .Values.config.corsOrigins }}"
- name: IdentityClients__Default__Authority - name: IdentityClients__Default__Authority
@ -39,6 +41,10 @@ spec:
value: "{{ .Values.config.authServer.authority }}" value: "{{ .Values.config.authServer.authority }}"
- name: "AuthServer__RequireHttpsMetadata" - name: "AuthServer__RequireHttpsMetadata"
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
- name: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.authServer.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.authServer.swaggerClientSecret }}"
- name: "StringEncryption__DefaultPassPhrase" - name: "StringEncryption__DefaultPassPhrase"
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
- name: "RabbitMQ__Connections__Default__HostName" - name: "RabbitMQ__Connections__Default__HostName"

6
etc/k8s/eshoponabp/charts/administration/values.yaml

@ -1,12 +1,16 @@
config: config:
selfUrl: # https://eshop-st-administration 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 corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-gateway-internal
connectionStrings: connectionStrings:
administrationService: # administrationService: #
authServer: authServer:
authority: http://eshop-st-authserver authority: http://eshop-st-authserver
requireHttpsMetadata: "false" requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
remoteServices:
abpIdentityBaseUrl: #
useCurrentToken: "false"
dotnetEnv: Staging dotnetEnv: Staging
redisHost: es-st-redis redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq rabbitmqHost: es-st-rabbitmq

8
etc/k8s/eshoponabp/charts/authserver/templates/authserver-deployment.yaml

@ -31,6 +31,14 @@ spec:
value: "{{ .Values.config.connectionStrings.identityService }}" value: "{{ .Values.config.connectionStrings.identityService }}"
- name: "ConnectionStrings__AdministrationService" - name: "ConnectionStrings__AdministrationService"
value: "{{ .Values.config.connectionStrings.administrationService }}" value: "{{ .Values.config.connectionStrings.administrationService }}"
- name: "AuthServer__Authority"
value: "{{ .Values.config.authServer.authority }}"
- name: "AuthServer__RequireHttpsMetadata"
value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
- name: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.authServer.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.authServer.swaggerClientSecret }}"
- name: "DOTNET_ENVIRONMENT" - name: "DOTNET_ENVIRONMENT"
value: "{{ .Values.config.dotnetEnv }}" value: "{{ .Values.config.dotnetEnv }}"
- name: "Redis__Configuration" - name: "Redis__Configuration"

7
etc/k8s/eshoponabp/charts/authserver/values.yaml

@ -4,7 +4,12 @@ config:
allowedRedirectUrls: https://eshop-st-web allowedRedirectUrls: https://eshop-st-web
connectionStrings: connectionStrings:
administrationService: # administrationService: #
identityService: # identityService: #
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: # dotnetEnv: #
redisHost: # redisHost: #
rabbitmqHost: # rabbitmqHost: #

6
etc/k8s/eshoponabp/charts/basket/Chart.yaml

@ -0,0 +1,6 @@
apiVersion: v2
name: basket
appVersion: "1.0"
description: eShopOnAbp Basket Microservice
version: 1.0.0
type: application

55
etc/k8s/eshoponabp/charts/basket/templates/basket-deployment.yaml

@ -0,0 +1,55 @@
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__AdministrationService"
value: {{ .Values.config.connectionStrings.administrationService }}
- 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: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.swaggerClientSecret }}"
- name: "StringEncryption__DefaultPassPhrase"
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
- name: "RemoteServices__Catalog__BaseUrl"
value: "{{ .Values.config.remoteServices.catalogBaseUrl }}"
- name: "RemoteServices__Catalog__GrpcUrl"
value: "{{ .Values.config.remoteServices.catalogGrpcUrl }}"
{{- if .Values.env }}
{{ toYaml .Values.env | indent 8 }}
{{- end }}

27
etc/k8s/eshoponabp/charts/basket/templates/basket-ingress.yaml

@ -0,0 +1,27 @@
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
spec:
tls:
- hosts:
- {{ .Values.ingress.host }}
secretName: {{ .Values.ingress.tlsSecret }}
rules:
- host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Release.Name }}-{{ .Chart.Name }}
port:
number: 80

14
etc/k8s/eshoponabp/charts/basket/templates/basket-service.yaml

@ -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 }}

30
etc/k8s/eshoponabp/charts/basket/values.yaml

@ -0,0 +1,30 @@
config:
selfUrl: # https://eshop-st-basket
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-public
connectionStrings:
administrationService: #
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: "WebGateway_Swagger"
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging
redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq
elasticsearchHost: es-st-elasticsearch
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
remoteServices:
catalogBaseUrl: #
catalogGrpcUrl: #
ingress:
host: eshop-st-basket
tlsSecret: eshop-demo-tls
image:
repository: eshoponabp/service-basket
tag: latest
pullPolicy: IfNotPresent
env: {}

6
etc/k8s/eshoponabp/charts/catalog/Chart.yaml

@ -0,0 +1,6 @@
apiVersion: v2
name: catalog
appVersion: "1.0"
description: eShopOnAbp Catalog Microservice
version: 1.0.0
type: application

64
etc/k8s/eshoponabp/charts/catalog/templates/catalog-deployment.yaml

@ -0,0 +1,64 @@
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
- name: grpc
containerPort: 81
protocol: TCP
env:
- name: App__SelfUrl
value: "{{ .Values.config.selfUrl }}"
- name: App__CorsOrigins
value: "{{ .Values.config.corsOrigins }}"
- name: "ConnectionStrings__CatalogService"
value: {{ .Values.config.connectionStrings.catalogService }}
- name: "ConnectionStrings__AdministrationService"
value: {{ .Values.config.connectionStrings.administrationService }}
- 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: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.authServer.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.authServer.swaggerClientSecret }}"
- name: "StringEncryption__DefaultPassPhrase"
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
- name: "Kestrel__Endpoints__Http__Url"
value: "{{ .Values.config.kestrel.httpUrl }}"
- name: "Kestrel__Endpoints__Http__Protocols"
value: "{{ .Values.config.kestrel.httpProtocols }}"
- name: "Kestrel__Endpoints__gRPC__Url"
value: "{{ .Values.config.kestrel.grpcUrl }}"
- name: "Kestrel__Endpoints__gRPC__Protocols"
value: "{{ .Values.config.kestrel.grpcProtocols }}"
{{- if .Values.env }}
{{ toYaml .Values.env | indent 8 }}
{{- end }}

27
etc/k8s/eshoponabp/charts/catalog/templates/catalog-ingress.yaml

@ -0,0 +1,27 @@
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
spec:
tls:
- hosts:
- {{ .Values.ingress.host }}
secretName: {{ .Values.ingress.tlsSecret }}
rules:
- host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Release.Name }}-{{ .Chart.Name }}
port:
number: 80

18
etc/k8s/eshoponabp/charts/catalog/templates/catalog-service.yaml

@ -0,0 +1,18 @@
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
- port: {{ .Values.config.grpcPort }}
targetPort: grpc
protocol: TCP
name: grpc
selector:
app: {{ .Release.Name }}-{{ .Chart.Name }}

35
etc/k8s/eshoponabp/charts/catalog/values.yaml

@ -0,0 +1,35 @@
config:
selfUrl: # https://eshop-st-catalog
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-public,https://eshop-st-web
connectionStrings:
catalogService: #
administrationService: #
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging
redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq
elasticsearchHost: es-st-elasticsearch
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
grpcPort: 81
kestrel:
httpUrl: #
httpProtocols: Http1AndHttp2
grpcUrl: #
grpcProtocols: Http2
ingress:
host: eshop-st-catalog
tlsSecret: eshop-demo-tls
image:
repository: eshoponabp/service-catalog
tag: latest
pullPolicy: IfNotPresent
env: {}

6
etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-configmap.yaml

@ -61,11 +61,11 @@ data:
{ {
"ServiceKey": "Ordering Service", "ServiceKey": "Ordering Service",
"DownstreamPathTemplate": "/api/ordering/{everything}", "DownstreamPathTemplate": "/api/ordering/{everything}",
"DownstreamScheme": "{{ .Values.reRoutes.orderService.schema }}", "DownstreamScheme": "{{ .Values.reRoutes.orderingService.schema }}",
"DownstreamHostAndPorts": [ "DownstreamHostAndPorts": [
{ {
"Host": "{{ .Values.reRoutes.orderService.host }}", "Host": "{{ .Values.reRoutes.orderingService.host }}",
"Port": "{{ .Values.reRoutes.orderService.port }}", "Port": "{{ .Values.reRoutes.orderingService.port }}",
} }
], ],
"UpstreamPathTemplate": "/api/ordering/{everything}", "UpstreamPathTemplate": "/api/ordering/{everything}",

6
etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-deployment.yaml

@ -38,7 +38,11 @@ spec:
- name: "AuthServer__Authority" - name: "AuthServer__Authority"
value: "{{ .Values.config.authServer.authority }}" value: "{{ .Values.config.authServer.authority }}"
- name: "AuthServer__RequireHttpsMetadata" - name: "AuthServer__RequireHttpsMetadata"
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
- name: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.authServer.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.authServer.swaggerClientSecret }}"
- name: "ElasticSearch__Url" - name: "ElasticSearch__Url"
value: "{{ .Values.config.elasticsearchHost }}" value: "{{ .Values.config.elasticsearchHost }}"
- name: "StringEncryption__DefaultPassPhrase" - name: "StringEncryption__DefaultPassPhrase"

8
etc/k8s/eshoponabp/charts/gateway-web-public/values.yaml

@ -3,7 +3,9 @@ config:
globalConfigurationBaseUrl: http://eshop-st-gateway-public-web globalConfigurationBaseUrl: http://eshop-st-gateway-public-web
authServer: authServer:
authority: http://eshop-st-authserver authority: http://eshop-st-authserver
requireHttpsMetadata: "false" requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging dotnetEnv: Staging
redisHost: es-st-redis redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq rabbitmqHost: es-st-rabbitmq
@ -27,9 +29,9 @@ reRoutes:
schema: http schema: http
host: eshop-st-basket host: eshop-st-basket
port: 80 port: 80
orderService: orderingService:
schema: http schema: http
host: eshop-st-order host: eshop-st-ordering
port: 80 port: 80
ingress: ingress:

6
etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-deployment.yaml

@ -40,7 +40,11 @@ spec:
- name: "AuthServer__Authority" - name: "AuthServer__Authority"
value: "{{ .Values.config.authServer.authority }}" value: "{{ .Values.config.authServer.authority }}"
- name: "AuthServer__RequireHttpsMetadata" - name: "AuthServer__RequireHttpsMetadata"
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
- name: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.authServer.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.authServer.swaggerClientSecret }}"
- name: "ElasticSearch__Url" - name: "ElasticSearch__Url"
value: "{{ .Values.config.elasticsearchHost }}" value: "{{ .Values.config.elasticsearchHost }}"
- name: "StringEncryption__DefaultPassPhrase" - name: "StringEncryption__DefaultPassPhrase"

4
etc/k8s/eshoponabp/charts/gateway-web/values.yaml

@ -4,7 +4,9 @@ config:
globalConfigurationBaseUrl: # http://eshop-st-gateway-web globalConfigurationBaseUrl: # http://eshop-st-gateway-web
authServer: authServer:
authority: http://eshop-st-authserver authority: http://eshop-st-authserver
requireHttpsMetadata: "false" requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: # dotnetEnv: #
redisHost: # redisHost: #
rabbitmqHost: # rabbitmqHost: #

24
etc/k8s/eshoponabp/charts/identity/templates/identity-deployment.yaml

@ -41,22 +41,34 @@ spec:
value: "{{ .Values.config.authServer.authority }}" value: "{{ .Values.config.authServer.authority }}"
- name: "AuthServer__RequireHttpsMetadata" - name: "AuthServer__RequireHttpsMetadata"
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
- name: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.authServer.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.authServer.swaggerClientSecret }}"
- name: "StringEncryption__DefaultPassPhrase" - name: "StringEncryption__DefaultPassPhrase"
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
- name: "IdentityServerClients__Web__RootUrl" - name: "IdentityServerClients__Web__RootUrl"
value: {{ .Values.identityServerClients.webRootUrl }} value: {{ .Values.identityServerClients.webRootUrl }}
- name: "IdentityServerClients__PublicWeb__RootUrl" - name: "IdentityServerClients__PublicWeb__RootUrl"
value: {{ .Values.identityServerClients.publicWebRootUrl }} value: {{ .Values.identityServerClients.publicWebRootUrl }}
- name: "IdentityServerClients__PublicWebGateway__RootUrl"
value: {{ .Values.identityServerClients.publicWebGatewayRootUrl }}
- name: "IdentityServerClients__WebGateway__RootUrl"
value: {{ .Values.identityServerClients.webGatewayRootUrl }}
- name: "IdentityServerClients__IdentityService__RootUrl" - name: "IdentityServerClients__IdentityService__RootUrl"
value: {{ .Values.identityServerClients.identityServiceRootUrl }} value: {{ .Values.identityServerClients.identityServiceRootUrl }}
- name: "IdentityServerClients__AdministrationService__RootUrl" - name: "IdentityServerClients__AdministrationService__RootUrl"
value: {{ .Values.identityServerClients.administrationServiceRootUrl }} value: {{ .Values.identityServerClients.administrationServiceRootUrl }}
- name: "IdentityServerClients__InternalGateway__RootUrl" - name: "IdentityServerClients__AccountService__RootUrl"
value: {{ .Values.identityServerClients.webRootUrl }} value: {{ .Values.identityServerClients.accountServiceRootUrl }}
- name: "IdentityServerClients__PublicWebGateway__RootUrl" - name: "IdentityServerClients__BasketService__RootUrl"
value: {{ .Values.identityServerClients.publicWebRootUrl }} value: {{ .Values.identityServerClients.basketServiceRootUrl }}
- name: "IdentityServerClients__WebGateway__RootUrl" - name: "IdentityServerClients__CatalogService__RootUrl"
value: {{ .Values.identityServerClients.webGatewayRootUrl }} value: {{ .Values.identityServerClients.catalogServiceRootUrl }}
- name: "IdentityServerClients__OrderingService__RootUrl"
value: {{ .Values.identityServerClients.orderingServiceRootUrl }}
- name: "IdentityServerClients__PaymentService__RootUrl"
value: {{ .Values.identityServerClients.paymentServiceRootUrl }}
{{- if .Values.env }} {{- if .Values.env }}
{{ toYaml .Values.env | indent 8 }} {{ toYaml .Values.env | indent 8 }}
{{- end }} {{- end }}

8
etc/k8s/eshoponabp/charts/identity/values.yaml

@ -7,6 +7,8 @@ config:
authServer: authServer:
authority: http://eshop-st-authserver authority: http://eshop-st-authserver
requireHttpsMetadata: "false" requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging dotnetEnv: Staging
redisHost: es-st-redis redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq rabbitmqHost: es-st-rabbitmq
@ -19,8 +21,14 @@ identityServerClients:
publicWebRootUrl: # publicWebRootUrl: #
webGatewayRootUrl: # webGatewayRootUrl: #
publicWebGatewayRootUrl: # publicWebGatewayRootUrl: #
accountServiceRootUrl: #
identityServiceRootUrl: # identityServiceRootUrl: #
administrationServiceRootUrl: # administrationServiceRootUrl: #
basketServiceRootUrl: #
catalogServiceRootUrl: #
orderingServiceRootUrl: #
paymentServiceRootUrl: #
ingress: ingress:
host: eshop-st-identity host: eshop-st-identity

6
etc/k8s/eshoponabp/charts/ordering/Chart.yaml

@ -0,0 +1,6 @@
apiVersion: v2
name: ordering
appVersion: "1.0"
description: eShopOnAbp Ordering Microservice
version: 1.0.0
type: application

53
etc/k8s/eshoponabp/charts/ordering/templates/ordering-deployment.yaml

@ -0,0 +1,53 @@
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__OrderingService"
value: {{ .Values.config.connectionStrings.orderingService }}
- name: "ConnectionStrings__AdministrationService"
value: {{ .Values.config.connectionStrings.administrationService }}
- 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: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.authServer.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.authServer.swaggerClientSecret }}"
- name: "StringEncryption__DefaultPassPhrase"
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
{{- if .Values.env }}
{{ toYaml .Values.env | indent 8 }}
{{- end }}

27
etc/k8s/eshoponabp/charts/ordering/templates/ordering-ingress.yaml

@ -0,0 +1,27 @@
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
spec:
tls:
- hosts:
- {{ .Values.ingress.host }}
secretName: {{ .Values.ingress.tlsSecret }}
rules:
- host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Release.Name }}-{{ .Chart.Name }}
port:
number: 80

14
etc/k8s/eshoponabp/charts/ordering/templates/ordering-service.yaml

@ -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 }}

28
etc/k8s/eshoponabp/charts/ordering/values.yaml

@ -0,0 +1,28 @@
config:
selfUrl: # https://eshop-st-ordering
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web
connectionStrings:
orderingService: #
administrationService: #
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging
redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq
elasticsearchHost: es-st-elasticsearch
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
ingress:
host: eshop-st-ordering
tlsSecret: eshop-demo-tls
image:
repository: eshoponabp/service-ordering
tag: latest
pullPolicy: IfNotPresent
env: {}

6
etc/k8s/eshoponabp/charts/payment/Chart.yaml

@ -0,0 +1,6 @@
apiVersion: v2
name: payment
appVersion: "1.0"
description: eShopOnAbp Payment Microservice
version: 1.0.0
type: application

53
etc/k8s/eshoponabp/charts/payment/templates/payment-deployment.yaml

@ -0,0 +1,53 @@
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__PaymentService"
value: {{ .Values.config.connectionStrings.paymentService }}
- name: "ConnectionStrings__AdministrationService"
value: {{ .Values.config.connectionStrings.administrationService }}
- 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: "AuthServer__SwaggerClientId"
value: "{{ .Values.config.authServer.swaggerClientId }}"
- name: "AuthServer__SwaggerClientSecret"
value: "{{ .Values.config.authServer.swaggerClientSecret }}"
- name: "StringEncryption__DefaultPassPhrase"
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
{{- if .Values.env }}
{{ toYaml .Values.env | indent 8 }}
{{- end }}

27
etc/k8s/eshoponabp/charts/payment/templates/payment-ingress.yaml

@ -0,0 +1,27 @@
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
spec:
tls:
- hosts:
- {{ .Values.ingress.host }}
secretName: {{ .Values.ingress.tlsSecret }}
rules:
- host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Release.Name }}-{{ .Chart.Name }}
port:
number: 80

14
etc/k8s/eshoponabp/charts/payment/templates/payment-service.yaml

@ -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 }}

28
etc/k8s/eshoponabp/charts/payment/values.yaml

@ -0,0 +1,28 @@
config:
selfUrl: # https://eshop-st-payment
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web
connectionStrings:
paymentService: #
administrationService: #
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging
redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq
elasticsearchHost: es-st-elasticsearch
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
ingress:
host: eshop-st-payment
tlsSecret: eshop-demo-tls
image:
repository: eshoponabp/service-payment
tag: latest
pullPolicy: IfNotPresent
env: {}

123
etc/k8s/eshoponabp/values.yaml

@ -2,7 +2,7 @@
authserver: authserver:
config: config:
selfUrl: https://eshop-st-authserver selfUrl: https://eshop-st-authserver
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-gateway-internal corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-identity,https://eshop-st-administration,https://eshop-st-basket,https://eshop-st-catalog,https://eshop-st-ordering,https://eshop-st-payment
allowedRedirectUrls: https://eshop-st-web allowedRedirectUrls: https://eshop-st-web
connectionStrings: connectionStrings:
administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false"
@ -57,6 +57,8 @@ identity:
authServer: authServer:
authority: http://eshop-st-authserver authority: http://eshop-st-authserver
requireHttpsMetadata: "false" requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging dotnetEnv: Staging
redisHost: es-st-redis redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq rabbitmqHost: es-st-rabbitmq
@ -68,6 +70,11 @@ identity:
publicWebGatewayRootUrl: https://eshop-st-gateway-web-public/ publicWebGatewayRootUrl: https://eshop-st-gateway-web-public/
identityServiceRootUrl: https://eshop-st-identity/ identityServiceRootUrl: https://eshop-st-identity/
administrationServiceRootUrl: https://eshop-st-administration/ administrationServiceRootUrl: https://eshop-st-administration/
accountServiceRootUrl: https://eshop-st-authserver/
basketServiceRootUrl: https://eshop-st-basket/
catalogServiceRootUrl: https://eshop-st-catalog/
orderingServiceRootUrl: https://eshop-st-ordering/
paymentServiceRootUrl: https://eshop-st-payment/
ingress: ingress:
host: eshop-st-identity host: eshop-st-identity
image: image:
@ -78,13 +85,17 @@ identity:
administration: administration:
config: config:
selfUrl: https://eshop-st-administration selfUrl: https://eshop-st-administration
gatewayUrl: https://eshop-st-gateway-internal/
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-gateway-internal corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-gateway-internal
connectionStrings: connectionStrings:
administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false"
authServer: authServer:
authority: http://eshop-st-authserver authority: http://eshop-st-authserver
requireHttpsMetadata: "false" requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
remoteServices:
abpIdentityBaseUrl: https://eshop-st-identity
useCurrentToken: "false"
dotnetEnv: Staging dotnetEnv: Staging
redisHost: es-st-redis redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq rabbitmqHost: es-st-rabbitmq
@ -106,6 +117,8 @@ gateway-web:
authServer: authServer:
authority: http://eshop-st-authserver authority: http://eshop-st-authserver
requireHttpsMetadata: "false" requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging dotnetEnv: Staging
redisHost: es-st-redis redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq rabbitmqHost: es-st-rabbitmq
@ -132,8 +145,10 @@ gateway-web-public:
selfUrl: https://eshop-st-gateway-web-public selfUrl: https://eshop-st-gateway-web-public
globalConfigurationBaseUrl: http://eshop-st-gateway-public-web globalConfigurationBaseUrl: http://eshop-st-gateway-public-web
authServer: authServer:
authority: http://eshop-st-AUTHSERVER authority: http://eshop-st-authserver
requireHttpsMetadata: "false" requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging dotnetEnv: Staging
redisHost: es-st-redis redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq rabbitmqHost: es-st-rabbitmq
@ -161,11 +176,109 @@ gateway-web-public:
schema: http schema: http
host: eshop-st-basket host: eshop-st-basket
port: 80 port: 80
orderService: orderingService:
schema: http schema: http
host: eshop-st-order host: eshop-st-ordering
port: 80 port: 80
# basket-service sub-chart override
basket:
config:
selfUrl: https://eshop-st-basket
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-public-web
connectionStrings:
administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false"
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging
redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq
elasticsearchHost: es-st-elasticsearch
remoteServices:
catalogBaseUrl: http://eshop-st-catalog
catalogGrpcUrl: http://eshop-st-catalog
ingress:
host: eshop-st-basket
image:
repository: "eshoponabp/service-basket"
tag: latest
# catalog-service sub-chart override
catalog:
config:
selfUrl: https://eshop-st-catalog
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-public-web,https://eshop-st-web
connectionStrings:
catalogService: "mongodb://es-st-mongodb/EShopOnAbp_Catalog"
administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false"
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging
redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq
elasticsearchHost: es-st-elasticsearch
kestrel:
httpUrl: http://eshop-st-catalog:80
httpProtocols: Http1AndHttp2
grpcUrl: http://eshop-st-catalog:81
grpcProtocols: Http2
ingress:
host: eshop-st-catalog
image:
repository: "eshoponabp/service-catalog"
tag: latest
# ordering-service sub-chart override
ordering:
config:
selfUrl: https://eshop-st-ordering
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public
connectionStrings:
orderingService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Ordering;User ID=postgres;password=myPassw0rd;Pooling=false"
administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false"
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging
redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq
elasticsearchHost: es-st-elasticsearch
ingress:
host: eshop-st-ordering
image:
repository: "eshoponabp/service-ordering"
tag: latest
# payment-service sub-chart override
payment:
config:
selfUrl: https://eshop-st-payment
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public
connectionStrings:
paymentService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Payment;User ID=postgres;password=myPassw0rd;Pooling=false"
administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false"
authServer:
authority: http://eshop-st-authserver
requireHttpsMetadata: "false"
swaggerClientId: WebGateway_Swagger
swaggerClientSecret: "1q2w3e*"
dotnetEnv: Staging
redisHost: es-st-redis
rabbitmqHost: es-st-rabbitmq
elasticsearchHost: es-st-elasticsearch
ingress:
host: eshop-st-payment
image:
repository: "eshoponabp/service-payment"
tag: latest
# Default values for eshoponabp. # Default values for eshoponabp.
# This is a YAML-formatted file. # This is a YAML-formatted file.

51
services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/Dockerfile

@ -0,0 +1,51 @@
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/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/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host"
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.BasketService.HttpApi.Host.dll"]

51
services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/Dockerfile

@ -0,0 +1,51 @@
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/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/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host"
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.CatalogService.HttpApi.Host.dll"]

8
services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/Dockerfile.local

@ -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.CatalogService.HttpApi.Host.dll"] ENTRYPOINT ["dotnet", "EShopOnAbp.CatalogService.HttpApi.Host.dll"]

51
services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/Dockerfile

@ -0,0 +1,51 @@
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/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/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host"
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.OrderingService.HttpApi.Host.dll"]

51
services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/Dockerfile

@ -0,0 +1,51 @@
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/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/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host"
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.PaymentService.HttpApi.Host.dll"]
Loading…
Cancel
Save