Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Content of release :

  • Added for new features.
  • Changed for changes in existing functionality.
  • Deprecated for soon-to-be removed features.
  • Removed for now removed features.
  • Fixed for any bug fixes.
  • Security in case of vulnerabilities.

[1.0a14] - 2026-09-29

Added

  • PR#161 : feat: add dedicated httproute and jwt securitypolicy for prefect api
  • PR#156 : feat: enable gatewayapi with oidc and role filter for prefect server
  • PR#157 : test ci for new cpm dockerfile for RSPY-1204

Changed

  • RSPY-1219 : Increase limit memory for dask-gateway traefik pod
  • RSPY-1157 : convert-ADF-OL-L2-aux-files -> Add more memory for prefect runner

Fixed

  • PR#160 : fix: remove oauth2 proxy
  • RSPY-1204 : Add DASK_GATEWAY__ADDRESS and AUTH__TYPE for zero-arg Gateway()
  • RSPY-1137 : Remove hardcoded pip version when a pip-tools fix is released
  • PR#164 : fix gitlab url to be ansible variable
  • PR#159 : rspy 1204 add shared volume for cpm tests jupyter aswell as add gitlab runner

[1.0a13] - 2026-08-28

Added

RSPY-1131 : Error building Dask base image py3.13.12-2026.3.0 RSPY-1109 : Include python_socks in Jupyter kernels (required by prefect) RSPY-1109 : Include Prefect in Jupyter kernels RSPY-1017 : Update to S1L0 processor 1.5.0 RSPY-1060 : Update dask-gateway and staging to dask 2026.7.0 RSPY-1146 : Include processor version in docker image tags

Changed

  • PR#150 : Update to jq 4.53.6
  • PR#149 : Reduce size on jupyter kernels, include carto libs in main kernel
  • PR#148 : Install bottleneck in dpr kernels
  • PR#147 : Add more plotting libraries in kernels
  • PR#146 : Add pystac-client in DPR kernels
  • PR#145 : Install boto3 in DPR kernels
  • PR#144 : Fail the Jupyter image build if a dpr kernel can't import eopf/cartopy
  • PR#143 : Skip .pyc generation to shrink the Jupyter kernels layer
  • PR#142 : Include cpm and plotting libraries in Jupyter kernels
  • PR#141 : Update to OpenTelemetry 1.44.0/0.65b0
  • PR#137 : Improve ci/cd about base jupyter image tags
  • PR#136 : Fix and improve CI
  • PR#135 : Use actions@develop
  • PR#134 : feat: add wrapper in ci

Fixed

  • PR#134 : increase max worker memory
  • RSPY-996 : jupyterhub token for staging

[1.0a12] - 2026-07-21

Added

  • RSPY-1025 : Update S1ARD and staging to Dask 2026.3.0
  • RSPY-1109 : Use correct rs-demo branch with cache bust
  • RSPY-1076 : Store Storage Configuration in a Prefect Variable
  • RSPY-1000 : Update OLCI L1 from 1.4.0 to 1.5.0

Changed

  • PR#121 : Update prefect version to 3.7.5
  • PR#122 : add memory request and limit
  • PR#124 : env var for fastapi protocol forward
  • PR#125 : Update to OpenTelemetry 143.0/0.64b0
  • PR#127 : Update to EOPF CPM 2.8.1

[1.0a11] - 2026-06-19

Added

  • RSPY-1086 : Add dynamic APT dependency system for EOPF images
  • PR#107 : Feat/rwx volume part2
  • RSPY-1086 : Install libexpat1 in EOPF images

Changed

  • RSPY-1025 : Use main branch of S1-ARD
  • PR#116 : feat: update CI to remove specific apps
  • RSPY-1056 : Set DEBUG level for showing debug logs in prefect
  • PR#118 : ci: Update build-jupyter.yml

Fixed

  • PR#108 : pip install dask[complete] in localcluster
  • PR#109 : pip install opentelemetry-instrumentation-eopf in localcluster
  • RSPY-1077 : CI: Fix the jupyterhub deployment
  • PR#113 : fix: add missing subdomain for default dashboard for dask
  • PR#117 : fix: remove faulty character in template

[1.0a10] - 2026-06-03

Added

  • RSPY-1994 : create rwx volume
  • PR#102 : Install prefect in dask sub-venvs
  • RSPY-1044 : Make DPR service compatible with multiple dask versions

Changed

  • PR#97 : update workpool, deployment and tags
  • RSPY-1071 : Update to Prefect 3.6.29
  • PR#98 : Update to OpenTelemetry 1.42.1/0.63b1

[1.0a9] - 2026-04-27

