Skip to content

Commit d9e2a79

Browse files
authored
chore: Release OH 4.6.0
Updating OH from `2.4.0` to `4.6.0`. Many updates to OH: https://github.com/BLSQ/openhexa-app/releases (Most important: support for Azure storage). - fix: Run fixtures in "localhosting" mode: This implies that the `DJANGO_SUPERUSER_PASSWORD` must be set. - fix: Smoke tests - fix: Add ENV vars to` .env.dist` - chore: Update OH to `4.6.0` and docker images to `1.17.2`
2 parents 7d87c87 + 868171d commit d9e2a79

5 files changed

Lines changed: 45 additions & 12 deletions

File tree

.env.dist

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ DATABASE_NAME=hexa-app
2525
DATABASE_USER=hexa-app
2626
DATABASE_PASSWORD=hexa-app
2727

28+
# Initial Django admin user
29+
DJANGO_SUPERUSER_USERNAME=root@openhexa.org
30+
DJANGO_SUPERUSER_EMAIL=root@openhexa.org
31+
DJANGO_SUPERUSER_PASSWORD=root
32+
2833
# Networking
2934
############
3035

@@ -89,7 +94,7 @@ PIPELINE_SCHEDULER_SPAWNER=docker
8994
############
9095

9196
# The image to run the notebook containers
92-
JUPYTER_IMAGE=blsq/openhexa-base-environment:1.16.0
97+
JUPYTER_IMAGE=blsq/openhexa-base-environment:1.17.2
9398

9499
# Encryption settings
95100
JUPYTERHUB_CRYPT_KEY=${JUPYTERHUB_CRYPT_KEY}
@@ -118,11 +123,21 @@ WORKSPACE_BUCKET_PREFIX=hexa-test-
118123
# Workspace storage options
119124
# --------------------------
120125

121-
# Local FS: Define the root location where the workspaces files will be stored
126+
# Storage backend to use for workspace files.
127+
# Options:
128+
# - "fs" (local filesystem)
129+
# - "gcp" (Google Cloud Storage)
130+
# - "azure" (Azure Blob Storage)
131+
# Default: fs
132+
STORAGE_BACKEND=fs
133+
134+
# Local FS (STORAGE_BACKEND=fs): Define the root location where the workspaces files will be stored
122135
# Absolute path to the directory where the workspaces data will be stored
123136
WORKSPACE_STORAGE_LOCATION=$WORKSPACE_STORAGE_LOCATION
124137

125-
## GCP: Mandatory to run with GCS
138+
## GCP (STORAGE_BACKEND=gcp): Google Cloud Storage configuration
139+
# Base64 encoded service account key JSON (required when STORAGE_BACKEND=gcp)
140+
# Generate with: base64 -w 0 service-account-key.json
126141
WORKSPACE_STORAGE_BACKEND_GCS_SERVICE_ACCOUNT_KEY=
127142

128143
# # openssl rand -hex 16
@@ -138,6 +153,11 @@ WORKSPACE_STORAGE_BACKEND_AWS_BUCKET_REGION=
138153

139154
WORKSPACE_BUCKET_REGION=
140155

156+
## Azure (STORAGE_BACKEND=azure): Azure Blob Storage configuration
157+
# Connection string for Azure Storage account (required when STORAGE_BACKEND=azure)
158+
# Format: DefaultEndpointsProtocol=https;AccountName=<name>;AccountKey=<key>;EndpointSuffix=core.windows.net
159+
# AZURE_STORAGE_CONNECTION_STRING=
160+
141161
# Datasets
142162
###########
143163

.github/workflows/build_debian_package.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ jobs:
106106
- name: Install OpenHexa
107107
run: |
108108
sudo dpkg -i openhexa_*_amd64.deb
109-
109+
110110
- name: Check OpenHexa status
111111
run: |
112112
sudo systemctl status openhexa.service
@@ -126,6 +126,7 @@ jobs:
126126
- name: Start OpenHexa if run locally
127127
if: ${{ env.ACT }}
128128
run: /usr/share/openhexa/openhexa.sh -g start
129+
129130
- name: Get OpenHexa status
130131
run: /usr/share/openhexa/openhexa.sh -g status
131132

