From e36e99fdba7d537e83e8e109dd97c40cc2c2c7e9 Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Mon, 7 Feb 2022 13:36:27 +0300 Subject: [PATCH] added basket chart --- etc/k8s/eshoponabp/charts/basket/Chart.yaml | 6 +++ .../basket/templates/basket-deployment.yaml | 51 +++++++++++++++++++ .../basket/templates/basket-ingress.yaml | 27 ++++++++++ .../basket/templates/basket-service.yaml | 14 +++++ etc/k8s/eshoponabp/charts/basket/values.yaml | 27 ++++++++++ etc/k8s/eshoponabp/values.yaml | 22 ++++++++ 6 files changed, 147 insertions(+) create mode 100644 etc/k8s/eshoponabp/charts/basket/Chart.yaml create mode 100644 etc/k8s/eshoponabp/charts/basket/templates/basket-deployment.yaml create mode 100644 etc/k8s/eshoponabp/charts/basket/templates/basket-ingress.yaml create mode 100644 etc/k8s/eshoponabp/charts/basket/templates/basket-service.yaml create mode 100644 etc/k8s/eshoponabp/charts/basket/values.yaml diff --git a/etc/k8s/eshoponabp/charts/basket/Chart.yaml b/etc/k8s/eshoponabp/charts/basket/Chart.yaml new file mode 100644 index 00000000..ca500582 --- /dev/null +++ b/etc/k8s/eshoponabp/charts/basket/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: basket +appVersion: "1.0" +description: eShopOnAbp Basket Microservice +version: 1.0.0 +type: application \ No newline at end of file diff --git a/etc/k8s/eshoponabp/charts/basket/templates/basket-deployment.yaml b/etc/k8s/eshoponabp/charts/basket/templates/basket-deployment.yaml new file mode 100644 index 00000000..b057b7cc --- /dev/null +++ b/etc/k8s/eshoponabp/charts/basket/templates/basket-deployment.yaml @@ -0,0 +1,51 @@ +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 }}" + {{- if .Values.env }} +{{ toYaml .Values.env | indent 8 }} + {{- end }} + diff --git a/etc/k8s/eshoponabp/charts/basket/templates/basket-ingress.yaml b/etc/k8s/eshoponabp/charts/basket/templates/basket-ingress.yaml new file mode 100644 index 00000000..e843265f --- /dev/null +++ b/etc/k8s/eshoponabp/charts/basket/templates/basket-ingress.yaml @@ -0,0 +1,27 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress + annotations: + kubernetes.io/ingress.class: "nginx" + nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/proxy-buffer-size: 32k + nginx.ingress.kubernetes.io/proxy-buffers-number: "8" + cert-manager.io/cluster-issuer: letsencrypt +spec: + tls: + - hosts: + - {{ .Values.ingress.host }} + secretName: {{ .Values.ingress.tlsSecret }} + rules: + - host: "{{ .Values.ingress.host }}" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: {{ .Release.Name }}-{{ .Chart.Name }} + port: + number: 80 \ No newline at end of file diff --git a/etc/k8s/eshoponabp/charts/basket/templates/basket-service.yaml b/etc/k8s/eshoponabp/charts/basket/templates/basket-service.yaml new file mode 100644 index 00000000..ee157c01 --- /dev/null +++ b/etc/k8s/eshoponabp/charts/basket/templates/basket-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + name: {{ .Release.Name }}-{{ .Chart.Name }} + name: {{ .Release.Name }}-{{ .Chart.Name }} +spec: + ports: + - name: "80" + port: 80 + - name: "443" + port: 443 + selector: + app: {{ .Release.Name }}-{{ .Chart.Name }} diff --git a/etc/k8s/eshoponabp/charts/basket/values.yaml b/etc/k8s/eshoponabp/charts/basket/values.yaml new file mode 100644 index 00000000..c154541c --- /dev/null +++ b/etc/k8s/eshoponabp/charts/basket/values.yaml @@ -0,0 +1,27 @@ +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 + +ingress: + host: eshop-st-basket + tlsSecret: eshop-demo-tls + +image: + repository: eshoponabp/service-basket + tag: latest + pullPolicy: IfNotPresent + +env: {} + \ No newline at end of file diff --git a/etc/k8s/eshoponabp/values.yaml b/etc/k8s/eshoponabp/values.yaml index 1cbd9878..77c4d2c0 100644 --- a/etc/k8s/eshoponabp/values.yaml +++ b/etc/k8s/eshoponabp/values.yaml @@ -166,6 +166,28 @@ gateway-web-public: host: eshop-st-order port: 80 +# basket-service sub-chart override +basket: + config: + selfUrl: https://eshop-st-basket + corsOrigins: https://eshop-st-gateway-web, https://eshop-st-gateway-web-public, https://eshop-st-public-web + connectionStrings: + administrationService: "Host=es-st-postgresdb;Port=5432;Database=EShopOnAbp_Administration;User ID=postgres;password=myPassw0rd;Pooling=false" + authServer: + authority: http://eshop-st-authserver + requireHttpsMetadata: "false" + swaggerClientId: "WebGateway_Swagger" + swaggerClientSecret: "1q2w3e*" + dotnetEnv: Staging + redisHost: es-st-redis + rabbitmqHost: es-st-rabbitmq + elasticsearchHost: es-st-elasticsearch + ingress: + host: eshop-st-basket + image: + repository: "eshoponabp/service-basket" + tag: latest + # Default values for eshoponabp. # This is a YAML-formatted file.