84 changed files with 2860 additions and 0 deletions
@ -0,0 +1,72 @@ |
|||||
|
* Install the `cert-manager` on petclinic cluster. See [Cert-Manager info](https://cert-manager.io/docs/). |
||||
|
|
||||
|
* Create the namespace for ingress-basic |
||||
|
|
||||
|
```bash |
||||
|
kubectl create namespace cert-ingress-basic |
||||
|
``` |
||||
|
|
||||
|
* Add the Jetstack Helm repository. |
||||
|
|
||||
|
```bash |
||||
|
helm repo add jetstack https://charts.jetstack.io |
||||
|
``` |
||||
|
|
||||
|
* Update your local Helm chart repository. |
||||
|
|
||||
|
```bash |
||||
|
helm repo update |
||||
|
``` |
||||
|
|
||||
|
* Install the `Custom Resource Definition` resources separately |
||||
|
|
||||
|
```bash |
||||
|
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.7.1/cert-manager.crds.yaml |
||||
|
``` |
||||
|
|
||||
|
* Install the cert-manager Helm chart |
||||
|
|
||||
|
```bash |
||||
|
helm install \ |
||||
|
cert-manager jetstack/cert-manager \ |
||||
|
--namespace ingress-basic \ |
||||
|
--version v1.7.1 |
||||
|
``` |
||||
|
|
||||
|
* Verify that the cert-manager is deployed correctly. |
||||
|
|
||||
|
```bash |
||||
|
kubectl get pods --namespace ingress-basic -o wide |
||||
|
``` |
||||
|
|
||||
|
* Create `ClusterIssuer` with name of `tls-cluster-issuer-prod.yml` for the production certificate through `Let's Encrypt ACME` (Automated Certificate Management Environment) with following content by importing YAML file on Ranhcer and save it under `k8s` folder. *Note that certificate will only be created after annotating and updating the `Ingress` resource.* |
||||
|
|
||||
|
```yaml |
||||
|
apiVersion: cert-manager.io/v1 |
||||
|
kind: ClusterIssuer |
||||
|
metadata: |
||||
|
name: letsencrypt |
||||
|
spec: |
||||
|
acme: |
||||
|
# The ACME server URL |
||||
|
server: https://acme-v02.api.letsencrypt.org/directory |
||||
|
# Email address used for ACME registration |
||||
|
email: info@volosoft.com |
||||
|
# Name of a secret used to store the ACME account private key |
||||
|
privateKeySecretRef: |
||||
|
name: letsencrypt |
||||
|
# Enable the HTTP-01 challenge provider |
||||
|
solvers: |
||||
|
- http01: |
||||
|
ingress: |
||||
|
class: nginx |
||||
|
``` |
||||
|
|
||||
|
* Check if `ClusterIssuer` resource is created. |
||||
|
|
||||
|
```bash |
||||
|
kubectl apply -f etc/azure/cluster-issuer.yaml |
||||
|
kubectl get clusterissuers letsencrypt -n ingress-basic -o wide |
||||
|
``` |
||||
|
|
||||
|
* Issue production Let’s Encrypt Certificate by annotating and adding ingress resource |
||||
@ -0,0 +1,18 @@ |
|||||
|
apiVersion: cert-manager.io/v1 |
||||
|
kind: ClusterIssuer |
||||
|
metadata: |
||||
|
name: letsencrypt |
||||
|
spec: |
||||
|
acme: |
||||
|
# The ACME server URL |
||||
|
server: https://acme-v02.api.letsencrypt.org/directory |
||||
|
# Email address used for ACME registration |
||||
|
email: info@volosoft.com |
||||
|
# Name of a secret used to store the ACME account private key |
||||
|
privateKeySecretRef: |
||||
|
name: letsencrypt |
||||
|
# Enable the HTTP-01 challenge provider |
||||
|
solvers: |
||||
|
- http01: |
||||
|
ingress: |
||||
|
class: nginx |
||||
@ -0,0 +1 @@ |
|||||
|
helm upgrade --install es-st eshoponabp --namespace eshop --create-namespace |
||||
@ -0,0 +1,23 @@ |
|||||
|
# Patterns to ignore when building packages. |
||||
|
# This supports shell glob matching, relative path matching, and |
||||
|
# negation (prefixed with !). Only one pattern per line. |
||||
|
.DS_Store |
||||
|
# Common VCS dirs |
||||
|
.git/ |
||||
|
.gitignore |
||||
|
.bzr/ |
||||
|
.bzrignore |
||||
|
.hg/ |
||||
|
.hgignore |
||||
|
.svn/ |
||||
|
# Common backup files |
||||
|
*.swp |
||||
|
*.bak |
||||
|
*.tmp |
||||
|
*.orig |
||||
|
*~ |
||||
|
# Various IDEs |
||||
|
.project |
||||
|
.idea/ |
||||
|
*.tmproj |
||||
|
.vscode/ |
||||
@ -0,0 +1,24 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: eshoponabp |
||||
|
description: A Helm chart for Kubernetes |
||||
|
|
||||
|
# A chart can be either an 'application' or a 'library' chart. |
||||
|
# |
||||
|
# Application charts are a collection of templates that can be packaged into versioned archives |
||||
|
# to be deployed. |
||||
|
# |
||||
|
# Library charts provide useful utilities or functions for the chart developer. They're included as |
||||
|
# a dependency of application charts to inject those utilities and functions into the rendering |
||||
|
# pipeline. Library charts do not define any templates and therefore cannot be deployed. |
||||
|
type: application |
||||
|
|
||||
|
# This is the chart version. This version number should be incremented each time you make changes |
||||
|
# to the chart and its templates, including the app version. |
||||
|
# Versions are expected to follow Semantic Versioning (https://semver.org/) |
||||
|
version: 0.1.0 |
||||
|
|
||||
|
# This is the version number of the application being deployed. This version number should be |
||||
|
# incremented each time you make changes to the application. Versions are not expected to |
||||
|
# follow Semantic Versioning. They should reflect the version the application is using. |
||||
|
# It is recommended to use it with quotes. |
||||
|
appVersion: "1.16.0" |
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: administration |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Administration Microservice |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,56 @@ |
|||||
|
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__AbpIdentity__BaseUrl |
||||
|
value: "{{ .Values.config.remoteServices.abpIdentityBaseUrl }}" |
||||
|
- name: RemoteServices__AbpIdentity__UseCurrentAccessToken |
||||
|
value: "{{ .Values.config.remoteServices.useCurrentToken }}" |
||||
|
- name: App__CorsOrigins |
||||
|
value: "{{ .Values.config.corsOrigins }}" |
||||
|
- name: IdentityClients__Default__Authority |
||||
|
value: "{{ .Values.synchedCommunication.authority }}" |
||||
|
- name: "ConnectionStrings__AdministrationService" |
||||
|
value: "{{ .Values.config.connectionStrings.administrationService }}" |
||||
|
- 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: "AuthServer__SwaggerClientId" |
||||
|
value: "{{ .Values.config.authServer.swaggerClientId }}" |
||||
|
- name: "AuthServer__SwaggerClientSecret" |
||||
|
value: "{{ .Values.config.authServer.swaggerClientSecret }}" |
||||
|
- 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,28 @@ |
|||||
|
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: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
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,36 @@ |
|||||
|
config: |
||||
|
selfUrl: # https://eshop-st-administration |
||||
|
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-gateway-internal |
||||
|
connectionStrings: |
||||
|
administrationService: # |
||||
|
authServer: |
||||
|
authority: http://eshop-st-authserver |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
remoteServices: |
||||
|
abpIdentityBaseUrl: # |
||||
|
useCurrentToken: "false" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: # |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
|
||||
|
synchedCommunication: |
||||
|
grantType: # "client_credentials" |
||||
|
clientId: # |
||||
|
clientSecret: # |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
scope: # "IdentityService" |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-administration |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-administration |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: authserver |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp AuthServer Application |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -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: App__RedirectAllowedUrls |
||||
|
value: "{{ .Values.config.allowedRedirectUrls }}" |
||||
|
- name: "ConnectionStrings__IdentityService" |
||||
|
value: "{{ .Values.config.connectionStrings.identityService }}" |
||||
|
- name: "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" |
||||
|
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,30 @@ |
|||||
|
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 |
||||
|
nginx.ingress.kubernetes.io/configuration-snippet: | |
||||
|
more_set_input_headers "from-ingress: true"; |
||||
|
spec: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
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,28 @@ |
|||||
|
config: |
||||
|
selfUrl: # https://eshop-st-authserver |
||||
|
corsOrigins: # https://eshop-st-identity,https://eshop-st-administration |
||||
|
allowedRedirectUrls: https://eshop-st-web |
||||
|
connectionStrings: |
||||
|
administrationService: # |
||||
|
identityService: # |
||||
|
authServer: |
||||
|
authority: http://eshop-st-authserver |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: # |
||||
|
redisHost: # |
||||
|
rabbitmqHost: # |
||||
|
elasticsearchHost: # |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-authserver |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/app-authserver |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: basket |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Basket Microservice |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -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 }} |
||||
|
|
||||
@ -0,0 +1,28 @@ |
|||||
|
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: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
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,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-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-basket |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
|
|
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: catalog |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Catalog Microservice |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -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: grpc |
||||
|
containerPort: 81 |
||||
|
protocol: TCP |
||||
|
env: |
||||
|
- name: "ASPNETCORE_URLS" |
||||
|
value: "http://+:80;http://+:81" |
||||
|
- name: "DOTNET_ENVIRONMENT" |
||||
|
value: "{{ .Values.config.dotnetEnv }}" |
||||
|
- 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: "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 }} |
||||
|
|
||||
@ -0,0 +1,28 @@ |
|||||
|
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: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
http: |
||||
|
paths: |
||||
|
- path: / |
||||
|
pathType: Prefix |
||||
|
backend: |
||||
|
service: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
port: |
||||
|
number: 80 |
||||
@ -0,0 +1,16 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
labels: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
ports: |
||||
|
- name: "http" |
||||
|
port: 80 |
||||
|
- name: grpc |
||||
|
targetPort: grpc |
||||
|
protocol: TCP |
||||
|
port: {{ .Values.config.grpcPort }} |
||||
|
selector: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
@ -0,0 +1,36 @@ |
|||||
|
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: http://eshop-st-catalog:80 |
||||
|
httpProtocols: Http1AndHttp2 |
||||
|
grpcUrl: http://eshop-st-catalog:81 |
||||
|
grpcProtocols: Http2 |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-catalog |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-catalog |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: { |
||||
|
# ASPNETCORE_URLS=http://+:80;http://+:81 |
||||
|
} |
||||
|
|
||||
@ -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,106 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap |
||||
|
data: |
||||
|
yarp.json: |- |
||||
|
{ |
||||
|
"ReverseProxy": { |
||||
|
"Routes": { |
||||
|
"Account Service": { |
||||
|
"ClusterId": "account-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/account/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"Administration Service": { |
||||
|
"ClusterId": "administration-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/abp/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"Catalog Service": { |
||||
|
"ClusterId": "catalog-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/catalog/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"Basket Service": { |
||||
|
"ClusterId": "basket-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/basket/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"Ordering Service": { |
||||
|
"ClusterId": "ordering-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/ordering/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"Payment Service": { |
||||
|
"ClusterId": "payment-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/payment/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"product-picture-route": { |
||||
|
"ClusterId": "product-picture-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/product-images/{**everything}", |
||||
|
"Methods" : [ "GET" ] |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"Clusters": { |
||||
|
"account-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.accountService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"administration-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.administrationService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"catalog-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.catalogService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"product-picture-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.catalogService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"basket-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.basketService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"ordering-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.orderingService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"payment-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.paymentService.url }}" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -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/yarp.json |
||||
|
subPath: yarp.json |
||||
|
env: |
||||
|
- name: App__SelfUrl |
||||
|
value: "{{ .Values.config.selfUrl }}" |
||||
|
- 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: "AuthServer__SwaggerClientId" |
||||
|
value: "{{ .Values.config.authServer.swaggerClientId }}" |
||||
|
- name: "AuthServer__SwaggerClientSecret" |
||||
|
value: "{{ .Values.config.authServer.swaggerClientSecret }}" |
||||
|
- name: "ElasticSearch__Url" |
||||
|
value: "{{ .Values.config.elasticsearchHost }}" |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
|
volumes: |
||||
|
- name: config-volume |
||||
|
configMap: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap |
||||
@ -0,0 +1,28 @@ |
|||||
|
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: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
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,38 @@ |
|||||
|
config: |
||||
|
selfUrl: https://gateway-public.eshoponabp.com |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: es-st-elasticsearch |
||||
|
|
||||
|
reRoutes: |
||||
|
accountService: |
||||
|
url: https://auth.eshoponabp.com |
||||
|
identityService: |
||||
|
url: https://identity.eshoponabp.com |
||||
|
administrationService: |
||||
|
url: https://administration.eshoponabp.com |
||||
|
catalogService: |
||||
|
url: https://catalog.eshoponabp.com |
||||
|
basketService: |
||||
|
url: https://basket.eshoponabp.com |
||||
|
orderingService: |
||||
|
url: https://order.eshoponabp.com |
||||
|
paymentService: |
||||
|
url: https://payment.eshoponabp.com |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-gateway-web-public |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/gateway-web-public |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: gateway-web |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Web Gateway Application |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,92 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap |
||||
|
data: |
||||
|
yarp.json: |- |
||||
|
{ |
||||
|
"ReverseProxy": { |
||||
|
"Routes": { |
||||
|
"Account Service": { |
||||
|
"ClusterId": "account-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/account/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"Identity Service": { |
||||
|
"ClusterId": "identity-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/identity/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"Administration Service": { |
||||
|
"ClusterId": "administration-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/abp/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"feature-management-route": { |
||||
|
"ClusterId": "feature-management-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/feature-management/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"permission-management-route": { |
||||
|
"ClusterId": "permission-management-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/permission-management/{**everything}" |
||||
|
} |
||||
|
}, |
||||
|
"setting-management-route": { |
||||
|
"ClusterId": "setting-management-cluster", |
||||
|
"Match": { |
||||
|
"Path": "/api/setting-management/{**everything}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"Clusters": { |
||||
|
"account-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.accountService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"identity-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.identityService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"administration-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.administrationService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"feature-management-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.administrationService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"permission-management-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.administrationService.url }}" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"setting-management-cluster": { |
||||
|
"Destinations": { |
||||
|
"destination1": { |
||||
|
"Address": "{{ .Values.reRoutes.administrationService.url }}" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,58 @@ |
|||||
|
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/yarp.json |
||||
|
subPath: yarp.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: "AuthServer__SwaggerClientId" |
||||
|
value: "{{ .Values.config.authServer.swaggerClientId }}" |
||||
|
- name: "AuthServer__SwaggerClientSecret" |
||||
|
value: "{{ .Values.config.authServer.swaggerClientSecret }}" |
||||
|
- 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,28 @@ |
|||||
|
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: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
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,31 @@ |
|||||
|
config: |
||||
|
selfUrl: # https://eshop-st-gateway-web |
||||
|
corsOrigins: # localhost:4200 |
||||
|
globalConfigurationBaseUrl: # http://eshop-st-gateway-web |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: # |
||||
|
redisHost: # |
||||
|
rabbitmqHost: # |
||||
|
elasticsearchHost: # |
||||
|
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
||||
|
reRoutes: |
||||
|
accountService: |
||||
|
url: http://eshop-st-authserver |
||||
|
identityService: |
||||
|
url: http://eshop-st-identity |
||||
|
administrationService: |
||||
|
url: http://eshop-st-administration |
||||
|
ingress: |
||||
|
host: # eshop-st-gateway-web |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/gateway-web |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: identity |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Identity Microservice |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,75 @@ |
|||||
|
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: "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: "IdentityServerClients__Web__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.webRootUrl }} |
||||
|
- name: "IdentityServerClients__PublicWeb__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.publicWebRootUrl }} |
||||
|
- name: "IdentityServerClients__PublicWebGateway__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.publicWebGatewayRootUrl }} |
||||
|
- name: "IdentityServerClients__WebGateway__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.webGatewayRootUrl }} |
||||
|
- name: "IdentityServerClients__IdentityService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.identityServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__AdministrationService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.administrationServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__AccountService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.accountServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__BasketService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.basketServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__CatalogService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.catalogServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__OrderingService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.orderingServiceRootUrl }} |
||||
|
- name: "IdentityServerClients__PaymentService__RootUrl" |
||||
|
value: {{ .Values.identityServerClients.paymentServiceRootUrl }} |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
|
|
||||
@ -0,0 +1,28 @@ |
|||||
|
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: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
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,43 @@ |
|||||
|
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: # |
||||
|
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 |
||||
|
|
||||
|
# Seeded clients |
||||
|
identityServerClients: |
||||
|
webRootUrl: # |
||||
|
publicWebRootUrl: # |
||||
|
webGatewayRootUrl: # |
||||
|
publicWebGatewayRootUrl: # |
||||
|
accountServiceRootUrl: # |
||||
|
identityServiceRootUrl: # |
||||
|
administrationServiceRootUrl: # |
||||
|
basketServiceRootUrl: # |
||||
|
catalogServiceRootUrl: # |
||||
|
orderingServiceRootUrl: # |
||||
|
paymentServiceRootUrl: # |
||||
|
|
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-identity |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-identity |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
|
|
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: mongodb |
||||
|
appVersion: "1.0" |
||||
|
description: Runs Mongo DB Instance |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,38 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: StatefulSet |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
serviceName: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: mongo |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
volumeMounts: |
||||
|
- mountPath: "/data/db" |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-database-volume |
||||
|
subPath: mongodb-data |
||||
|
{{- end }} |
||||
|
ports: |
||||
|
- name: mongo |
||||
|
containerPort: 27017 |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
volumeClaimTemplates: |
||||
|
- metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-database-volume |
||||
|
spec: |
||||
|
accessModes: [ "ReadWriteOnce" ] |
||||
|
storageClassName: "managed-premium-retain" |
||||
|
resources: |
||||
|
requests: |
||||
|
storage: 32Gi |
||||
|
{{- end }} |
||||
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
labels: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
type: ClusterIP |
||||
|
ports: |
||||
|
- name: mongodb |
||||
|
port: 27017 |
||||
|
selector: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
|
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: ordering |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Ordering Microservice |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -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 }} |
||||
|
|
||||
@ -0,0 +1,28 @@ |
|||||
|
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: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
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,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-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-ordering |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
|
|
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: payment |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Payment Microservice |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -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 }} |
||||
|
|
||||
@ -0,0 +1,28 @@ |
|||||
|
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: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
rules: |
||||
|
- host: "{{ .Values.ingress.host }}" |
||||
|
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,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-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/service-payment |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
|
|
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: postgresdb |
||||
|
appVersion: "1.0" |
||||
|
description: Runs Postgres DB Instance |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,41 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: StatefulSet |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
serviceName: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: postgres |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
volumeMounts: |
||||
|
- mountPath: "/var/opt/postgres" |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-database-volume |
||||
|
subPath: postgres-data |
||||
|
{{- end }} |
||||
|
ports: |
||||
|
- name: postgres |
||||
|
containerPort: 5432 |
||||
|
env: |
||||
|
- name: POSTGRES_PASSWORD |
||||
|
value: "myPassw0rd" |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
volumeClaimTemplates: |
||||
|
- metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-database-volume |
||||
|
spec: |
||||
|
accessModes: [ "ReadWriteOnce" ] |
||||
|
storageClassName: "managed-premium-retain" |
||||
|
resources: |
||||
|
requests: |
||||
|
storage: 32Gi |
||||
|
{{- end }} |
||||
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
labels: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
type: ClusterIP |
||||
|
ports: |
||||
|
- name: postgres |
||||
|
port: 5432 |
||||
|
selector: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
|
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: public-web |
||||
|
appVersion: "1.0" |
||||
|
description: eShopOnAbp Public Web Application |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -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,38 @@ |
|||||
|
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" |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
nginx.ingress.kubernetes.io/from-to-www-redirect: "true" |
||||
|
{{- end }} |
||||
|
cert-manager.io/cluster-issuer: letsencrypt |
||||
|
spec: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
- {{ print "www." .Values.ingress.host }} |
||||
|
{{- end }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
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,22 @@ |
|||||
|
config: |
||||
|
selfUrl: https://www.eshoponabp.com |
||||
|
gatewayUrl: "https://gateway.eshoponabp.com/" |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
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-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/app-publicweb |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
env: {} |
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: rabbitmq |
||||
|
appVersion: "1.0" |
||||
|
description: Runs RabbitMQ Message Broker Instance |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,20 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
labels: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
type: ClusterIP |
||||
|
ports: |
||||
|
- name: http |
||||
|
protocol: TCP |
||||
|
port: 15672 |
||||
|
targetPort: 15672 |
||||
|
- name: amqp |
||||
|
protocol: TCP |
||||
|
port: 5672 |
||||
|
targetPort: 5672 |
||||
|
selector: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
|
||||
@ -0,0 +1,25 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: StatefulSet |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
serviceName: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: rabbitmq:management-alpine |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
ports: |
||||
|
- name: http |
||||
|
protocol: TCP |
||||
|
containerPort: 15672 |
||||
|
- name: amqp |
||||
|
protocol: TCP |
||||
|
containerPort: 5672 |
||||
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: v2 |
||||
|
name: redis |
||||
|
appVersion: "1.0" |
||||
|
description: Runs Redis instance |
||||
|
version: 1.0.0 |
||||
|
type: application |
||||
@ -0,0 +1,13 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
labels: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
spec: |
||||
|
type: ClusterIP |
||||
|
ports: |
||||
|
- name: redis |
||||
|
port: 6379 |
||||
|
selector: |
||||
|
app: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
@ -0,0 +1,20 @@ |
|||||
|
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: redis:alpine |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }} |
||||
|
ports: |
||||
|
- name: redis |
||||
|
containerPort: 6379 |
||||
@ -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,28 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
metadata: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap |
||||
|
data: |
||||
|
dynamic-env.json: |- |
||||
|
{ |
||||
|
"production": "true", |
||||
|
"application": { |
||||
|
"baseUrl": "{{ .Values.config.selfUrl }}", |
||||
|
"name": "EShopOnAbp", |
||||
|
"logoUrl": "" |
||||
|
}, |
||||
|
"oAuthConfig": { |
||||
|
"issuer": "{{ .Values.config.authServer.authority }}", |
||||
|
"redirectUri": "{{ .Values.config.selfUrl }}", |
||||
|
"requireHttps": "{{ .Values.config.authServer.requireHttpsMetadata }}", |
||||
|
"clientId": "Web", |
||||
|
"responseType": "code", |
||||
|
"scope": "offline_access openid profile email phone IdentityService AdministrationService" |
||||
|
}, |
||||
|
"apis": { |
||||
|
"default": { |
||||
|
"url": "{{ .Values.config.gatewayUrl }}", |
||||
|
"rootNamespace": "EShopOnAbp" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,34 @@ |
|||||
|
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/dynamic-env.json |
||||
|
subPath: dynamic-env.json |
||||
|
env: |
||||
|
{{- if .Values.env }} |
||||
|
{{ toYaml .Values.env | indent 8 }} |
||||
|
{{- end }} |
||||
|
volumes: |
||||
|
- name: config-volume |
||||
|
configMap: |
||||
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap |
||||
@ -0,0 +1,38 @@ |
|||||
|
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" |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
nginx.ingress.kubernetes.io/from-to-www-redirect: "true" |
||||
|
{{- end }} |
||||
|
cert-manager.io/cluster-issuer: letsencrypt |
||||
|
spec: |
||||
|
#ingressClassName: nginx |
||||
|
tls: |
||||
|
- hosts: |
||||
|
- {{ .Values.ingress.host }} |
||||
|
{{- if eq .Release.Name "es-az" }} |
||||
|
- {{ print "www." .Values.ingress.host }} |
||||
|
{{- end }} |
||||
|
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls |
||||
|
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,18 @@ |
|||||
|
config: |
||||
|
selfUrl: https://www.eshoponabp.com |
||||
|
gatewayUrl: "https://gateway.eshoponabp.com/" |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
|
||||
|
ingress: |
||||
|
host: eshop-st-web |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
|
||||
|
image: |
||||
|
repository: eshoponabp/app-web |
||||
|
tag: latest |
||||
|
pullPolicy: IfNotPresent |
||||
|
|
||||
|
# Extra environment variables or configurations |
||||
|
env: {} |
||||
@ -0,0 +1,27 @@ |
|||||
|
1. Web (Back Office) angular application URL:{{- if .Values.web.config.selfUrl }} {{ .Values.web.config.selfUrl }} {{- end }} |
||||
|
2. Public Web mvc application URL:{{- if index .Values "public-web" "config" "selfUrl" }} {{ index .Values "public-web" "config" "selfUrl" }} {{- end }} |
||||
|
3. Authentication Server URL:{{- if .Values.authserver.config.selfUrl }} {{ .Values.authserver.config.selfUrl }} |
||||
|
|
||||
|
For RabbitMq Administration use: |
||||
|
"kubectl port-forward services/{{ .Release.Name }}-rabbitmq 15672:15672 -n {{ .Release.Namespace }}" |
||||
|
{{- else if .Values.ingress.enabled }} |
||||
|
{{- range $host := .Values.ingress.hosts }} |
||||
|
{{- range .paths }} |
||||
|
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} |
||||
|
{{- end }} |
||||
|
{{- end }} |
||||
|
{{- else if contains "NodePort" .Values.service.type }} |
||||
|
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "eshoponabp.fullname" . }}) |
||||
|
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") |
||||
|
echo http://$NODE_IP:$NODE_PORT |
||||
|
{{- else if contains "LoadBalancer" .Values.service.type }} |
||||
|
NOTE: It may take a few minutes for the LoadBalancer IP to be available. |
||||
|
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "eshoponabp.fullname" . }}' |
||||
|
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "eshoponabp.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") |
||||
|
echo http://$SERVICE_IP:{{ .Values.service.port }} |
||||
|
{{- else if contains "ClusterIP" .Values.service.type }} |
||||
|
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "eshoponabp.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") |
||||
|
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") |
||||
|
echo "Visit http://127.0.0.1:8080 to use your application" |
||||
|
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT |
||||
|
{{- end }} |
||||
@ -0,0 +1,62 @@ |
|||||
|
{{/* |
||||
|
Expand the name of the chart. |
||||
|
*/}} |
||||
|
{{- define "eshoponabp.name" -}} |
||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} |
||||
|
{{- end }} |
||||
|
|
||||
|
{{/* |
||||
|
Create a default fully qualified app name. |
||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). |
||||
|
If release name contains chart name it will be used as a full name. |
||||
|
*/}} |
||||
|
{{- define "eshoponabp.fullname" -}} |
||||
|
{{- if .Values.fullnameOverride }} |
||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} |
||||
|
{{- else }} |
||||
|
{{- $name := default .Chart.Name .Values.nameOverride }} |
||||
|
{{- if contains $name .Release.Name }} |
||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }} |
||||
|
{{- else }} |
||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} |
||||
|
{{- end }} |
||||
|
{{- end }} |
||||
|
{{- end }} |
||||
|
|
||||
|
{{/* |
||||
|
Create chart name and version as used by the chart label. |
||||
|
*/}} |
||||
|
{{- define "eshoponabp.chart" -}} |
||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} |
||||
|
{{- end }} |
||||
|
|
||||
|
{{/* |
||||
|
Common labels |
||||
|
*/}} |
||||
|
{{- define "eshoponabp.labels" -}} |
||||
|
helm.sh/chart: {{ include "eshoponabp.chart" . }} |
||||
|
{{ include "eshoponabp.selectorLabels" . }} |
||||
|
{{- if .Chart.AppVersion }} |
||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} |
||||
|
{{- end }} |
||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }} |
||||
|
{{- end }} |
||||
|
|
||||
|
{{/* |
||||
|
Selector labels |
||||
|
*/}} |
||||
|
{{- define "eshoponabp.selectorLabels" -}} |
||||
|
app.kubernetes.io/name: {{ include "eshoponabp.name" . }} |
||||
|
app.kubernetes.io/instance: {{ .Release.Name }} |
||||
|
{{- end }} |
||||
|
|
||||
|
{{/* |
||||
|
Create the name of the service account to use |
||||
|
*/}} |
||||
|
{{- define "eshoponabp.serviceAccountName" -}} |
||||
|
{{- if .Values.serviceAccount.create }} |
||||
|
{{- default (include "eshoponabp.fullname" .) .Values.serviceAccount.name }} |
||||
|
{{- else }} |
||||
|
{{- default "default" .Values.serviceAccount.name }} |
||||
|
{{- end }} |
||||
|
{{- end }} |
||||
@ -0,0 +1,354 @@ |
|||||
|
# auth-server sub-chart override |
||||
|
authserver: |
||||
|
config: |
||||
|
selfUrl: https://auth.eshoponabp.com |
||||
|
corsOrigins: https://gateway.eshoponabp.com,https://gateway-public.eshoponabp.com,https://identity.eshoponabp.com,https://administration.eshoponabp.com,https://basket.eshoponabp.com,https://catalog.eshoponabp.com,https://payment.eshoponabp.com,https://payment.eshoponabp.com |
||||
|
allowedRedirectUrls: https://www.eshoponabp.com |
||||
|
connectionStrings: |
||||
|
administrationService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
identityService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Identity;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
ingress: |
||||
|
host: auth.eshoponabp.com |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/app-authserver" |
||||
|
tag: latest |
||||
|
|
||||
|
# web sub-chart override |
||||
|
web: |
||||
|
config: |
||||
|
selfUrl: https://www.admin.eshoponabp.com |
||||
|
gatewayUrl: https://gateway.eshoponabp.com |
||||
|
ingress: |
||||
|
host: admin.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/app-web" |
||||
|
tag: latest |
||||
|
|
||||
|
# public-web sub-chart override |
||||
|
public-web: |
||||
|
config: |
||||
|
selfUrl: https://www.eshoponabp.com |
||||
|
gatewayUrl: https://gateway-public.eshoponabp.com |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
ingress: |
||||
|
host: eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/app-publicweb" |
||||
|
tag: latest |
||||
|
|
||||
|
# identity-service sub-chart override |
||||
|
identity: |
||||
|
config: |
||||
|
selfUrl: https://identity.eshoponabp.com |
||||
|
corsOrigins: https://gateway.eshoponabp.com,https://gateway-public.eshoponabp.com |
||||
|
connectionStrings: |
||||
|
identityService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Identity;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
administrationService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
identityServerClients: # Seeded Clients |
||||
|
webRootUrl: https://www.eshoponabp.com/ |
||||
|
publicWebRootUrl: https://publicweb.eshoponabp.com/ |
||||
|
webGatewayRootUrl: https://gateway.eshoponabp.com/ |
||||
|
publicWebGatewayRootUrl: https://gateway-public.eshoponabp.com/ |
||||
|
identityServiceRootUrl: https://identity.eshoponabp.com/ |
||||
|
administrationServiceRootUrl: https://administration.eshoponabp.com/ |
||||
|
accountServiceRootUrl: https://auth.eshoponabp.com |
||||
|
basketServiceRootUrl: https://basket.eshoponabp.com/ |
||||
|
catalogServiceRootUrl: https://catalog.eshoponabp.com |
||||
|
orderingServiceRootUrl: https://order.eshoponabp.com |
||||
|
paymentServiceRootUrl: https://payment.eshoponabp.com |
||||
|
ingress: |
||||
|
host: identity.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/service-identity" |
||||
|
tag: latest |
||||
|
|
||||
|
# administration sub-chart override |
||||
|
administration: |
||||
|
config: |
||||
|
selfUrl: https://administration.eshoponabp.com |
||||
|
corsOrigins: https://gateway.eshoponabp.com,https://gateway-public.eshoponabp.com,https://eshop-az-gateway-internal |
||||
|
connectionStrings: |
||||
|
administrationService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
remoteServices: |
||||
|
abpIdentityBaseUrl: https://identity.eshoponabp.com |
||||
|
useCurrentToken: "false" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
synchedCommunication: # Used for server-to-server (client-credentials) communication with identityService for user permissions |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
ingress: |
||||
|
host: administration.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/service-administration" |
||||
|
tag: latest |
||||
|
|
||||
|
# gateway-web sub-chart override |
||||
|
gateway-web: |
||||
|
config: |
||||
|
selfUrl: https://gateway.eshoponabp.com |
||||
|
corsOrigins: https://www.eshoponabp.com |
||||
|
globalConfigurationBaseUrl: http://eshop-az-gateway-public |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
ingress: |
||||
|
host: gateway.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/gateway-web" |
||||
|
tag: latest |
||||
|
reRoutes: |
||||
|
accountService: |
||||
|
url: https://auth.eshoponabp.com |
||||
|
identityService: |
||||
|
url: http://eshop-az-identity |
||||
|
administrationService: |
||||
|
url: http://eshop-az-administration |
||||
|
|
||||
|
# gateway-web-public sub-chart override |
||||
|
gateway-web-public: |
||||
|
config: |
||||
|
selfUrl: https://gateway-public.eshoponabp.com |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
ingress: |
||||
|
host: gateway-public.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/gateway-web-public" |
||||
|
tag: latest |
||||
|
reRoutes: |
||||
|
accountService: |
||||
|
url: https://auth.eshoponabp.com |
||||
|
identityService: |
||||
|
url: http://eshop-az-identity |
||||
|
administrationService: |
||||
|
url: http://eshop-az-administration |
||||
|
catalogService: |
||||
|
url: http://eshop-az-catalog |
||||
|
basketService: |
||||
|
url: http://eshop-az-basket |
||||
|
orderingService: |
||||
|
url: http://eshop-az-ordering |
||||
|
paymentService: |
||||
|
url: http://eshop-az-payment |
||||
|
|
||||
|
# basket-service sub-chart override |
||||
|
basket: |
||||
|
config: |
||||
|
selfUrl: https://basket.eshoponabp.com |
||||
|
corsOrigins: https://gateway.eshoponabp.com,https://gateway-public.eshoponabp.com,https://publicweb.eshoponabp.com |
||||
|
connectionStrings: |
||||
|
administrationService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
remoteServices: |
||||
|
catalogBaseUrl: http://eshop-az-catalog |
||||
|
catalogGrpcUrl: http://eshop-az-catalog |
||||
|
ingress: |
||||
|
host: basket.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/service-basket" |
||||
|
tag: latest |
||||
|
|
||||
|
# catalog-service sub-chart override |
||||
|
catalog: |
||||
|
config: |
||||
|
selfUrl: https://catalog.eshoponabp.com |
||||
|
corsOrigins: https://gateway.eshoponabp.com,https://gateway-public.eshoponabp.com,https://publicweb.eshoponabp.com,https://www.eshoponabp.com |
||||
|
connectionStrings: |
||||
|
catalogService: "mongodb://es-az-mongodb/EShopOnAbp_Catalog" |
||||
|
administrationService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
kestrel: |
||||
|
httpUrl: http://eshop-az-catalog:80 |
||||
|
httpProtocols: Http1AndHttp2 |
||||
|
grpcUrl: http://eshop-az-catalog:81 |
||||
|
grpcProtocols: Http2 |
||||
|
ingress: |
||||
|
host: catalog.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/service-catalog" |
||||
|
tag: latest |
||||
|
|
||||
|
# ordering-service sub-chart override |
||||
|
ordering: |
||||
|
config: |
||||
|
selfUrl: https://order.eshoponabp.com |
||||
|
corsOrigins: https://gateway.eshoponabp.com,https://gateway-public.eshoponabp.com |
||||
|
connectionStrings: |
||||
|
orderingService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Ordering;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
administrationService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
ingress: |
||||
|
host: order.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/service-ordering" |
||||
|
tag: latest |
||||
|
|
||||
|
# payment-service sub-chart override |
||||
|
payment: |
||||
|
config: |
||||
|
selfUrl: https://payment.eshoponabp.com |
||||
|
corsOrigins: https://gateway.eshoponabp.com,https://gateway-public.eshoponabp.com |
||||
|
connectionStrings: |
||||
|
paymentService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Payment;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
administrationService: "Host=es-az-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
authServer: |
||||
|
authority: https://auth.eshoponabp.com |
||||
|
requireHttpsMetadata: "false" |
||||
|
swaggerClientId: WebGateway_Swagger |
||||
|
swaggerClientSecret: "1q2w3e*" |
||||
|
dotnetEnv: Production |
||||
|
redisHost: es-az-redis |
||||
|
rabbitmqHost: es-az-rabbitmq |
||||
|
elasticsearchHost: es-az-elasticsearch |
||||
|
ingress: |
||||
|
host: payment.eshoponabp.com |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/service-payment" |
||||
|
tag: latest |
||||
|
|
||||
|
# Default values for eshoponabp. |
||||
|
# This is a YAML-formatted file. |
||||
|
# Declare variables to be passed into your templates. |
||||
|
|
||||
|
replicaCount: 1 |
||||
|
|
||||
|
image: |
||||
|
repository: nginx |
||||
|
pullPolicy: IfNotPresent |
||||
|
# Overrides the image tag whose default is the chart appVersion. |
||||
|
tag: "" |
||||
|
|
||||
|
imagePullSecrets: [] |
||||
|
nameOverride: "" |
||||
|
fullnameOverride: "" |
||||
|
|
||||
|
serviceAccount: |
||||
|
# Specifies whether a service account should be created |
||||
|
create: true |
||||
|
# Annotations to add to the service account |
||||
|
annotations: {} |
||||
|
# The name of the service account to use. |
||||
|
# If not set and create is true, a name is generated using the fullname template |
||||
|
name: "" |
||||
|
|
||||
|
podAnnotations: {} |
||||
|
|
||||
|
podSecurityContext: {} |
||||
|
# fsGroup: 2000 |
||||
|
|
||||
|
securityContext: {} |
||||
|
# capabilities: |
||||
|
# drop: |
||||
|
# - ALL |
||||
|
# readOnlyRootFilesystem: true |
||||
|
# runAsNonRoot: true |
||||
|
# runAsUser: 1000 |
||||
|
|
||||
|
service: |
||||
|
type: ClusterIP |
||||
|
port: 80 |
||||
|
|
||||
|
ingress: |
||||
|
enabled: false |
||||
|
className: "" |
||||
|
annotations: {} |
||||
|
# kubernetes.io/ingress.class: nginx |
||||
|
# kubernetes.io/tls-acme: "true" |
||||
|
hosts: |
||||
|
- host: chart-example.local |
||||
|
paths: |
||||
|
- path: / |
||||
|
pathType: ImplementationSpecific |
||||
|
tls: [] |
||||
|
# - secretName: chart-example-tls |
||||
|
# hosts: |
||||
|
# - chart-example.local |
||||
|
|
||||
|
resources: {} |
||||
|
# We usually recommend not to specify default resources and to leave this as a conscious |
||||
|
# choice for the user. This also increases chances charts run on environments with little |
||||
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following |
||||
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
||||
|
# limits: |
||||
|
# cpu: 100m |
||||
|
# memory: 128Mi |
||||
|
# requests: |
||||
|
# cpu: 100m |
||||
|
# memory: 128Mi |
||||
|
|
||||
|
autoscaling: |
||||
|
enabled: false |
||||
|
minReplicas: 1 |
||||
|
maxReplicas: 100 |
||||
|
targetCPUUtilizationPercentage: 80 |
||||
|
# targetMemoryUtilizationPercentage: 80 |
||||
|
|
||||
|
nodeSelector: {} |
||||
|
|
||||
|
tolerations: [] |
||||
|
|
||||
|
affinity: {} |
||||
@ -0,0 +1,354 @@ |
|||||
|
# auth-server sub-chart override |
||||
|
authserver: |
||||
|
config: |
||||
|
selfUrl: https://eshop-st-authserver |
||||
|
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 |
||||
|
connectionStrings: |
||||
|
administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
identityService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Identity;User ID=postgres;password=myPassw0rd;Pooling=false" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: es-st-elasticsearch |
||||
|
ingress: |
||||
|
host: eshop-st-authserver |
||||
|
tlsSecret: eshop-wildcard-tls |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/app-authserver" |
||||
|
tag: latest |
||||
|
|
||||
|
# web sub-chart override |
||||
|
web: |
||||
|
config: |
||||
|
selfUrl: https://eshop-st-web |
||||
|
gatewayUrl: "https://eshop-st-gateway-web/" |
||||
|
ingress: |
||||
|
host: eshop-st-web |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/app-web" |
||||
|
tag: latest |
||||
|
|
||||
|
# public-web sub-chart override |
||||
|
public-web: |
||||
|
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 |
||||
|
ingress: |
||||
|
host: eshop-st-public-web |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/app-publicweb" |
||||
|
tag: latest |
||||
|
|
||||
|
# identity-service sub-chart override |
||||
|
identity: |
||||
|
config: |
||||
|
selfUrl: https://eshop-st-identity |
||||
|
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public |
||||
|
connectionStrings: |
||||
|
identityService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Identity;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 |
||||
|
identityServerClients: # Seeded Clients |
||||
|
webRootUrl: https://eshop-st-web/ |
||||
|
publicWebRootUrl: https://eshop-st-public-web/ |
||||
|
webGatewayRootUrl: https://eshop-st-gateway-web/ |
||||
|
publicWebGatewayRootUrl: https://eshop-st-gateway-web-public/ |
||||
|
identityServiceRootUrl: https://eshop-st-identity/ |
||||
|
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: |
||||
|
host: eshop-st-identity |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/service-identity" |
||||
|
tag: latest |
||||
|
|
||||
|
# administration sub-chart override |
||||
|
administration: |
||||
|
config: |
||||
|
selfUrl: https://eshop-st-administration |
||||
|
corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-gateway-internal |
||||
|
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*" |
||||
|
remoteServices: |
||||
|
abpIdentityBaseUrl: https://eshop-st-identity |
||||
|
useCurrentToken: "false" |
||||
|
dotnetEnv: Staging |
||||
|
redisHost: es-st-redis |
||||
|
rabbitmqHost: es-st-rabbitmq |
||||
|
elasticsearchHost: es-st-elasticsearch |
||||
|
synchedCommunication: # Used for server-to-server (client-credentials) communication with identityService for user permissions |
||||
|
authority: https://eshop-st-authserver |
||||
|
ingress: |
||||
|
host: eshop-st-administration |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/service-administration" |
||||
|
tag: latest |
||||
|
|
||||
|
# gateway-web sub-chart override |
||||
|
gateway-web: |
||||
|
config: |
||||
|
selfUrl: https://eshop-st-gateway-web |
||||
|
corsOrigins: https://eshop-st-web |
||||
|
globalConfigurationBaseUrl: http://eshop-st-gateway-public |
||||
|
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-gateway-web |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/gateway-web" |
||||
|
tag: latest |
||||
|
reRoutes: |
||||
|
accountService: |
||||
|
url: http://eshop-st-authserver |
||||
|
identityService: |
||||
|
url: http://eshop-st-identity |
||||
|
administrationService: |
||||
|
url: http://eshop-st-administration |
||||
|
|
||||
|
# gateway-web-public sub-chart override |
||||
|
gateway-web-public: |
||||
|
config: |
||||
|
selfUrl: https://eshop-st-gateway-web-public |
||||
|
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-gateway-web-public |
||||
|
image: |
||||
|
repository: "volocr.azurecr.io/eshoponabp/gateway-web-public" |
||||
|
tag: latest |
||||
|
reRoutes: |
||||
|
accountService: |
||||
|
url: http://eshop-st-authserver |
||||
|
identityService: |
||||
|
url: http://eshop-st-identity |
||||
|
administrationService: |
||||
|
url: http://eshop-st-administration |
||||
|
catalogService: |
||||
|
url: http://eshop-st-catalog |
||||
|
basketService: |
||||
|
url: http://eshop-st-basket |
||||
|
orderingService: |
||||
|
url: http://eshop-st-ordering |
||||
|
paymentService: |
||||
|
url: http://eshop-st-payment |
||||
|
|
||||
|
# 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: "volocr.azurecr.io/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: "volocr.azurecr.io/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: "volocr.azurecr.io/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: "volocr.azurecr.io/eshoponabp/service-payment" |
||||
|
tag: latest |
||||
|
|
||||
|
# Default values for eshoponabp. |
||||
|
# This is a YAML-formatted file. |
||||
|
# Declare variables to be passed into your templates. |
||||
|
|
||||
|
replicaCount: 1 |
||||
|
|
||||
|
image: |
||||
|
repository: nginx |
||||
|
pullPolicy: IfNotPresent |
||||
|
# Overrides the image tag whose default is the chart appVersion. |
||||
|
tag: "" |
||||
|
|
||||
|
imagePullSecrets: [] |
||||
|
nameOverride: "" |
||||
|
fullnameOverride: "" |
||||
|
|
||||
|
serviceAccount: |
||||
|
# Specifies whether a service account should be created |
||||
|
create: true |
||||
|
# Annotations to add to the service account |
||||
|
annotations: {} |
||||
|
# The name of the service account to use. |
||||
|
# If not set and create is true, a name is generated using the fullname template |
||||
|
name: "" |
||||
|
|
||||
|
podAnnotations: {} |
||||
|
|
||||
|
podSecurityContext: {} |
||||
|
# fsGroup: 2000 |
||||
|
|
||||
|
securityContext: {} |
||||
|
# capabilities: |
||||
|
# drop: |
||||
|
# - ALL |
||||
|
# readOnlyRootFilesystem: true |
||||
|
# runAsNonRoot: true |
||||
|
# runAsUser: 1000 |
||||
|
|
||||
|
service: |
||||
|
type: ClusterIP |
||||
|
port: 80 |
||||
|
|
||||
|
ingress: |
||||
|
enabled: false |
||||
|
className: "" |
||||
|
annotations: {} |
||||
|
# kubernetes.io/ingress.class: nginx |
||||
|
# kubernetes.io/tls-acme: "true" |
||||
|
hosts: |
||||
|
- host: chart-example.local |
||||
|
paths: |
||||
|
- path: / |
||||
|
pathType: ImplementationSpecific |
||||
|
tls: [] |
||||
|
# - secretName: chart-example-tls |
||||
|
# hosts: |
||||
|
# - chart-example.local |
||||
|
|
||||
|
resources: {} |
||||
|
# We usually recommend not to specify default resources and to leave this as a conscious |
||||
|
# choice for the user. This also increases chances charts run on environments with little |
||||
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following |
||||
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
||||
|
# limits: |
||||
|
# cpu: 100m |
||||
|
# memory: 128Mi |
||||
|
# requests: |
||||
|
# cpu: 100m |
||||
|
# memory: 128Mi |
||||
|
|
||||
|
autoscaling: |
||||
|
enabled: false |
||||
|
minReplicas: 1 |
||||
|
maxReplicas: 100 |
||||
|
targetCPUUtilizationPercentage: 80 |
||||
|
# targetMemoryUtilizationPercentage: 80 |
||||
|
|
||||
|
nodeSelector: {} |
||||
|
|
||||
|
tolerations: [] |
||||
|
|
||||
|
affinity: {} |
||||
@ -0,0 +1 @@ |
|||||
|
Not Found |
||||
Loading…
Reference in new issue