diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d12631ad44c6de3220690201abf598ec7e2b84b3..1eecb43eebbce00b56ddbff39c1218f625e38c7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,3 +19,17 @@ integration tests: variables: # app specific settings REDIS_HOST: redis + +deploy preview with prefix: + extends: .auto-deploy-preview-chart + script: + - !reference [.setup-k8s, script] + - !reference [.customize-k8s, script] + - !reference [.create-image-pull-secrets, script] + - envsubst < .gitlab/preview-prefix/values-template.yaml > tmp-values.yaml + - envsubst < .gitlab/preview-prefix/kubernetes-resources.yaml > tmp-resources.yaml + - !reference [.login-registry-ro, script] + - kubectl apply -f tmp-resources.yaml + - helm dep up helm/core-ui-middleware + - helm upgrade -i preview-prefix helm/core-ui-middleware -f tmp-values.yaml --wait --timeout=$ROLLOUT_TIMEOUT + environment: null diff --git a/.gitlab/preview-prefix/kubernetes-resources.yaml b/.gitlab/preview-prefix/kubernetes-resources.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0eb5ef83f01d771cbb9705a7f49bacf8b8ea17c1 --- /dev/null +++ b/.gitlab/preview-prefix/kubernetes-resources.yaml @@ -0,0 +1,178 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: preview-app-prefix +spec: + gateways: + - mesh + - istio-system/default-gateway + hosts: + - ${PREVIEW_APP_NAME}-prefix.dev.oxui.de + http: + - match: + - uri: + prefix: /help-documents + name: office-user-guide + route: + - destination: + host: preview-app-office-user-guide + port: + number: 80 + - match: + - uri: + prefix: /help + name: user-guide + route: + - destination: + host: preview-app-core-user-guide + port: + number: 80 + - match: + - uri: + prefix: /api/oxguard/ + name: guard-routes + rewrite: + uri: /oxguard/ + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /pks/ + name: guard-pgp-routes + rewrite: + uri: /oxguard/pgp/ + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /appsuite/api/ + name: appsuite-api + rewrite: + uri: /api/ + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /api + name: api-routes + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /ajax/ + name: ajax-routes + rewrite: + uri: /appsuite/api/ + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /servlet/ + name: servlet-routes + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /realtime/ + name: realtime-routes + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /infostore/ + name: infostore-routes + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /socket.io/ + name: socket-io-routes + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /rt2/ + name: rt2-routes + rewrite: + uri: /rt2/ + route: + - destination: + host: main-core-mw-http-api + port: + number: 80 + - match: + - uri: + prefix: /webservices/ + name: soap-routes + route: + - destination: + host: main-core-mw-http-api + - match: + - uri: + prefix: /office + name: office-service + rewrite: + uri: /appsuite/ + route: + - destination: + host: preview-prefix-core-ui-middleware + port: + number: 80 + - match: + - uri: + prefix: /appsuite/ + name: ui-middleware + route: + - destination: + host: preview-prefix-core-ui-middleware + port: + number: 80 + - match: + - uri: + prefix: / + name: ui-middleware-root + rewrite: + uri: /appsuite + route: + - destination: + host: preview-prefix-core-ui-middleware + port: + number: 80 +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: preview-prefix-core-ui-middleware +data: + config.yaml: | + baseUrls: + - http://preview-app-core-ui + - http://preview-app-office-web +--- diff --git a/.gitlab/preview-prefix/values-template.yaml b/.gitlab/preview-prefix/values-template.yaml new file mode 100644 index 0000000000000000000000000000000000000000..39b8f557a5a74bad89394de5681626f421242587 --- /dev/null +++ b/.gitlab/preview-prefix/values-template.yaml @@ -0,0 +1,19 @@ +imagePullSecrets: + - name: gitlab-registry-credentials + +appRoot: /appsuite/ + +ingress: + enabled: false +image: + registry: ${CI_REGISTRY} + repository: frontend/ui-middleware + tag: ${TAG_NAME} + pullPolicy: Always + +redis: + enabled: true + host: preview-app-redis-master.${PREVIEW_APP_NAME}.svc.cluster.local + prefix: ${CI_COMMIT_REF_SLUG}-${OX_COMPONENT}-prefix + +existingConfigMap: preview-prefix-core-ui-middleware