Skip to content

Commit 9a43ae9

Browse files
committed
Removed references to webhooks in RO-Crate Validator Service Standup document.
1 parent fb48e50 commit 9a43ae9

1 file changed

Lines changed: 8 additions & 12 deletions

File tree

docs/website-src/pages/crate_validator.mdx

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
Date: 2026-05-14
44

5+
56
## Service Snapshot
67

78
Cratey Validator is a web service that checks whether RO-Crates follow the expected structure and metadata rules. It can validate a full RO-Crate stored in MinIO-compatible object storage, or it can validate only the contents of an `ro-crate-metadata.json` file.
@@ -25,24 +26,23 @@ The service is built as a Flask/APIFlask web API backed by Celery workers for lo
2526

2627
The project is organized into a few clear areas:
2728

28-
API layer:
29+
**Application entrypoints and routes:**
2930

3031
- `cratey.py` starts the Flask application.
3132
- `app/__init__.py` creates the APIFlask app, registers route blueprints, loads environment-specific config, and wires Celery into the Flask context.
3233
- `app/ro_crates/routes/post_routes.py` exposes validation request endpoints.
3334
- `app/ro_crates/routes/get_routes.py` exposes validation result retrieval.
3435

35-
Service and task layer:
36+
**Validation workflow:**
3637

3738
- `app/services/validation_service.py` performs request-level validation, object existence checks, and queues Celery tasks.
3839
- `app/tasks/validation_tasks.py` runs the actual RO-Crate and metadata validation workflows.
3940

40-
Utility layer:
41+
**Storage helpers:**
4142

4243
- `app/utils/minio_utils.py` handles MinIO client setup, object discovery, download, upload, and result retrieval.
43-
- `app/utils/webhook_utils.py` sends webhook notifications.
4444

45-
Deployment and local development:
45+
**Container and development setup:**
4646

4747
- `docker-compose.yml` runs the published container image with Flask, Celery, Redis, and MinIO.
4848
- `docker-compose-develop.yml` builds the local Dockerfile and mounts a local profile directory for development.
@@ -52,7 +52,7 @@ Deployment and local development:
5252
### Validate RO-Crate From MinIO
5353

5454
1. Client sends a request to `POST /v1/ro_crates/{crate_id}/validation`.
55-
2. Request includes `minio_config` and optional `root_path`, `profile_name`, and `webhook_url`.
55+
2. Request includes `minio_config` and optional `root_path` and `profile_name`.
5656
3. Flask route passes the request to `queue_ro_crate_validation_task`.
5757
4. Service creates a MinIO client and checks that the target crate exists.
5858
5. Celery queues `process_validation_task_by_id`.
@@ -62,7 +62,6 @@ Deployment and local development:
6262
- `{crate_id}_validation/validation_status.txt`
6363
- or `{root_path}/{crate_id}_validation/validation_status.txt`
6464
9. Temporary files are removed.
65-
10. If configured, a webhook receives the validation result or error payload. (We need to check this with Alex!)
6665

6766
### Retrieve Validation Result
6867

@@ -77,8 +76,7 @@ Deployment and local development:
7776
2. Request includes `crate_json` and optional `profile_name`.
7877
3. Service verifies that `crate_json` is present, valid JSON, and non-empty.
7978
4. Celery runs `process_validation_task_by_metadata`.
80-
5. If no webhook is provided, the API waits for the Celery result and returns validation output synchronously.
81-
6. If a webhook is provided, the request returns `202` and the webhook receives the result later. (We need to check this with Alex!)
79+
5. The API waits for the Celery result and returns the validation output synchronously.
8280

8381
## API Surface
8482

@@ -98,8 +96,7 @@ Request body:
9896
"bucket": "string" // required, bucket containing the RO-Crate
9997
},
10098
"root_path": "string", // optional folder/path inside the bucket
101-
"profile_name": "string", // optional validation profile name
102-
"webhook_url": "string" // optional callback URL for the result
99+
"profile_name": "string" // optional validation profile name
103100
}
104101
```
105102

@@ -150,7 +147,6 @@ Request body:
150147
Expected responses:
151148

152149
- `200`: validation result returned.
153-
- `202`: validation queued when asynchronous webhook mode is used by the service layer.
154150
- `422`: missing, malformed, or empty metadata JSON.
155151
- `500`: internal validation error.
156152

0 commit comments

Comments
 (0)