Added

  • RSPY-1043 : RSPY-1043 - Create a new Dask image with only CPM
  • PR#81 : Configure SonarCloud and fix security issues
  • PR#83 : Use native aiobotocore instrumentation + recent eopf instrum lib
  • RSPY-1003 : RSPY-1003: Add s3-l1-olci processor 1.4.0 to the DPR service
  • RSPY-970 : RSPY-970: Improve the CI/CDs for the Dask images - Part 3

[1.0a8] - 2026-03-30

Changed

  • RSPY-900 : Decouple and update Dask versions
  • RSPY-970 : Improve the CI/CDs for the Dask images - Part 2
  • RSPY-970 : Improve the CI/CDs for the Dask images - Part 1
  • PR#66 : Use rs-demo test script
  • PR#69 : Welcome back S1 ARD
  • PR#68 : Update to Python 3.13.12 / Prefect 3.6.20
  • PR#70 : Cleanup OpenTelemetry dependencies
  • PR#71 : Install opentelemetry-instrumentation-eopf
  • PR#72 : Update Prefect Helm chart to 2026.2.27173158
  • PR#76 : fix: remove fixed version from values.yaml for dask gateway
  • PR#77 : Include aiobotocore-otel in EOPF dask image

[1.0a7] - 2026-03-02

Changed

  • PR#54 : Split NOTICE.md per infra repository
  • PR#56 : rs-server-osam
  • PR#59 : Update Jupyter environment to latest release
  • PR#64 : CI: allow to specify rs-infra-core ref to use
  • PR#60 : Update copyright year to 2026, disable S1 ARD
  • RSPY-876 : Move JupyterHub image to rs-workflow-env
  • update jupyter env with docker image tag 1.0a7

Removed

  • RSPY-926 : Remove unneeded remnants of rs-osam CI

[1.0a6] - 2026-02-02

Changed

  • PR#48 : Replace minio by seaweedfs
  • PR#50 : Update to Python 3.13.11/Jupyter 5.4.3/Prefect 3.6.12
  • Put back the default docker image for prefect components

Fixed

  • PR#49 : Fixed fsGid value in Jupyter singleuser

[1.0a5] - 2025-12-18

Added

  • PR#40 : Add RSPY_HOST_OSAM variable for prefect eopf worker
  • PR#41 : Add s3 default config file
  • PR#37 : Add Prefect database GrafanaDataSource

Changed

  • PR#38 : Upgrade to Python 3.13, prefect 3.6.4 (custom image), L0 version 1.4.2, jupyter 5.4.2
  • PR#39 : Improve CICD robustness
  • PR#42 : Use Python 3.12 as NonRoot + complete update of jupyter
  • Change OSAM /docs endpoint to /osam/docs (swagger UI)
  • jupyterhub : replace outdated S3 L0 environement with fixed version of jupyter built from rs-infra-core

[1.0a4] - 2025-11-20

No changes.

[1.0a3] - 2025-10-23

Added

Changed

  • PR#31 : Pass cluster info from client to rs-dpr-service
  • Bump Helm Chart version

[1.0a2] - 2025-09-29

Changed

  • PR#27 : Update env to use different eopf processors
  • Bump Helm Chart version

Fixed

  • PR#28 : Update prefect server endpoint in jupyter deployment

[1.0a1] - 2025-08-29

Added

  • PR#22 : Use profileList in JupyterHub deployment to offer several environments
  • RSPY-735 : Create database performance

Changed

  • PR#20 : Increase Dask worker max memory
  • Bump Helm Chart version

Fixed

  • PR#21 : Fix dask image pull secret
  • PR#24 : Fix CI

[0.2] - 2025-08-04

Changed

  • RSPY-212 : Update from tempo to alloy
  • Bumlp Helm chart version

Fixed

  • RSPY-720 : Update Node poolAffinity/taint from procesing to rs_env

[0.2a15] - 2025-07-04

Added

  • rs-osam service
  • rs-catalog-staging-configmap for rs-osam

Changed

Removed

  • PR#15 : Revert operationnal namespace

[0.2a14] - 2025-06-10

Added

  • rs-osam service
  • rs-catalog-staging-configmap for rs-osam

Changed

  • RSPY-672 : Split-dpr-processing-flow
  • Enable pre-commit
  • Enable CI/CD

Fixed

  • RSPY-689 : Fix Affinity and add limit/request (prefect worker)

[0.2a13] - 2025-05-15

Added

  • PR#6 : Trace requests headers and body with opentelemetry

Changed

  • RSPY-631 : update prefect concurrency limit to 200

[0.2a12] - 2025-04-14

Added

  • dask-gateway : scheduler_core_limit and scheduler_memory_limit

