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.
[0.1.3] - 2026-09-22
Changed
Enabled multiple uvicorn worker processes.
[0.1.2] - 2026-07-20
Removed
svc.api.dmapi_urlHelm value and theDMAPI_URLenv var injection incore-deployment.yaml. The value was vestigial: the service resolves everything it needs from the request (VOTable/JSON body) and local storage (STORAGE_BASE_PATH), and no code readsDMAPI_URL.
[0.1.1] - 2026-03-12
Added
Product streamer demo notebook (
demo/product_streamer_demo.ipynb).
Changed
Removed Celery task queue and Redis cache: deleted
tasks/celery.py,tasks/product.py,auth/oauth2/oauth2.py, andauth/oauth2/data_management_api.py; product route now executes synchronously without dispatching async workers.Removed cache and celery Helm templates (
cache-deployment.yaml,cache-service.yaml,celery-deployment.yaml) and correspondingsvc.celery/svc.redissections fromvalues.yaml; removedCACHE_HOST/CACHE_PORTenv vars fromcore-deployment.yaml.Refactored
rest/routers/product.py,rest/dependencies.py, andrest/server.pyto reflect the synchronous execution model.Updated
docker-compose.local.ymland.env.templateto remove cache and celery service configuration.Refactored integration and unit tests for idempotence.
[0.1.0] - 2026-03-01
Added
Initial
ska-src-dm-product-serviceimplementation.Product proxy route:
GET /v1/data/product/{namespace}/{name}.Permission validation via Permissions API for route access.
auth/oauth2/module withDataManagementServiceToken: PSAPI exchanges its own IAM client credentials (PSAPI_CLIENT_ID/PSAPI_CLIENT_SECRET) for a DMAPI-scoped service token.IAM_CLIENT_CONF_URL/IAM_TOKEN_ENDPOINTenvironment variables for Celery workers to resolve the IAM token endpoint (supports OIDC well-known discovery or direct configuration).DMAPI locate call (
GET /v1/data/locate/{namespace}/{name}) to resolve the storage area UUID, detect whether a DID is a file or a dataset (is_datasetflag), and retrieve replica PFNs — no PFNs need to be supplied by the caller.DMAPI download-token retrieval via
/v1/data/download/...before backend stream mediation.Backend PFN streaming support for
davs,dav,https,http, and best-effortrootconversion.Dataset TAR streaming: when the DID is a dataset, PSAPI streams an uncompressed TAR archive containing all constituent files (one entry per PFN, fetched sequentially from the RSE).
Unit, component, and integration test suites for the route flow.
Integration tests
test_stream_productandtest_stream_dataset_tar: resolve DIDs directly fromfile_did.txt, call PSAPI with only the DID and token, and validate streamed content.
Changed
Repository naming, compose, Helm, Docker, and CI/dev/testing make configurations aligned to DM Product service.
Package metadata and service references updated to version
0.1.0.