Skip to content
Snippets Groups Projects
Commit 296b17e1 authored by OZGCloud's avatar OZGCloud
Browse files

Merge branch 'master' of git.ozg-sh.de:ozgcloud-app/eingang-manager

parents 0e73dadb 0ae90560
Branches
Tags
No related merge requests found
Showing
with 146 additions and 157 deletions
...@@ -135,7 +135,7 @@ pipeline { ...@@ -135,7 +135,7 @@ pipeline {
HELM_CHART_VERSION = generateHelmChartVersion() HELM_CHART_VERSION = generateHelmChartVersion()
dir('src/main/helm') { dir('src/main/helm') {
sh "helm lint -f test-values.yaml" sh "helm lint -f ../../test/helm-linter-values.yaml"
sh "helm unittest --helm3 -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' ." sh "helm unittest --helm3 -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' ."
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
<relativePath>../</relativePath> <relativePath>../</relativePath>
</parent> </parent>
<artifactId>common</artifactId> <artifactId>common</artifactId>
......
...@@ -4,15 +4,13 @@ ...@@ -4,15 +4,13 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>enterprise-adapter</artifactId> <artifactId>enterprise-adapter</artifactId>
<name>EM - Enterprise Interface Adapter</name> <name>EM - Enterprise Interface Adapter</name>
<properties> <properties>
<spring-boot.build-image.imageName> <spring-boot.build-image.imageName>docker.ozg-sh.de/enterprise-adapter:build-latest</spring-boot.build-image.imageName>
docker.ozg-sh.de/enterprise-adapter:build-latest
</spring-boot.build-image.imageName>
</properties> </properties>
<dependencies> <dependencies>
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>formcycle-adapter</artifactId> <artifactId>formcycle-adapter</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
<relativePath>../</relativePath> <relativePath>../</relativePath>
</parent> </parent>
......
...@@ -29,17 +29,17 @@ ...@@ -29,17 +29,17 @@
<parent> <parent>
<groupId>de.ozgcloud.common</groupId> <groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-dependencies</artifactId> <artifactId>ozgcloud-common-dependencies</artifactId>
<version>3.0.0-SNAPSHOT</version> <version>3.0.0</version>
<relativePath/> <relativePath/>
</parent> </parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>formcycle-adapter-interface</artifactId> <artifactId>formcycle-adapter-interface</artifactId>
<name>EM - Formcycle Adapter - Interface</name> <name>EM - Formcycle Adapter - Interface</name>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
<properties> <properties>
<vorgang-manager.version>2.0.0-SNAPSHOT</vorgang-manager.version> <vorgang-manager.version>2.0.0</vorgang-manager.version>
<java.version>17</java.version> <java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${java.version}</maven.compiler.target>
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>formcycle-adapter</artifactId> <artifactId>formcycle-adapter</artifactId>
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
<relativePath>../</relativePath> <relativePath>../</relativePath>
</parent> </parent>
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
<relativePath>../</relativePath> <relativePath>../</relativePath>
</parent> </parent>
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
<relativePath>../</relativePath> <relativePath>../</relativePath>
</parent> </parent>
......
...@@ -31,13 +31,13 @@ ...@@ -31,13 +31,13 @@
<parent> <parent>
<groupId>de.ozgcloud.common</groupId> <groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-parent</artifactId> <artifactId>ozgcloud-common-parent</artifactId>
<version>3.0.0-SNAPSHOT</version> <version>3.0.0</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>OZG-Cloud Eingang Manager</name> <name>OZG-Cloud Eingang Manager</name>
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<properties> <properties>
<mapstruct.version>1.4.2.Final</mapstruct.version> <mapstruct.version>1.4.2.Final</mapstruct.version>
<vorgang-manager.version>2.0.0-SNAPSHOT</vorgang-manager.version> <vorgang-manager.version>2.0.0</vorgang-manager.version>
<jsoup.version>1.14.3</jsoup.version> <jsoup.version>1.14.3</jsoup.version>
<xmlschema.version>2.3.0</xmlschema.version> <xmlschema.version>2.3.0</xmlschema.version>
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
<relativePath>../</relativePath> <relativePath>../</relativePath>
</parent> </parent>
......
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
set -e set -e
helm template ./src/main/helm/ -f src/test/unit-values.yaml helm template ./src/main/helm/ -f src/test/helm-linter-values.yaml
helm lint -f src/test/unit-values.yaml ./src/main/helm/ helm lint -f src/test/helm-linter-values.yaml ./src/main/helm/
cd src/main/helm && helm unittest --helm3 -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' . cd src/main/helm && helm unittest --helm3 -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' .
\ No newline at end of file
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<parent> <parent>
<groupId>de.ozgcloud.eingang</groupId> <groupId>de.ozgcloud.eingang</groupId>
<artifactId>eingang-manager</artifactId> <artifactId>eingang-manager</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>2.1.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>semantik-adapter</artifactId> <artifactId>semantik-adapter</artifactId>
......
# Helm # Intelliform Adapter
## Linter Adapter zum empfangen von Formulardaten von einem IntellForm basierten Formularserver, zum Beispiel iAFM (integriertes Antrags- und Formularmanagement).
`helm lint -f test-values.yaml` ## Routingkonfiguration
## Unit-Tests ### Vorgang-Manager Instanzen
Für Unit-Tests wird das helm [helm-unittest](https://github.com/quintush/helm-unittest) plugin benötigt. Die Unit-Tests liegen im Verzeichnis src/test/helm Für alle Vorgang-Manager-Instanzen, die von dem Adapter erreichbar sein sollen, muss in das _Environment_ ein Eintrag mit dem GRPC-Service ergänzt werden:
`helm unittest -f '../../test/helm/*.yaml' .` ```yaml
grpc.client.vorgang-manager-*vorgang-manager-name*.address:*url und port*
## SyntaxCheck grpc.client.vorgang-manager-*vorgang-manager-name*.negotiationType: PLAINTEXT
```
`helm template --debug -f test-values.yaml .`
### Fallback Strategy
## Package
Die Fallback Stratey steuert wie mit Eingängen umgegangen werden soll, für die keine passende Vorgang-Manager-Instanze gefunden werden konnte.
`helm package --version=[version] .`
Folgende Optionen stehen zur Verfügung:
## Versionierung
- **DENY** der Antrag wird mit einer Fehlermeldung abgelehnt. Dies funktioniert nur, solange die Abarbeitung synchron erfolgt.
Jenkins verwendet die Version aus der pom.xml
- **FUNDSTELLE** der Antrag wird an eine zentrale Fundstelle weitergeleitet. Dafür muss der Name der Vorgang-Manager-Instanze, die als Fundstelle fungiert, eingetragen werden.
### Master Branch
### Routing Strategy
Im master Branch werden die ersten 7 Zeichen vom git commit hash an die Version gehangen.
Die Routing Strategy steuert wie das Routing konfiguriert wird und wieviele Vorgang-Manager-Instanzen berücksichtigt werden können.
### Release Branch
Folgende Optionen stehen zur Verfügung:
Ist nur die Version aus der pom.xml
- **MULTI** es kann an beliebig viele Vorgang-Manager-Instanzen geroutet werden. Dafür muss in der Environment ein Mapping der Organisationseinheit-Id auf den Namen einer Vorgang-Manager-Instanz konfiguriert werden.
### Feature Branch
```yaml
In einem feature Branch wird der Branchname an die Version gehangen. ozgcloud.adapter.organisationseinheiten.*id*: *vorgang-manager-name*
\ No newline at end of file ```
- **SINGLE** es wird immer nur an eine Vorgang-Manager-Instanze geroutet, der Name der Instanz ist im Feld 'Vorgang-Manager Name' anzugeben.
### Beispielkonfiguration
```yaml
env:
springProfiles: "oc, dev"
grpc:
- name: grpc_client_vorgang-manager-test_address
value: "vorgang-manager.test:9090"
- name: grpc_client_vorgang-manager-test_negotiationType
value: PLAINTEXT
- name: ozgcloud.adapter.organisationseinheiten.1357913579
value: test
image:
tag: snapshot-latest
imageCredentials:
email: webmaster@ozg-sh.de
password:
registry: docker.ozg-sh.de
username: ozgcloud
ingress:
host: kiel-afm.dev.by.ozg-cloud.de
replicaCount: 2
resources:
limits:
cpu: 1
memory: 1200Mi
requests:
cpu: 100m
memory: 250Mi
global:
cattle:
clusterId: c-8g78g
clusterName: ozg-dev
systemDefaultRegistry: ""
systemDefaultRegistry: ""
routing:
fallbackStrategy: FUNDSTELLE
fundstelleVorgangManagerName: kiel
routingStrategy: MULTI
targetVorgangManagerName: kiel
```
### Benutzung beliebiger environment Werte
In jedem der Projekte kann man beliebige weitere environments setzen. Dazu muss man in der jeweiligen values.yaml unter env.customList ein name value Paar setzen:
```yaml
env:
customList:
- name: Dinge
value: true
- name: ...
value: ...
```
# Intelliform Adapter
Adapter zum empfangen von Formulardaten von einem IntellForm basierten Formularserver, zum Beispiel iAFM (integriertes Antrags- und Formularmanagement).
## Routingkonfiguration
### Vorgang-Manager Instanzen
Für alle Vorgang-Manager-Instanzen, die von dem Adapter erreichbar sein sollen, muss in das _Environment_ ein Eintrag mit dem GRPC-Service ergänzt werden:
```yaml
grpc.client.vorgang-manager-*vorgang-manager-name*.address:*url und port*
grpc.client.vorgang-manager-*vorgang-manager-name*.negotiationType: PLAINTEXT
```
### Fallback Strategy
Die Fallback Stratey steuert wie mit Eingängen umgegangen werden soll, für die keine passende Vorgang-Manager-Instanze gefunden werden konnte.
Folgende Optionen stehen zur Verfügung:
- **DENY** der Antrag wird mit einer Fehlermeldung abgelehnt. Dies funktioniert nur, solange die Abarbeitung synchron erfolgt.
- **FUNDSTELLE** der Antrag wird an eine zentrale Fundstelle weitergeleitet. Dafür muss der Name der Vorgang-Manager-Instanze, die als Fundstelle fungiert, eingetragen werden.
### Routing Strategy
Die Routing Strategy steuert wie das Routing konfiguriert wird und wieviele Vorgang-Manager-Instanzen berücksichtigt werden können.
Folgende Optionen stehen zur Verfügung:
- **MULTI** es kann an beliebig viele Vorgang-Manager-Instanzen geroutet werden. Dafür muss in der Environment ein Mapping der Organisationseinheit-Id auf den Namen einer Vorgang-Manager-Instanz konfiguriert werden.
```yaml
ozgcloud.adapter.organisationseinheiten.*id*: *vorgang-manager-name*
```
- **SINGLE** es wird immer nur an eine Vorgang-Manager-Instanze geroutet, der Name der Instanz ist im Feld 'Vorgang-Manager Name' anzugeben.
### Beispielkonfiguration
```yaml
env:
springProfiles: "oc, dev"
grpc:
- name: grpc_client_vorgang-manager-test_address
value: "vorgang-manager.test:9090"
- name: grpc_client_vorgang-manager-test_negotiationType
value: PLAINTEXT
- name: ozgcloud.adapter.organisationseinheiten.1357913579
value: test
image:
tag: snapshot-latest
imageCredentials:
email: webmaster@ozg-sh.de
password:
registry: docker.ozg-sh.de
username: ozgcloud
ingress:
host: kiel-afm.dev.by.ozg-cloud.de
replicaCount: 2
resources:
limits:
cpu: 1
memory: 1200Mi
requests:
cpu: 100m
memory: 250Mi
global:
cattle:
clusterId: c-8g78g
clusterName: ozg-dev
systemDefaultRegistry: ""
systemDefaultRegistry: ""
routing:
fallbackStrategy: FUNDSTELLE
fundstelleVorgangManagerName: kiel
routingStrategy: MULTI
targetVorgangManagerName: kiel
```
### Benutzung beliebiger environment Werte
In jedem der Projekte kann man beliebige weitere environments setzen. Dazu muss man in der jeweiligen values.yaml unter env.customList ein name value Paar setzen:
```yaml
env:
customList:
- name: Dinge
value: true
- name: ...
value: ...
```
...@@ -81,3 +81,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} ...@@ -81,3 +81,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }}
{{- printf "%s-afm.%s" (include "app.ozgcloudBezeichner" .) .Values.baseUrl }} {{- printf "%s-afm.%s" (include "app.ozgcloudBezeichner" .) .Values.baseUrl }}
{{- end }} {{- end }}
{{- end -}} {{- end -}}
{{- define "app.serviceAccountName" -}}
{{ printf "%s" ( (.Values.serviceAccount).name | default "eingang-manager-service-account" ) }}
{{- end -}}
\ No newline at end of file
...@@ -47,6 +47,9 @@ spec: ...@@ -47,6 +47,9 @@ spec:
{{- include "app.defaultLabels" . | indent 8 }} {{- include "app.defaultLabels" . | indent 8 }}
component: afm-adapter component: afm-adapter
spec: spec:
{{- if (.Values.serviceAccount).create }}
serviceAccountName: {{ include "app.serviceAccountName" . }}
{{- end }}
topologySpreadConstraints: topologySpreadConstraints:
- maxSkew: 1 - maxSkew: 1
topologyKey: kubernetes.io/hostname topologyKey: kubernetes.io/hostname
...@@ -118,7 +121,13 @@ spec: ...@@ -118,7 +121,13 @@ spec:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
runAsNonRoot: false runAsNonRoot: true
{{- with (.Values.securityContext).runAsUser }}
runAsUser: {{ . }}
{{- end }}
{{- with (.Values.securityContext).runAsGroup }}
runAsGroup: {{ . }}
{{- end }}
stdin: true stdin: true
terminationMessagePath: /dev/termination-log terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File terminationMessagePolicy: File
...@@ -126,8 +135,16 @@ spec: ...@@ -126,8 +135,16 @@ spec:
dnsConfig: {} dnsConfig: {}
dnsPolicy: ClusterFirst dnsPolicy: ClusterFirst
imagePullSecrets: imagePullSecrets:
{{- if .Values.imagePullSecret }}
- name: {{ .Values.imagePullSecret }}
{{ else }}
- name: {{ include "app.name" . }}-image-pull-secret - name: {{ include "app.name" . }}-image-pull-secret
{{- end }}
restartPolicy: Always restartPolicy: Always
{{- with .Values.hostAliases }}
hostAliases:
{{ toYaml . | indent 8 }}
{{- end }}
schedulerName: default-scheduler schedulerName: default-scheduler
securityContext: {} securityContext: {}
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
\ No newline at end of file
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
# unter der Lizenz sind dem Lizenztext zu entnehmen. # unter der Lizenz sind dem Lizenztext zu entnehmen.
# #
{{- if not (.Values.imagePullSecret) }}
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
...@@ -30,3 +31,4 @@ metadata: ...@@ -30,3 +31,4 @@ metadata:
type: kubernetes.io/dockerconfigjson type: kubernetes.io/dockerconfigjson
data: data:
.dockerconfigjson: {{ include "app.imagePullSecret" . }} .dockerconfigjson: {{ include "app.imagePullSecret" . }}
{{- end }}
\ No newline at end of file
...@@ -27,7 +27,11 @@ apiVersion: networking.k8s.io/v1 ...@@ -27,7 +27,11 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:
{{- if (.Values.ingress).use_staging_cert }} {{- if (.Values.ingress).certManagerAnnotations -}}
{{- range (.Values.ingress).certManagerAnnotations }}
{{ . | indent 4 }}
{{- end }}
{{- else if (.Values.ingress).use_staging_cert }}
cert-manager.io/cluster-issuer: letsencrypt-staging cert-manager.io/cluster-issuer: letsencrypt-staging
{{- else }} {{- else }}
cert-manager.io/cluster-issuer: letsencrypt-prod cert-manager.io/cluster-issuer: letsencrypt-prod
...@@ -53,7 +57,9 @@ spec: ...@@ -53,7 +57,9 @@ spec:
tls: tls:
- hosts: - hosts:
- {{ include "app.ingress.host" . }} - {{ include "app.ingress.host" . }}
{{- if ne (.Values).cluster_env "dataport" }} {{- if (.Values.ingress).tlsSecretName }}
secretName: {{ (.Values.ingress).tlsSecretName }}
{{- else if ne (.Values).cluster_env "dataport" }}
secretName: {{ .Values.ozgcloud.bezeichner }}-{{ include "app.name" . }}-tls secretName: {{ .Values.ozgcloud.bezeichner }}-{{ include "app.name" . }}-tls
{{- end }} {{- end }}
{{- end -}} {{- end -}}
\ No newline at end of file
...@@ -49,10 +49,7 @@ spec: ...@@ -49,10 +49,7 @@ spec:
- to: - to:
- namespaceSelector: - namespaceSelector:
matchLabels: matchLabels:
kubernetes.io/metadata.name: kube-system kubernetes.io/metadata.name: {{ required "networkPolicy.dnsServerNamespace must be set" (.Values.networkPolicy).dnsServerNamespace }}
podSelector:
matchLabels:
k8s-app: kube-dns
ports: ports:
- port: 53 - port: 53
protocol: UDP protocol: UDP
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment