Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
cf7a533
WIP rewrite frontend
xgui3783 Mar 7, 2024
1f1ca00
WIP: widget two way binding of xlate, scale, rot, mostly work
xgui3783 Mar 17, 2024
db1cf33
WIP: landmark overlay on viewer works
xgui3783 Mar 21, 2024
c3f2113
feat: allow saving/loading of landmark pairs
xgui3783 Mar 25, 2024
d32a5ab
feat: implement linear transform backend
xgui3783 Mar 28, 2024
eb4623f
feat: allow upload
xgui3783 Mar 29, 2024
7083c09
fix: post to ebrains model fix
xgui3783 Apr 1, 2024
c24329a
skip test for now
xgui3783 Apr 1, 2024
f7e38b6
fix custom src
xgui3783 Apr 1, 2024
fc1560d
fix post to ebrains
xgui3783 Apr 1, 2024
1485945
fix ebrains publish
xgui3783 Apr 1, 2024
b899711
fix share module
xgui3783 Apr 1, 2024
63c8a7e
fix publish ebrain result
xgui3783 Apr 2, 2024
cd34274
fix publish
xgui3783 Apr 2, 2024
3397eba
feat: add logout in align screen
xgui3783 Apr 12, 2024
8c52ed9
update tos
xgui3783 Apr 15, 2024
8eaccc8
update export nehuba version to support google bucket api
xgui3783 Oct 28, 2024
48f3f0c
fix: gs API
xgui3783 Oct 28, 2024
399fae0
add zarr support
xgui3783 Nov 6, 2024
78283c8
feat: fully support ome zarr
xgui3783 Nov 6, 2024
728c096
fix: trim custom volume trailing slash
xgui3783 Nov 7, 2024
c8d5a8a
fixed zarr rotation
xgui3783 Nov 7, 2024
b8b15a1
fix: window not available in worker error
xgui3783 Nov 7, 2024
13ca772
maint: update upload URL
xgui3783 Dec 11, 2024
aa9ede4
fix: pin pydantic version
xgui3783 Dec 11, 2024
03dc68c
fix: fallback if crypto is not available
xgui3783 Feb 11, 2025
2c13e55
fix: hash id generation
xgui3783 Feb 11, 2025
87bfcf2
fix: rancher deploy
xgui3783 Apr 2, 2025
b89e312
[skip ci] fix deploy
xgui3783 Apr 2, 2025
d8b98f9
fix: input with additional channels
xgui3783 Jun 4, 2025
cf76c9e
cd: update deployment config
xgui3783 Jun 4, 2025
9f2650d
fix: rotating scaled volume now works properly
xgui3783 Jun 4, 2025
7d5a130
ui: add card to increase contrast to buttons
xgui3783 Jun 4, 2025
6b25d2d
dep: typescript for ng15->16
xgui3783 Jun 4, 2025
e74b10e
dep: ng 15-> 16
xgui3783 Jun 4, 2025
819b69b
dep: ng material 15 -> 16
xgui3783 Jun 4, 2025
d361ab6
dep: ngrx
xgui3783 Jun 4, 2025
62a6f72
cd: remove unused env
xgui3783 Jun 4, 2025
df54edf
maint: fix general action typo
xgui3783 Jun 4, 2025
27e20df
feat: added indication when add landmark mode is toggled on
xgui3783 Jun 4, 2025
2b41128
fix: export landmarks for incoming volume
xgui3783 Jun 4, 2025
2d2d296
fix&doc: minor fix of undostack and clarified its use
xgui3783 Jun 4, 2025
b111520
(partial)fix loading saved transform
xgui3783 Jun 4, 2025
21d6430
fix: do not reuse expired token
xgui3783 Jun 5, 2025
65de0cf
fix: catch and display error when calculating affine
xgui3783 Jun 5, 2025
3fcdf45
fix: lazy loading of incoming volumes
xgui3783 Jun 6, 2025
0347613
fix: round scale to 3dp
xgui3783 Jun 6, 2025
c8db549
fix: update scaling in tune ui also changes rotation somehow
xgui3783 Jun 26, 2025
122ca80
exmpt: add opacity control to popout
xgui3783 Jul 7, 2025
d595967
feat: landmark scrollbar
xgui3783 Jul 8, 2025
ea6749d
ui: simplify menu
xgui3783 Jul 8, 2025
f8c1d88
fix: unable to compute affine
xgui3783 Jul 10, 2025
514801b
fix: adding invalid source
xgui3783 Jul 18, 2025
ace587d
good luck charm to docker login
xgui3783 Jul 18, 2025
608caaa
fix: rotational widget
xgui3783 Oct 6, 2025
e234d92
bugfix/ui: added catch error for 413 entity too large
xgui3783 Oct 7, 2025
2d052a7
maint: update url
xgui3783 Jun 12, 2026
1bdb1db
test trigger deployment
xgui3783 Jun 12, 2026
81d2cd7
allow follow
xgui3783 Jun 12, 2026
846eed7
debug
xgui3783 Jun 12, 2026
fa83a4f
custom MR title
xgui3783 Jun 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/workflows/deploy-helm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@ on:

env:
path_to_helm: .helm/voluba-prod
INGRESS_HOST: '[{ "host": "voluba-staging.apps.tc.humanbrainproject.eu", "paths": [{ "path": "/", "pathType": "Prefix" }] }]'
TLS: '[{ "secretName": "voluba-rc-tc-secret", "hosts": ["voluba-staging.apps.tc.humanbrainproject.eu"] }]'
ENV_HOSTNAME: 'https://voluba-staging.apps.tc.humanbrainproject.eu'

jobs:
trigger-deploy:
Expand All @@ -27,13 +24,19 @@ jobs:
- uses: actions/checkout@v4
- name: 'Deploy'
run: |
if [[ ! ${{ inputs.IMAGE_TAG }} -eq "rf_rewriteFrontend" ]]
then
echo "IMAGE_TAG is ${{ inputs.IMAGE_TAG }}, currently only works for rf_rewriteFrontend"
exit 1
fi
kubecfg_path=${{ runner.temp }}/.kube_config
echo "${{ secrets.KUBECONFIG }}" > $kubecfg_path

helm --kubeconfig=$kubecfg_path \
upgrade \
--reuse-values \
--set image.tag=${{ inputs.IMAGE_TAG }} \
--history-max=3 \
${{ inputs.DEPLOYMENT_NAME }} ${{ env.path_to_helm }}

rm $kubecfg_path
115 changes: 48 additions & 67 deletions .github/workflows/dockerimg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@ on:
branches:
- master
- staging
- rf_rewriteFrontend

# do not rebuild if...
paths-ignore:
# use_docs (use_docs are built on readthedocs any way)
- 'use_docs/*'

env:
OKD_URL: https://okd.hbp.eu:443
jobs:
build-docker-img:
runs-on: ubuntu-latest
Expand All @@ -30,6 +29,10 @@ jobs:
if [[ $GITHUB_REF == 'refs/heads/staging' ]]; then
echo "DOCKERIMG=voluba:staging" >> "$GITHUB_ENV"
fi

if [[ $GITHUB_REF == 'refs/heads/rf_rewriteFrontend' ]]; then
echo "DOCKERIMG=voluba:rf_rewriteFrontend" >> "$GITHUB_ENV"
fi
- name: 'Setup tags'
run: |
if [[ -z "$DOCKERIMG" ]]
Expand All @@ -40,40 +43,20 @@ jobs:
DOCKER_IMGSTREAM=${{ secrets.EBRAINS_DOCKER_REG_VOLUBA_NSP }}/${DOCKERIMG}
echo "Setting docker image stream to $DOCKER_IMGSTREAM"
echo "DOCKER_IMGSTREAM=$DOCKER_IMGSTREAM" >> $GITHUB_ENV
- name: 'Set matomo env var'
run: |
echo "MATOMO_URL=${{ secrets.MATOMO_URL_PROD }}" >> $GITHUB_ENV
echo "MATOMO_ID=${{ secrets.MATOMO_ID_PROD }}" >> $GITHUB_ENV

- name: 'Set version variable & expmt feature flag'
id: 'setting-vars'
run: |
GIT_HASH=$(git rev-parse --short HEAD)
echo "Setting GIT_HASH: $GIT_HASH"
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_OUTPUT

VERSION=$(jq -r '.version' app/package.json)
echo "Setting VERSION: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "VERSION=$VERSION" >> $GITHUB_ENV

# VUE_APP_ENABLE_EXPERIMENTAL_FEATURES="{}"

- name: 'Build docker image'
run: |

echo "Building $DOCKER_IMGSTREAM"
docker build \
--build-arg MATOMO_URL=$MATOMO_URL \
--build-arg MATOMO_ID=$MATOMO_ID \
--build-arg VUE_APP_BACKEND_URL=${{ secrets.VUE_APP_BACKEND_URL }} \
--build-arg VUE_APP_UPLOAD_URL=${{ secrets.VUE_APP_UPLOAD_URL }} \
-t $DOCKER_IMGSTREAM \
.
echo "Successfully built $DOCKER_IMGSTREAM"

- name: 'Push to docker registry'
run: |
# Good luck charm?
curl -v https://docker-registry.ebrains.eu/v2/

echo "Login to docker registry"
docker login \
-u '${{ secrets.EBRAINS_DOCKER_REG_USER }}' \
Expand All @@ -97,48 +80,46 @@ jobs:

docker push $VERSIONED_DOCKER_IMGSTREAM

deploy-prod-on-rancher:
needs: [ build-docker-img ]
if: ${{ github.ref == 'refs/heads/master' && success() }}
uses: ./.github/workflows/deploy-helm.yml
with:
DEPLOYMENT_NAME: voluba-prod
IMAGE_TAG: ${{ needs.build-docker-img.outputs.VERSION }}
secrets:
KUBECONFIG: ${{ secrets.KUBECONFIG }}

deploy-rc-on-rancher:
needs: [ build-docker-img ]
if: ${{ github.ref == 'refs/heads/staging' && success() }}
uses: ./.github/workflows/deploy-helm.yml
with:
DEPLOYMENT_NAME: voluba-rc
IMAGE_TAG: staging
secrets:
KUBECONFIG: ${{ secrets.KUBECONFIG }}

deploy-on-okd:
trigger-gitops:
needs: [ build-docker-img ]
if: success()
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/rf_rewriteFrontend' && success() }}
steps:
- name: "Configure image stream"
run: |
if [[ "$GITHUB_REF" == "refs/heads/master" ]]
then
echo "IMAGE_STREAM_TAG=docker-registry.default.svc:5000/voluba/voluba-img-deploy:latest" >> $GITHUB_ENV
fi
if [[ "$GITHUB_REF" == "refs/heads/staging" ]]
then
echo "IMAGE_STREAM_TAG=docker-registry.default.svc:5000/voluba/voluba-stg-img-deploy:staging" >> $GITHUB_ENV
fi
- name: "Login via cli"
run: |
if [[ ! -z "$IMAGE_STREAM_TAG" ]]
then
oc login ${{ env.OKD_URL }} --token=${{ secrets.OKD_SECRET }}
oc project voluba
oc import-image $IMAGE_STREAM_TAG
else
echo "Empty IMAGE_STREAM_TAG, skipping"
fi
- name: 'Set deployment variables'
id: deploy-vars
run: |
echo "DEPLOY_FILE=voluba/frontend/values/jsccloud-prod.yaml" >> "$GITHUB_OUTPUT"

cat > /tmp/delta.yaml << EOF
image:
tag: rf_rewriteFrontend
podLabel:
commithash: ${{ github.sha }}
EOF
echo "DELTA_B64=$(base64 -w 0 /tmp/delta.yaml)" >> "$GITHUB_OUTPUT"

# optional MR_TITLE
echo "MR_TITLE='voluba rf_rewriteFrontend update'" >> "$GITHUB_OUTPUT"

- name: 'Trigger GitLab GitOps pipeline'
run: |
UPDATE_FILES=$(jq -cn \
--arg filename "${{ steps.deploy-vars.outputs.DEPLOY_FILE }}" \
--arg delta "${{ steps.deploy-vars.outputs.DELTA_B64 }}" \
'[{"filename": $filename, "delta": $delta}]')

MR_TITLE="${{ steps.deploy-vars.outputs.MR_TITLE }}"

curl -fL -X POST \
--form "token=${{ secrets.GITLAB_GITOPS_TRIGGER_TOKEN }}" \
--form "ref=main" \
--form "variables[UPDATE_FILES]=$UPDATE_FILES" \
--form "variables[MR_TITLE]=$MR_TITLE" \
"${{ secrets.GITLAB_GITOPS_URL }}/api/v4/projects/${{ secrets.GITLAB_GITOPS_PROJECT_ID }}/trigger/pipeline"