Changed

  • RSPY-631: Update to latest stable version of Prefect 3 (3.2.13) and drop Prefect 2

[0.2a11] - 2025-03-12

🚨 Breaking changes

  • Many apps have been moved from rs-infra-core to rs-infra-security, rs-infra-monitoring, rs-server-deployment and rs-workflow-env
  • Starting from this version (0.2a11), RS cannot be installed on Orange and shall be installed on OVH.

Changed

  • Prefect workers : set docker image to ghcr.io/rs-python/prefect/rs-client-libraries/k8s:latest

Fixed

  • Added missing node affinities and tolerations
  • Removed redundant -svc from all service names

[0.2a10] - 2025-02-18

🚨 The repository has been renamed from rs-infrastructure to rs-infra-core.

Added

  • RSPY-570 : Integrate DPR empty processor

Changed

  • rs-server : bumped the versions to 0.2.0-a10
  • RSPY-596 : Update to stac-browser 3.3
  • RSPY-577 : Update cluster deployment to OVH
  • RSPY-580 : Changed cluster start and stop to be compatible with OVH
  • CI/CI : Updated for the rename of the repository

Deprecated

  • Prefect 2 is deprecated and is partially replaced with Prefect 3 and will be fully replaced with Prefect 3 in version 0.2a11
Release 0.2a10 (current version) Release 0.2a11 (next version)
Prefect 2 internal svc prefect-server.processing.svc.cluster.local X
Prefect 2 public svc processing.example.com X
Prefect 3 internal svc prefect3-server.processing.svc.cluster.local prefect-server.processing.svc.cluster.local
Prefect 3 public svc prefect3.example.com processing.example.com
  • Some folders and applications will be moved into other repositories to separate what is strictly related to the infrastructure, rs-server and applications needed for rs-srver

Fixed

  • RSPY-591 : Wazuh agents are not connected

[0.2a9] - 2025-01-15

🎇 Happy new year !

Changed

  • Documentation for dask-gateway
  • rs-server : bumped the versions to 0.2.0-a9

Fixed

  • RSPY-548 : No OpenTelemetry support in dask cluster
  • RSPY-558 : Affinity and Toleration not set on rs-server-cadip, rs-server-adgs
  • Grafana : generic oAuth, several users with the same email were not allowed

[0.2a8] - 2024-12-13

Added

  • rs-server-staging : switch OGC API persistence to PostgreSQL, added catalogBucket
  • rs-server-station-credentials : added adgs2 station
  • dask-gateway : added imagePullPolicy and cluster_name parameter
  • Prefect 3 server and worker

Changed

  • dask-gateway
  • removed rs-server-common
  • added git
  • updated rs-server-staging
  • rs-server : bumped the versions to 0.2.0-a8
  • cluster.tfvars updated
  • docker base image from quay.io or docker.io migrated on ghcr.io (avoid pull limitations in CI)

Deprecated

  • Prefect 2 server and worker (will be removed in Q1 2025)

[0.2a7] - 2024-11-22

Added

  • Dask-gateway : new server parameter scheduler_extra_container_config
  • RSPY-360 : Add taint on nodes
  • RSPY-479 : OVH : start a single isolated node
  • RSPY-480 : OVH : deploy IAM for publication service

Changed

  • rs-server-staging : pre-requirement about the JupyterHub token updated (docs and conf)

Fixed

  • RSPY-503 : STAC Browser AUXIP deployment missing
  • apikeymanager: set use_authlib_oauth to true
  • RSPY-509 : Unable to retrieve traces older than 24 hours
  • Tempo : missing backend configuration for S3
  • RSPY-531 : [RS-STAGING] Bucket name not modifiable on current configuration

[0.2a6] - 2024-11-07

Added

  • (Partial) RSPY-425 : CI/CD chain to build a Dask base image that embeds rs-client library
  • RSPY-361 : Add egress to a set of nodes

Changed

  • Refactor terraform node labeling
  • Update rs-server version and conf

Fixed

  • jupyterhub secret name

[0.2a5] - 2024-10-14

Added

  • RSPY-230 : Deploy STAC browser
  • rs-server : added application rs-server-station-credentials

Changed

  • Bump helm chart version for rs-server
  • rs-server : updated several charts

Fixed

  • JupyterHub : Value of RSPY_UAC_CHECK_URL

[0.2a4] - 2024-09-25

Added

  • RSPY-346 : OAuth2 with PKCE authorisation within JupyterHub

Changed

  • Bump helm chart version for rs-server
  • Ingress path for rs-server-catalog and rs-server-staging

