diff --git a/.github/workflows/deploy-helm.yml b/.github/workflows/deploy-helm.yml index 59796a18dd55d38db2cd5c8a5b768568d07c2b69..0e98465dfd1f9b783d79f1c8e17ba35ad2744af3 100644 --- a/.github/workflows/deploy-helm.yml +++ b/.github/workflows/deploy-helm.yml @@ -30,12 +30,19 @@ jobs: kubecfg_path=${{ runner.temp }}/.kube_config echo "${{ secrets.KUBECONFIG }}" > $kubecfg_path - helm --kubeconfig=$kubecfg_path \ + helm ls | awk '{print $1}' | grep -q ${{ inputs.DEPLOYMENT_NAME }} \ + && helm --kubeconfig=$kubecfg_path \ upgrade \ --history-max 3 \ --reuse-values \ --set image.tag=${{ inputs.IMAGE_TAG }} \ --set podLabels.image-digest=${{ inputs.IMAGE_DIGEST }} \ + ${{ inputs.DEPLOYMENT_NAME }} .helm/siibra-explorer/ \ + || helm --kubeconfig=$kubecfg_path \ + install\ + --set image.tag=${{ inputs.IMAGE_TAG }} \ + --set podLabels.image-digest=${{ inputs.IMAGE_DIGEST }} \ + --set envObj.HOST_PATHNAME=/viewer \ ${{ inputs.DEPLOYMENT_NAME }} .helm/siibra-explorer/ rm $kubecfg_path @@ -50,14 +57,21 @@ jobs: kubecfg_path=${{ runner.temp }}/.kube_config echo "${{ secrets.KUBECONFIG }}" > $kubecfg_path - helm --kubeconfig=$kubecfg_path \ + helm ls | awk '{print $1}' | grep -q ${{ inputs.DEPLOYMENT_NAME }} \ + && helm --kubeconfig=$kubecfg_path \ upgrade \ --history-max 3 \ --reuse-values \ --set image.tag=${{ inputs.IMAGE_TAG }} \ --set podLabels.image-digest=${{ inputs.IMAGE_DIGEST }} \ + ${{ inputs.DEPLOYMENT_NAME }} .helm/siibra-explorer/ \ + || helm --kubeconfig=$kubecfg_path \ + install\ + --set image.tag=${{ inputs.IMAGE_TAG }} \ + --set podLabels.image-digest=${{ inputs.IMAGE_DIGEST }} \ + --set envObj.HOST_PATHNAME=/viewer-staging \ ${{ inputs.DEPLOYMENT_NAME }} .helm/siibra-explorer/ - + rm $kubecfg_path trigger-deploy-expmt: @@ -70,12 +84,19 @@ jobs: kubecfg_path=${{ runner.temp }}/.kube_config echo "${{ secrets.KUBECONFIG }}" > $kubecfg_path - helm --kubeconfig=$kubecfg_path \ + helm ls | awk '{print $1}' | grep -q ${{ inputs.DEPLOYMENT_NAME }} \ + && helm --kubeconfig=$kubecfg_path \ upgrade \ --history-max 3 \ --reuse-values \ --set image.tag=${{ inputs.IMAGE_TAG }} \ --set podLabels.image-digest=${{ inputs.IMAGE_DIGEST }} \ + ${{ inputs.DEPLOYMENT_NAME }} .helm/siibra-explorer/ \ + || helm --kubeconfig=$kubecfg_path \ + install\ + --set image.tag=${{ inputs.IMAGE_TAG }} \ + --set podLabels.image-digest=${{ inputs.IMAGE_DIGEST }} \ + --set envObj.HOST_PATHNAME=/viewer-expmt \ ${{ inputs.DEPLOYMENT_NAME }} .helm/siibra-explorer/ rm $kubecfg_path diff --git a/.helm/siibra-explorer/values.yaml b/.helm/siibra-explorer/values.yaml index 602d70a8bba2f4a53b6a0f700e233972360bfb6d..81f4da0354ac1e15735f258ed40f016efa7f5920 100644 --- a/.helm/siibra-explorer/values.yaml +++ b/.helm/siibra-explorer/values.yaml @@ -2,7 +2,7 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. -replicaCount: 1 +replicaCount: 2 image: repository: docker-registry.ebrains.eu/siibra/siibra-explorer @@ -96,7 +96,6 @@ tolerations: [] affinity: {} envObj: - HOSTNAME: https://siibra-explorer.apps.tc.humanbrainproject.eu OVERWRITE_SPATIAL_ENDPOINT: https://siibra-spatial-backend.apps.tc.humanbrainproject.eu HOST_PATHNAME: /viewer OVERWRITE_API_ENDPOINT: https://siibra-api-prod.apps.tc.humanbrainproject.eu/v3_0 diff --git a/Dockerfile b/Dockerfile index e5669e328840b8e6fc767ad8a3333ff993a8890f..44ff0484477d84ab601a35958fd77fa02b1d5d8c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,5 @@ FROM node:16 as builder -ARG BUILD_HASH -ENV BUILD_HASH=${BUILD_HASH:-devbuild} - ARG BACKEND_URL ENV BACKEND_URL=${BACKEND_URL} @@ -47,6 +44,9 @@ RUN node third_party/matomo/processMatomo.js # prod container FROM python:3.10-alpine +ARG BUILD_HASH +ENV BUILD_HASH=${BUILD_HASH:-devbuild} + RUN adduser --disabled-password nonroot RUN mkdir /common diff --git a/backend/app/version_header.py b/backend/app/version_header.py index 8ece7c233df70edb79b486311e853ecfd08e7170..4881e4bd5ebe448972483ef83098098870862929 100644 --- a/backend/app/version_header.py +++ b/backend/app/version_header.py @@ -12,5 +12,8 @@ class VersionHeaderMW(BaseHTTPMiddleware): or (300 <= resp.status_code < 400) # if the request is redirect, do not interfere ): return resp + + # allow for debugging, cache should be busted every 10 min resp.headers["ETag"] = BUILD_HASH + resp.headers["Cache-Control"] = "max-age=600" return resp diff --git a/docs/releases/v2.14.9.md b/docs/releases/v2.14.9.md new file mode 100644 index 0000000000000000000000000000000000000000..016bd441c4f6e3578dd9a68d92768d136b167e0e --- /dev/null +++ b/docs/releases/v2.14.9.md @@ -0,0 +1,5 @@ +# v2.14.9 + +## Bugfix + +- Fix deployment issues diff --git a/package.json b/package.json index 356214b9bfd02ea2a0733f12d2f30e1465d3b69e..0d8728b4facb97c0a093a25cbaed83ad44525130 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "siibra-explorer", - "version": "2.14.8", + "version": "2.14.9", "description": "siibra-explorer - explore brain atlases. Based on humanbrainproject/nehuba & google/neuroglancer. Built with angular", "scripts": { "lint": "eslint src --ext .ts",