Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
ea535f2
moved sonarqube parameters to pod env vars
hcremers-spaceapps Jan 20, 2025
7a814ab
input parameters customizable by users
hcremers-spaceapps Feb 7, 2025
9104d1f
added publicUrl Helm value
hcremers-spaceapps Feb 10, 2025
f295280
django fixture with `pylint with parameters` tool
hcremers-spaceapps Feb 10, 2025
bcec832
edited default value for `user_params` field
hcremers-spaceapps Feb 10, 2025
4ea2f56
3-layers structure for the pipeline parameters in the request payload
hcremers-spaceapps Feb 14, 2025
b387c7b
changed input naming logic
hcremers-spaceapps Feb 20, 2025
6312b11
jinja template for user defined inputs
hcremers-spaceapps Feb 26, 2025
bca3a62
use ids as pk for pipeline model
hcremers-spaceapps Mar 12, 2025
830aee4
updated fixtures
hcremers-spaceapps Mar 12, 2025
f227f28
fixed bugs caused by previous commit
hcremers-spaceapps Mar 12, 2025
155237a
see previous commit
hcremers-spaceapps Mar 18, 2025
d967cc3
cleanup + new fixture
hcremers-spaceapps Mar 24, 2025
924ac62
vCluster
hcremers-spaceapps Mar 24, 2025
a2f13c4
added vcluster creation in script
hcremers-spaceapps Mar 26, 2025
f8571c5
default template on user-owned pipelines
hcremers-spaceapps Mar 27, 2025
1357741
moved pipeline default template
hcremers-spaceapps Mar 28, 2025
446235f
tags endpoint + creation and edition time for pipeline model
hcremers-spaceapps Mar 28, 2025
abdd942
updated pipeline template
hcremers-spaceapps Mar 28, 2025
5cf7c08
install kubectl and vcluster from Dockerfile
hcremers-spaceapps Mar 28, 2025
3ff67c9
users can specify default values for tool parameters
hcremers-spaceapps Mar 31, 2025
2aa31a5
improved vcluster script
hcremers-spaceapps Apr 7, 2025
73a3a47
new fixture
hcremers-spaceapps Apr 7, 2025
59eab9a
added owner_name serializer field
hcremers-spaceapps Apr 7, 2025
253fea7
clean up
hcremers-spaceapps Apr 7, 2025
1024ec5
simple jwt
hcremers-spaceapps Apr 9, 2025
39a1022
run_workflow clean up
hcremers-spaceapps Apr 9, 2025
fc83e09
backend actions workflow
hcremers-spaceapps Apr 9, 2025
4be163b
clean up and version management
hcremers-spaceapps Apr 9, 2025
782256b
django tests and gh actions envvars
hcremers-spaceapps Apr 10, 2025
3c78580
added default values
hcremers-spaceapps Apr 10, 2025
e077e25
added temporary sqlite db for tests
hcremers-spaceapps Apr 10, 2025
ca943d4
added envvar, changed assertion
hcremers-spaceapps Apr 10, 2025
9772c6c
fixed UserWarning error
hcremers-spaceapps Apr 10, 2025
be6214a
moved tests
hcremers-spaceapps Apr 10, 2025
9d16fd4
renamed test dir
hcremers-spaceapps Apr 10, 2025
a86454c
fixed error 500 when pipeline unique constraint is violated
hcremers-spaceapps Apr 10, 2025
ecce93a
Merge 'main' into 'backend'
hcremers-spaceapps Apr 11, 2025
cda75aa
new fixture with improved nb best practices checker
hcremers-spaceapps Apr 22, 2025
9845ce1
new fixture with standalone nb best practices validator
hcremers-spaceapps May 12, 2025
df05b04
added settings endpoint
hcremers-spaceapps Jun 19, 2025
f824213
removed opensearch components
hcremers-spaceapps Jun 19, 2025
8191330
creation of sql views in django migrations
hcremers-spaceapps Jun 19, 2025
3d2b22e
added list_displays in django admin pages
hcremers-spaceapps Jul 2, 2025
273baf7
added update_user method in auth_backends.py
hcremers-spaceapps Jul 3, 2025
f08b74c
use postgresql in github actions
hcremers-spaceapps Jul 3, 2025
b89643a
fixed variables in github actions workflow config
hcremers-spaceapps Jul 3, 2025
ab6e8bc
fixed pylint errors
hcremers-spaceapps Jul 11, 2025
f456653
fixed pylint parsing errors
hcremers-spaceapps Jul 11, 2025
fb84ae1
replaced double quotes that were causing pylint parsing errors in f-s…
hcremers-spaceapps Jul 11, 2025
6142cd7
fixed ruff errors
hcremers-spaceapps Jul 11, 2025
8a576e1
ignored ruff error
hcremers-spaceapps Jul 11, 2025
f102a1a
Merge remote-tracking branch 'origin/main' into backend
hcremers-spaceapps Jul 11, 2025
0d3cc02
Fixed wrong merge conflicts resolutions
hcremers-spaceapps Jul 11, 2025
865be9f
Fix in PyCalrissian: use kubeconfig file when provided
Sep 11, 2025
62c9f9f
Added support for Workspace vClusters
Sep 17, 2025
4b03fb0
Improved code according to pylint
Sep 17, 2025
338cff2
Use CWL v1.2 for CPU fractions support
Oct 23, 2025
9708ff2
New fixtures using CWL v1.2 and un-hardcoded schema in CLT Save report
Oct 23, 2025
b7afaca
Refactored entrypoint.sh and setup scripts
Oct 23, 2025
6ecb3bf
Retrieve vCluster config from workspace secret if necessary
Oct 23, 2025
321e95b
Merge branch 'main' into backend
bevalentin Oct 23, 2025
12fcdce
Use root Supervisor config file
Oct 27, 2025
4d8ef19
Fixed handling of failure to obtain vcluster configuration
Oct 27, 2025
70ef150
Added utilities installation scripts
Oct 27, 2025
b71b1ae
Prepare the pipeline parameters before Initialising the Calrissian se…
Nov 20, 2025
3922325
Added instance field in job reports
Nov 20, 2025
5b25846
Display JSON fields in JSON editor widgets in the admin pages
Nov 25, 2025
8e55125
Updated fixtures: enhanced Papermill tool, instance in save tool
Nov 26, 2025
251009f
Fix in the reports serializer and nullified owners in the fixtures
Nov 27, 2025
7e66c47
Added endpoint for receiving cloudevents
Dec 11, 2025
2b529e2
Fixed breaking import in views
Dec 12, 2025
e821179
Pipeline Run create function is now static
Dec 12, 2025
7d702c7
Added status and available fields in tool subworkflow model
Dec 24, 2025
907b098
Fixed pipeline run create function, enhanced cloudevent handling
Dec 24, 2025
1a1a3c0
Only return available tools to anonymous and non-admin users
Dec 29, 2025
643255d
Use additional allowed hosts from the configuration
Feb 2, 2026
b23b776
Merge branch 'main' into backend
bevalentin Feb 2, 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
2 changes: 1 addition & 1 deletion backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.13.3-slim
FROM python:3.13.9-slim