Fixed

  • RSPY-381 : [Deployment] Error during cluster creation
  • RSPY-382 : [Deployment] Prometheus datasource not created
  • RSPY-385 : CloudNative PG Deployment failed due to syntax issue on limit/request
  • RSPY-386 : Grafana-Tempo deployment values don't match with apps.yaml
  • RSPY-387 : Missing credential secret creation for Github Repository
  • RSPY-388 : [Velero] First Deployment failed due to missing CRD
  • RSPY-399 : [Infra] Impossible to create PV (quota reached)

[0.2a3] - 2024-09-05

Added

  • RSPY-166 : Use Keycloak to login into Wazuh
  • RSPY-264 : [Monitoring] Create Grafana datasources for PostgreSQL databases
  • RSPY-266 : [Monitoring] Create JupyterHub ServiceMonitor
  • RSPY-293 : Use Keycloak to login into Neuvector
  • RSPY-312 : Configure Prefect Server logging
  • RSPY-318 : Backup and restore Keycloak data
  • RSPY-335 : Deploy dask gateway server

Fixed

  • RSPY-351 : Variabilize the bucket name

[0.2a2] - 2024-07-17

Added

  • RSPY-317 : Deploy VELERO component on the cluster
  • rs-server
  • mockup-station-lta : helm chart added
  • rs-server-catalog : parameter app.uacHomeUrl added
  • CloudNativePG : restore procedure added

[0.2a1] - 2024-06-26

Added

  • RSPY-210 : Deploy Grafana Tempo on K8S cluster
  • RSPY-223 : Provide an Ansible playbook to deploy RS-Server
  • Jupyter : View hidden files, Dask labextension

Fixed

  • RSPY-254 : [Safety] Errors displayed on Wazuh UI

[0.1a10] - 2024-06-05

Added

  • RSPY-253 : Deploy RS-Client libraries into JupiterLab instances

Fixed

  • RSPY-241 : [Deployment] JupiterHub UI not reachable after deployment
  • RSPY-267 : [Security] No severity score on huge amount of CVE
  • RSPY-252 : [Deployment] Namespace issue during installation of Neuvector crds
  • RSPY-261 : [Monitoring] No prometheus value retrieved for neuvector
  • RSPY-245 : [Deployment] Missing namespaces in kustomization.yaml
  • RSPY-258 : [Deployment] Grafana in CrashLoop when no plugin
  • RSPY-260 : [monitoring] Monitoring certificate secret name not match with deployment for grafana and prometheus
  • RSPY-259 : [Deployment] Missing secret for Loki
  • RSPY-263 : [Monitoring] Prometheus GrafanaDatasource not created during prometheus deployment

[0.1a9] - 2024-05-15

Added

  • RSPY-130 : Deploy Grafana on K8S cluster
  • RSPY-133 : Deploy Prefect Workers on K8S cluster

Fixed

  • RSPY-181 : Deployment: label not well set by deployment script
  • RSPY-196 : Platform deployment: error keycloak realm import
  • RSPY-220 : Kubectl commands with kubectl OIDC not working
  • RSPY-239 : [Deployment] No JupiterHub image reachable from Validation platform
  • RSPY-240 : [Deployment] No Secret Create during Wazuh Agent deployment

[0.1a8] - 2024-04-30

Added

  • RSPY-99 : Deploy JupyterHub on K8S cluster
  • RSPY-128 : Deploy promtail and Grafana Loki on K8S cluster

Fixed

  • RSPY-170 : Platform deployment and start-stop playbook failed due to missing credential
  • RSPY-176 : Platform deployment: first application deployment execution failed for the step cluster-issuer
  • RSPY-177 : Platform Deployment: Failed to deployed application due to missing parameter in group_vars
  • RSPY-179 : Platform deployment: no cinder controller for PVC
  • RSPY-180 : Platform deployment: kubelet errors with cpu manager
  • RSPY-182 : Wazuh agent is being reinstalled when cluster is restarted
  • RSPY-183 : Prometheus is not accessible from the ingress

[0.1a7] - 2024-04-05

Added

  • RSPY-129 : Deploy prometheus and node_exporter on K8S cluster
  • RSPY-121 : Setup Ingress Controller
  • RSPY-81 : Deploy keycloak on K8S cluster
  • RSPY-68 : Configure OpenID Connect on K8S cluster
  • RSPY-49 : Deploy Prefect Server on K8S cluster
  • RSPY-29 : Deploy Kubernetes

Changed

  • RSPY-171 : [URGENT] Replace Miniconda by Miniforge

Fixed

  • RSPY-125 : Cluster configuration folder is hard-coded

[0.1a3] - 2024-01-16

Added

  • RSPY-23 : Prepare cluster settings (node sizing)
  • RSPY-24 : Deploy cluster nodes
  • RSPY-42 : Write "nodes start/stop" procedure