@@ -137,8 +138,10 @@ jobs:
137138
- name: Build smoke tests image
138139
working-directory: ./smoke-tests
139140
run: docker build -t openhexa/smoke-tests .
141+
140142
- name: Run smoke tests
141143
run: docker run -t --net=host -v "$(pwd)/test-results:/code/test-results" openhexa/smoke-tests http://localhost:3000/ root@openhexa.org root
144+
142145
- name: Keep test results
143146
uses: actions/upload-artifact@v7
144147
with:
@@ -204,4 +207,4 @@ jobs:
204207
echo '```bash' >> $GITHUB_STEP_SUMMARY
205208
echo 'curl -sfLo /etc/apt.trusted.gpg.d/${{ needs.build.outputs.keyring }}.asc ${{ steps.deploy-pages.outputs.page_url }}gpg.key' >> $GITHUB_STEP_SUMMARY
206209
echo 'echo "deb ${{ steps.deploy-pages.outputs.page_url }} ${{ env.CODENAME }} ${{ env.COMPONENTS }}" >/etc/apt/sources.list.d/${{ env.REPO_NAME }}.list' >> $GITHUB_STEP_SUMMARY
207-
echo '```' >> $GITHUB_STEP_SUMMARY
210+
echo '```' >> $GITHUB_STEP_SUMMARY

compose.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Do not change it without good reaons.
44

55
x-app: &common
6-
image: "blsq/openhexa-app:2.4.0"
6+
image: "blsq/openhexa-app:4.6.0"
77
platform: linux/amd64
88
networks:
99
- openhexa
@@ -21,7 +21,7 @@ x-app: &common
2121
# It allows us to run the fixture command
2222
DEBUG: true
2323
# The Python module where Django can find its settings
24-
DJANGO_SETTINGS_MODULE: config.settings.local
24+
DJANGO_SETTINGS_MODULE: config.settings.base
2525
# The URI to access the Jupyter Hub through the local Docker network
2626
NOTEBOOKS_HUB_URL: http://jupyterhub:8000/hub
2727
# The URL passed to the pipelines to access the backend API through the
@@ -32,6 +32,8 @@ x-app: &common
3232
DATABASE_HOST: db
3333
WORKSPACES_DATABASE_HOST: db
3434
WORKSPACES_DATABASE_PROXY_HOST: db
35+
# Storage backend for workspace files
36+
STORAGE_BACKEND: ${STORAGE_BACKEND:-fs}
3537
# To control what hostname can access the backend
3638
ADDITIONAL_ALLOWED_HOSTS: "app,frontend"
3739
services:
@@ -50,7 +52,7 @@ services:
5052
retries: 3
5153

5254
frontend:
53-
image: "blsq/openhexa-frontend:2.4.0"
55+
image: "blsq/openhexa-frontend:4.6.0"
5456
platform: linux/amd64
5557
networks:
5658
- openhexa
@@ -108,7 +110,7 @@ services:
108110
retries: 3
109111

110112
jupyter:
111-
image: ${DEFAULT_WORKSPACE_IMAGE:-blsq/openhexa-base-environment:1.16.0}
113+
image: ${DEFAULT_WORKSPACE_IMAGE:-blsq/openhexa-base-environment:1.17.2}
112114
platform: linux/amd64
113115
command: echo
114116
profiles:

debian/changelog

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
openhexa (3.0-1) stable; urgency=medium
2+
3+
[ Bram Jans ]
4+
* Update OpenHEXA to version 4.6.0, docker-images to 1.17.2
5+
* Add ENV variables for Azure support
6+
7+
-- Bram Jans <bjans@bluesquarehub.com> Mon, 23 Feb 2026 11:36:24 +0200
8+
19
openhexa (2.0-1.1) stable; urgency=medium
210

311
[ Bram Jans ]

script/openhexa.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ source "${SCRIPT_DIR}/common_functions.sh"
1212
function usage() {
1313
if [[ -z $1 ]]; then
1414
echo """
15-
15+
1616
Usage: $0 [OPTIONS] COMMAND
1717
1818
OPTIONS:
@@ -44,7 +44,7 @@ function usage() {
4444
case $cmd in
4545
restore)
4646
echo """
47-
47+
4848
Usage: restore [OPTIONS]
4949
5050
OPTIONS: none
@@ -287,7 +287,7 @@ function execute() {
287287
exit_properly 0
288288
;;
289289
prepare)
290-
run_compose_with_profiles run app fixtures
290+
run_compose_with_profiles run app fixtures --localhosting
291291
run_compose_with_profiles run jupyterhub jupyterhub upgrade-db -f /etc/jupyterhub/jupyterhub_dev_config.py
292292
exit_properly 0
293293
;;

0 commit comments

Comments
 (0)