WORKDIR /app

Expand Down
43 changes: 40 additions & 3 deletions backend/application_quality/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import os

from pathlib import Path
from urllib.parse import urlparse


# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
Expand Down Expand Up @@ -54,7 +56,23 @@
},
}

ALLOWED_HOSTS = ["*"]
# Build the ALLOWED_HOSTS variable

# PUBLIC_URL should contain a scheme, and possibly a port number
allowed_host = os.getenv("PUBLIC_URL")
if "://" not in allowed_host:
allowed_host = "http://" + allowed_host
parsed_allowed_host = urlparse(allowed_host)
allowed_domain = parsed_allowed_host.netloc
if ":" in allowed_domain:
# Remove the port number, if any
allowed_domain = allowed_domain.split(":")[0]

ALLOWED_HOSTS = [allowed_domain]
add_hosts_raw = os.getenv("ADDITIONAL_ALLOWED_HOSTS")
if add_hosts_raw:
add_hosts_list = [host.strip() for host in add_hosts_raw.split(',') if host.strip()]
ALLOWED_HOSTS.extend(add_hosts_list)


# Application definition
Expand All @@ -71,6 +89,7 @@
"corsheaders",
"backend",
"mozilla_django_oidc",
"django_svelte_jsoneditor", # See SVELTE_JSONEDITOR_PROPS, below
]

MIDDLEWARE = [
Expand Down Expand Up @@ -150,6 +169,25 @@
]


# svelte-jsoneditor default properties for all widgets rendered in the app.
# See: https://django-svelte-jsoneditor.readthedocs.io/en/latest/settings.html

SVELTE_JSONEDITOR_PROPS = {
# Just the subset to customize:
"mode": "tree",
"mainMenuBar": True,
"navigationBar": True,
"statusBar": True,
"askToFormat": True,
"readOnly": False,
"indentation": 4,
"tabSize": 4,
"escapeControlCharacters": False,
"escapeUnicodeCharacters": False,
"flattenColumns": True,
}


# Internationalization
# https://docs.djangoproject.com/en/5.1/topics/i18n/

Expand Down Expand Up @@ -225,9 +263,8 @@


CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOWED_ORIGINS = [os.getenv("PUBLIC_URL")] # Frontend URL

CORS_ALLOW_HEADERS = "*"
CORS_ALLOWED_ORIGINS = [os.getenv("PUBLIC_URL")] # Frontend URL

#CSRF_COOKIE_SECURE = False
#CSRF_USE_SESSIONS = True
Expand Down
26 changes: 24 additions & 2 deletions backend/backend/admin.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,42 @@
from django.contrib import admin
from backend import models

from django.contrib import admin
from django.db.models import JSONField
# https://django-svelte-jsoneditor.readthedocs.io/en/latest/index.html
# Customised using SVELTE_JSONEDITOR_PROPS in the Django settings
from django_svelte_jsoneditor.widgets import SvelteJSONEditorWidget



class PipelineSettings(admin.ModelAdmin):
list_display = ("name", "description", "owner", "version", "created_at", "edited_at")
formfield_overrides = {
JSONField: {"widget": SvelteJSONEditorWidget}
}

class PipelineRunSettings(admin.ModelAdmin):
list_display = ("__str__", "pipeline", "start_time", "completion_time", "status", "user", "started_by")
formfield_overrides = {
JSONField: {"widget": SvelteJSONEditorWidget}
}

class ToolSettings(admin.ModelAdmin):
list_display = ("slug", "name", "version")
list_display = ("slug", "name", "version", "status", "available")
formfield_overrides = {
JSONField: {"widget": SvelteJSONEditorWidget}
}

class CommandSettings(admin.ModelAdmin):
list_display = ("slug", "name", "version")
formfield_overrides = {
JSONField: {"widget": SvelteJSONEditorWidget}
}

class JobReportSettings(admin.ModelAdmin):
list_display = ("__str__", "name", "created_at")
formfield_overrides = {
JSONField: {"widget": SvelteJSONEditorWidget}
}

admin.site.register(models.Pipeline, PipelineSettings)
admin.site.register(models.PipelineRun, PipelineRunSettings)
Expand Down
Loading