# DO NOT EDIT BELOW
#
# TODO
# GITLAB_TRIGGER_TOKEN
# GITLAB_GITOPS_URL
# GITLAB_GITOPS_PROJECT_ID
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ jobs:
node-version: ${{ matrix.node-version }}
- name: npm install, build, and test
run: |
cd app
npm i
npm run test
cd frontend
echo npm i
echo npm run test
21 changes: 0 additions & 21 deletions .helm/adhoc/cert-rc-ebrains.yaml

This file was deleted.

21 changes: 0 additions & 21 deletions .helm/adhoc/cert-rc-tc.yaml

This file was deleted.

33 changes: 28 additions & 5 deletions .helm/adhoc/certificate.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: voluba-certificate
name: voluba-ebrains-cert
spec:
secretName: voluba-prod-secret
secretName: voluba-prod-ebrains-cert-secret
renewBefore: 120h
commonName: voluba.apps.tc.humanbrainproject.eu
commonName: voluba.apps.ebrains.eu
isCA: false
privateKey:
algorithm: RSA
Expand All @@ -15,7 +16,29 @@ spec:
- server auth
dnsNames:
# (CHANGE ME! same as `commonName`)
- voluba.apps.tc.humanbrainproject.eu
- voluba.apps.ebrains.eu
issuerRef:
name: letsencrypt-production-issuer-1
kind: ClusterIssuer
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: voluba-rc-tc-certificate
spec:
secretName: voluba-rc-tc-secret
renewBefore: 120h
commonName: voluba-staging.apps.tc.humanbrainproject.eu
isCA: false
privateKey:
algorithm: RSA
encoding: PKCS1
size: 2048
usages:
- server auth
dnsNames:
# (CHANGE ME! same as `commonName`)
- voluba-staging.apps.tc.humanbrainproject.eu
issuerRef:
name: letsencrypt-production-issuer-1
kind: ClusterIssuer
41 changes: 41 additions & 0 deletions .helm/adhoc/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: voluba-ingress
labels:
name: voluba-ingress
spec:
ingressClassName: nginx
rules:
- host: voluba.apps.ebrains.eu
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: voluba-prod-ebrains
port:
number: 8080
- host: voluba.apps.hbp.eu
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: voluba-prod-ebrains
port:
number: 8080
tls:
- secretName: voluba-prod-ebrains-cert-secret
hosts:
- voluba.apps.ebrains.eu
- secretName: voluba-old-hostname-secret
hosts:
- voluba.apps.hbp.eu

# TODO delete cert & secret
# - secretName: voluba-prod-secret
# hosts:
# - voluba.apps.tc.humanbrainproject.eu
6 changes: 6 additions & 0 deletions .helm/deployments/ebrains/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#! /bin/bash

helm install \
-f .helm/deployments/ebrains/values.yaml \
voluba-prod-ebrains \
.helm/voluba-prod
7 changes: 7 additions & 0 deletions .helm/deployments/ebrains/upgrade.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#! /bin/bash

helm upgrade \
--history-max 3 \
-f .helm/deployments/ebrains/values.yaml \
voluba-prod-ebrains \
.helm/voluba-prod
5 changes: 5 additions & 0 deletions .helm/deployments/ebrains/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
image:
tag: rf_rewriteFrontend

ingress:
enabled: false
6 changes: 6 additions & 0 deletions .helm/deployments/legacy/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#! /bin/bash

helm install \
-f .helm/deployments/legacy/values.yaml \
voluba-prod-legacy \
.helm/voluba-prod
7 changes: 7 additions & 0 deletions .helm/deployments/legacy/upgrade.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#! /bin/bash

helm upgrade \
--history-max 3 \
-f .helm/deployments/legacy/values.yaml \
voluba-prod-legacy \
.helm/voluba-prod
18 changes: 18 additions & 0 deletions .helm/deployments/legacy/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
image:
tag: staging

env:
HOSTNAME: https://voluba-staging.apps.tc.humanbrainproject.eu

ingress:
enabled: true
className: "nginx"
hosts:
- host: voluba-staging.apps.tc.humanbrainproject.eu
paths:
- path: "/"
pathType: Prefix
tls:
- secretName: voluba-rc-tc-secret
hosts:
- voluba-staging.apps.tc.humanbrainproject.eu
2 changes: 1 addition & 1 deletion .helm/voluba-prod/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ version: 0.1.1
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.1.1"
appVersion: "1.1.3-rc7"
Loading
Loading