Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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 .devcontainer/.dev_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ research_data_upload_box_topic: upload-boxes
dataset_change_topic: metadata-datasets
dataset_upsertion_type: dataset_created
dataset_deletion_type: dataset_deleted
accession_map_topic: accession-maps
alt_accession_topic: alt-accessions

# the default keys are invalid but set for creating the example specs
auth_key: "{}"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/check_config_docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6
uses: ghga-de/gh-action-common@v7
with:
python-version: '3.13'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/check_openapi_spec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ jobs:
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6
uses: ghga-de/gh-action-common@v7
with:
python-version: '3.13'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/check_pyproject.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6
uses: ghga-de/gh-action-common@v7
with:
python-version: '3.13'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/check_readme.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6
uses: ghga-de/gh-action-common@v7
with:
python-version: '3.13'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check_template_files.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Set up Python 3.13
id: setup-python
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci_release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: ghga-de/gh-action-ci@v1
- uses: ghga-de/gh-action-ci@v2
with:
tag: ${{ github.event.release.tag_name }}
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci_workflow_dispatch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
if: github.event_name == 'workflow_dispatch' || ( github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'build') ) || ( github.event.action == 'labeled' && github.event.label.name == 'build' )
steps:
- id: fetch-tag
uses: ghga-de/gh-action-fetch-tag@v1
uses: ghga-de/gh-action-fetch-tag@v2
outputs:
latest_tag: ${{ steps.fetch-tag.outputs.latest_tag }}

Expand All @@ -25,7 +25,7 @@ jobs:
needs: fetch-tag
runs-on: ubuntu-latest
steps:
- uses: ghga-de/gh-action-ci@v1
- uses: ghga-de/gh-action-ci@v2
with:
tag: ${{ needs.fetch-tag.outputs.latest_tag }}-${{ github.sha }}
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/static_code_analysis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6
uses: ghga-de/gh-action-common@v7
with:
python-version: '3.13'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Common steps
id: common
uses: ghga-de/gh-action-common@v6
uses: ghga-de/gh-action-common@v7
with:
python-version: '3.13'

Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,8 @@ dmypy.json
.DS_Store
desktop.ini
thumbs.db

# LLM Stuff
CLAUDE.local.md
.claude/settings.local.json
.claude/agent-memory-local/
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ repos:
- id: no-commit-to-branch
args: [--branch, dev, --branch, int, --branch, main]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.6
rev: v0.15.8
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- id: ruff-format
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.19.1
rev: v1.20.0
hooks:
- id: mypy
args: [--no-warn-unused-ignores]
2 changes: 1 addition & 1 deletion .pyproject_generation/pyproject_custom.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "wps"
version = "9.0.0"
version = "10.0.0"
description = "Work Package Service"
dependencies = [
"ghga-event-schemas~=12.0.0",
Expand Down
16 changes: 6 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,21 @@ We recommend using the provided Docker container.

A pre-built version is available on [Docker Hub](https://hub.docker.com/repository/docker/ghga/work-package-service):
```bash
docker pull ghga/work-package-service:9.0.0
docker pull ghga/work-package-service:10.0.0
```

Or you can build the container yourself from the [`./Dockerfile`](./Dockerfile):
```bash
# Execute in the repo's root dir:
docker build -t ghga/work-package-service:9.0.0 .
docker build -t ghga/work-package-service:10.0.0 .
```

For production-ready deployment, we recommend using Kubernetes.
However for simple use cases, you could execute the service using docker
on a single server:
```bash
# The entrypoint is pre-configured:
docker run -p 8080:8080 ghga/work-package-service:9.0.0 --help
docker run -p 8080:8080 ghga/work-package-service:10.0.0 --help
```

If you prefer not to use containers, you may install the service from source:
Expand Down Expand Up @@ -112,7 +112,7 @@ The service requires the following configuration parameters:
- <a id="properties/datasets_collection"></a>**`datasets_collection`** *(string)*: The name of the database collection for datasets. Default: `"datasets"`.
- <a id="properties/upload_boxes_collection"></a>**`upload_boxes_collection`** *(string)*: The name of the database collection for upload boxes. Default: `"uploadBoxes"`.
- <a id="properties/work_packages_collection"></a>**`work_packages_collection`** *(string)*: The name of the database collection for work packages. Default: `"workPackages"`.
- <a id="properties/accession_maps_collection"></a>**`accession_maps_collection`** *(string)*: The name of the database collection for file accession maps. Default: `"accessionMaps"`.
- <a id="properties/alt_accessions_collection"></a>**`alt_accessions_collection`** *(string)*: The name of the database collection for file accession maps. Default: `"accessionMaps"`.
- <a id="properties/work_package_valid_days"></a>**`work_package_valid_days`** *(integer)*: How many days a work package (and its access token) stays valid. Default: `30`.
- <a id="properties/work_package_signing_key"></a>**`work_package_signing_key`** *(string, format: password, required and write-only)*: The private key for signing work order tokens.

Expand Down Expand Up @@ -325,15 +325,11 @@ The service requires the following configuration parameters:
"research-data-upload-boxes"
```

- <a id="properties/accession_map_topic"></a>**`accession_map_topic`** *(string, required)*: The name of the topic used for file accession map events.
- <a id="properties/alt_accession_topic"></a>**`alt_accession_topic`** *(string, required)*: The name of the topic used for AltAccession events.

Examples:
```json
"accession-maps"
```

```json
"file-accession-maps"
"alt-accessions"
```

- <a id="properties/dataset_change_topic"></a>**`dataset_change_topic`** *(string, required)*: Name of the topic announcing, among other things, the list of files included in a new dataset.
Expand Down
15 changes: 7 additions & 8 deletions config_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,10 @@
"title": "Work Packages Collection",
"type": "string"
},
"accession_maps_collection": {
"alt_accessions_collection": {
"default": "accessionMaps",
"description": "The name of the database collection for file accession maps",
"title": "Accession Maps Collection",
"title": "Alt Accessions Collection",
"type": "string"
},
"work_package_valid_days": {
Expand Down Expand Up @@ -328,13 +328,12 @@
"title": "Research Data Upload Box Topic",
"type": "string"
},
"accession_map_topic": {
"description": "The name of the topic used for file accession map events",
"alt_accession_topic": {
"description": "The name of the topic used for AltAccession events",
"examples": [
"accession-maps",
"file-accession-maps"
"alt-accessions"
],
"title": "Accession Map Topic",
"title": "Alt Accession Topic",
"type": "string"
},
"dataset_change_topic": {
Expand Down Expand Up @@ -575,7 +574,7 @@
"migration_wait_sec",
"kafka_servers",
"research_data_upload_box_topic",
"accession_map_topic",
"alt_accession_topic",
"dataset_change_topic",
"dataset_deletion_type",
"dataset_upsertion_type",
Expand Down
4 changes: 2 additions & 2 deletions example_config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
access_url: http://127.0.0.1:8080/
accession_map_topic: accession-maps
accession_maps_collection: accessionMaps
alt_accession_topic: alt-accessions
alt_accessions_collection: accessionMaps
api_root_path: ''
auth_algs:
- ES256
Expand Down
Loading
Loading