From 488d09b55a45be2232efe67f0aab85b6cf93726e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=BChl?= Date: Fri, 22 Apr 2022 12:08:06 +0200 Subject: [PATCH] initial setup for mobene uba export app --- .gitignore | 2 + config/default/Chart.yaml | 21 ++++ config/default/templates/ingress/ingress.yml | 108 ++++++++++++++++++ .../mobene-uba-export/deployment.yml | 52 +++++++++ .../templates/mobene-uba-export/secret.yml | 7 ++ .../templates/mobene-uba-export/service.yml | 17 +++ config/default/values.yaml | 15 +++ 7 files changed, 222 insertions(+) create mode 100644 .gitignore create mode 100644 config/default/Chart.yaml create mode 100644 config/default/templates/ingress/ingress.yml create mode 100644 config/default/templates/mobene-uba-export/deployment.yml create mode 100644 config/default/templates/mobene-uba-export/secret.yml create mode 100644 config/default/templates/mobene-uba-export/service.yml create mode 100644 config/default/values.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..54f3a93 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.project +.idea \ No newline at end of file diff --git a/config/default/Chart.yaml b/config/default/Chart.yaml new file mode 100644 index 0000000..4f49e6f --- /dev/null +++ b/config/default/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +name: mobene +description: This chart installs Mobene apps + +# 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. +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. +appVersion: latest diff --git a/config/default/templates/ingress/ingress.yml b/config/default/templates/ingress/ingress.yml new file mode 100644 index 0000000..d1edfee --- /dev/null +++ b/config/default/templates/ingress/ingress.yml @@ -0,0 +1,108 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + cert-manager.io/issue-temporary-certificate: "true" + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/rewrite-target: /api/ + nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" + name: "dev-{{ .Release.Name }}-ingress-backend-api" +spec: + rules: + - host: "dev-{{ .Release.Name }}.smardigo.digital" + http: + paths: + - backend: + service: + name: "{{ .Release.Name }}-backend" + port: + number: 8080 + path: /api/ + pathType: Prefix + tls: + - hosts: + - "dev-{{ .Release.Name }}.smardigo.digital" + secretName: "dev-{{ .Release.Name }}.smardigo.digital-ingress-cert" +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + cert-manager.io/issue-temporary-certificate: "true" + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/rewrite-target: /oauth2/ + nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" + name: "dev-{{ .Release.Name }}-ingress-backen-oauth2" +spec: + rules: + - host: "dev-{{ .Release.Name }}.smardigo.digital" + http: + paths: + - backend: + service: + name: "{{ .Release.Name }}-backend" + port: + number: 8080 + path: /oauth2/ + pathType: Prefix + tls: + - hosts: + - "dev-{{ .Release.Name }}.smardigo.digital" + secretName: "dev-{{ .Release.Name }}.smardigo.digital-ingress-cert" + +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + cert-manager.io/issue-temporary-certificate: "true" + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/rewrite-target: /login/ + nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" + name: "dev-{{ .Release.Name }}-ingress-backen-login" +spec: + rules: + - host: "dev-{{ .Release.Name }}.smardigo.digital" + http: + paths: + - backend: + service: + name: "{{ .Release.Name }}-backend" + port: + number: 8080 + path: /login/ + pathType: Prefix + tls: + - hosts: + - "dev-{{ .Release.Name }}.smardigo.digital" + secretName: "dev-{{ .Release.Name }}.smardigo.digital-ingress-cert" +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + cert-manager.io/issue-temporary-certificate: "true" + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" + name: "dev-{{ .Release.Name }}-ingress-frontend" +spec: + rules: + - host: "dev-{{ .Release.Name }}.smardigo.digital" + http: + paths: + - backend: + service: + name: "{{ .Release.Name }}-frontend" + port: + number: 80 + path: / + pathType: Prefix + tls: + - hosts: + - "dev-{{ .Release.Name }}.smardigo.digital" + secretName: "dev-{{ .Release.Name }}.smardigo.digital-ingress-cert" \ No newline at end of file diff --git a/config/default/templates/mobene-uba-export/deployment.yml b/config/default/templates/mobene-uba-export/deployment.yml new file mode 100644 index 0000000..81dfb5e --- /dev/null +++ b/config/default/templates/mobene-uba-export/deployment.yml @@ -0,0 +1,52 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: "{{ .Release.Name }}-mobene-uba" +spec: + replicas: 1 + selector: + matchLabels: + app: "{{ .Release.Name }}-mobene-uba" + template: + metadata: + labels: + app: "{{ .Release.Name }}-mobene-uba" + spec: + containers: + - name: "{{ .Release.Name }}-mobene-uba" + image: "{{ .Values.mobene.uba.image }}:{{ .Values.mobene.uba.version }}" + imagePullPolicy: Always + env: + - name: SPRING_PROFILES_INCLUDE + value: "prod,swagger" + + - name: EXTERNAL_TASK_UBA_EXPORT_MAX_RETRIES + value: "5" + - name: SMA_EXTERNAL_TASK_SCHEDULE_INTERVAL + value: "30000" + - name: SMA_WORKFLOW_REST_BASE_PATH + value: "{{ .Values.smardigo.workflow.host }}" + - name: SMA_WORKFLOW_REST_CONNECT_TIMEOUT + value: "3000" + - name: SMA_WORKFLOW_REST_READ_TIMEOUT + value: "10000" + - name: SMA_WORKFLOW_REST_AUTH_TOKEN + valueFrom: + secretKeyRef: + name: "{{ .Release.Name }}-mobene-uba-secrets" + key: SMA_WORKFLOW_AUTH_TOKEN + - name: SMA_DOCUMENT_REST_BASE_PATH + value: "{{ .Values.smardigo.document.host }}" + - name: SMA_DOCUMENT_REST_CONNECT_TIMEOUT + value: "3000" + - name: SMA_DOCUMENT_REST_READ_TIMEOUT + value: "10000" + - name: SMA_DOCUMENT_REST_AUTH_TOKEN + valueFrom: + secretKeyRef: + name: "{{ .Release.Name }}-mobene-uba-secrets" + key: SMA_DOCUMENT_AUTH_TOKEN + ports: + - containerPort: 8080 + imagePullSecrets: + - name: "{{ .Values.mobene.pull_secret }}" diff --git a/config/default/templates/mobene-uba-export/secret.yml b/config/default/templates/mobene-uba-export/secret.yml new file mode 100644 index 0000000..cfb0e86 --- /dev/null +++ b/config/default/templates/mobene-uba-export/secret.yml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-mobene-uba-secrets +data: + SMA_WORKFLOW_AUTH_TOKEN: eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..RoM0j7PUx6limJ77Bw6mbQ.FpJcyLxqb2KzVrbGpwjOUFc1_ReHnvu46UbGCaGKPus.SAH_rvH8nDljUd9Us3TJ1w + SMA_DOCUMENT_AUTH_TOKEN: eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..RoM0j7PUx6limJ77Bw6mbQ.FpJcyLxqb2KzVrbGpwjOUFc1_ReHnvu46UbGCaGKPus.SAH_rvH8nDljUd9Us3TJ1w diff --git a/config/default/templates/mobene-uba-export/service.yml b/config/default/templates/mobene-uba-export/service.yml new file mode 100644 index 0000000..1ecadb0 --- /dev/null +++ b/config/default/templates/mobene-uba-export/service.yml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: "{{ .Release.Name }}-backend" +spec: + selector: + app: "{{ .Release.Name }}-backend" + type: NodePort + ports: + - port: 8080 + targetPort: 8080 + protocol: TCP + name: http + - port: 8081 + targetPort: 8081 + protocol: TCP + name: metrics diff --git a/config/default/values.yaml b/config/default/values.yaml new file mode 100644 index 0000000..5b5c0ab --- /dev/null +++ b/config/default/values.yaml @@ -0,0 +1,15 @@ + +smardigo: + workflow: + host: https://prodnso-mobene-nsodev-01-connect.smardigo.digital + document: + host: https://prodnso-mobene-nsodev-01-connect.smardigo.digital + +mobene: + uba: + image: dev-harbor-01.smardigo.digital/smardigo/mobene-uba-export-app + version: latest + + pull_secret: dev-harbor-key + + nodePort: ""