SOTHOOK
The SOTHOOK is a combination of two webhooks that are required for yuuvis® client as reference implementation for proper handling of an object's lifecycle.
Table of Contents
Characteristics
Service Name | sothook |
---|---|
Port Range | 10779 |
Profiles | prod |
Helm Chart | client |
Public API | - |
Function
Handling of secondary object types in yuuvis® client as reference implementation.
Configuration
k8s-service
apiVersion: v1 kind: Service metadata: labels: app: yuuvis yuuvis: "true" name: sothook name: sothook namespace: yuuvis spec: ports: - name: http port: 80 protocol: TCP targetPort: 10779 selector: name: sothook type: ClusterI
k8s-deployment
apiVersion: apps/v1 kind: Deployment metadata: namespace: yuuvis labels: app: yuuvis name: sothook name: sothook spec: replicas: 1 selector: matchLabels: name: sothook template: metadata: labels: app: yuuvis name: sothook spec: initContainers: - name: init-sothook image: busybox command: ["sh", "-c", "until wget -q --spider http://configservice/manage/health; do echo waiting for configservice; sleep 11; done;"] imagePullPolicy: IfNotPresent containers: - name: sothook image: docker.yuuvis.org/yuuvis/sandbox/sot-hook:1.0.0-RC01 imagePullPolicy: Always env: - name: JAVA_OPTS value: -Xmx256m - name: SPRING_PROFILES_ACTIVE value: prod,kubernetes - name: SPRING_CLOUD_CONFIG_URI value: "http://configservice/config" ports: - containerPort: 10779 restartPolicy: Always imagePullSecrets: - name: flexsecret
In the cluster, the "app/clientsystem/systemHookConfiguration.json
" file must be adapted in the CONFIGSERVICE - in the webhook
array, these two entries must be added:
webhook array entries
{ "enable": true, "predicate": "spel:T(java.util.List).of(100,101).contains(options['action']) && properties['system:secondaryObjectTypeIds'] != null && properties['system:secondaryObjectTypeIds']['value'].contains('appClientsystem:leadingType')", "type": "dms.request.objects.upsert.database-before", "url": "http://sothook/api/dms/request/import/databasebefore", "useDiscovery": true }, { "enable": true, "predicate": "spel:T(java.util.List).of(300).contains(options['action']) && properties['system:secondaryObjectTypeIds'] != null && properties['system:secondaryObjectTypeIds']['value'].contains('appClientsystem:leadingType')", "type": "dms.request.objects.upsert.database-before", "url": "http://sothook/api/dms/request/updatemetadata/databasebefore", "useDiscovery": true }
Deprecated (valid up to version 2022 Summer): In the cluster, the "system/systemHookConfiguration.json
" file must be adapted in the CONFIGSERVICE - in the webhook
array, these two entries must be added:
webhook array entries (up to version 2022 Summer)
{ "enable": true, "predicate": "spel:(options==null || options['currentVersion']==null)", "type": "dms.request.import.storage.before", "url": "http://sothook/api/dms/request/import", "useDiscovery": true }, { "enable": true, "predicate": "spel:options!=null && options['currentVersion']!=null && options['currentVersion']['properties']['system:secondaryObjectTypeIds'] != null && options['currentVersion']['properties']['system:secondaryObjectTypeIds']['value'].contains('appClientsystem:leadingType')", "type": "dms.request.update.metadata", "url": "http://sothook/api/dms/request/update/metadata", "useDiscovery": true }