Skip to content
Open
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 .pyproject_generation/pyproject_custom.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "uos"
version = "1.0.0"
version = "1.0.1a"
description = "Upload Orchestration Service - A service providing a web-accessible management and auth layer over upload-path file services."
dependencies = [
"typer >= 0.15",
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,21 @@ We recommend using the provided Docker container.

A pre-built version is available at [docker hub](https://hub.docker.com/repository/docker/ghga/upload-orchestration-service):
```bash
docker pull ghga/upload-orchestration-service:1.0.0
docker pull ghga/upload-orchestration-service:1.0.1a
```

Or you can build the container yourself from the [`./Dockerfile`](./Dockerfile):
```bash
# Execute in the repo's root dir:
docker build -t ghga/upload-orchestration-service:1.0.0 .
docker build -t ghga/upload-orchestration-service:1.0.1a .
```

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 preconfigured:
docker run -p 8080:8080 ghga/upload-orchestration-service:1.0.0 --help
docker run -p 8080:8080 ghga/upload-orchestration-service:1.0.1a --help
```

If you prefer not to use containers, you may install the service from source:
Expand Down
29 changes: 28 additions & 1 deletion openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ info:
description: A service providing a web-accessible management and auth layer over
upload-path file services.
title: Upload Orchestration Service
version: 1.0.0
version: 1.0.1a0
openapi: 3.1.0
paths:
/access-grants:
Expand Down Expand Up @@ -602,6 +602,20 @@ paths:
summary: List files in upload box
tags:
- ResearchDataUploadBoxes
/ds-health:
get:
description: Health endpoint protected by auth context protocol limited to Data
Stewards
operationId: ds_health_ds_health_get
responses:
'200':
content:
application/json:
schema: {}
description: Successful Response
security:
- HTTPBearer: []
summary: Ds Health
/health:
get:
description: Used to test if this service is alive
Expand All @@ -613,5 +627,18 @@ paths:
schema: {}
description: Successful Response
summary: health
/user-health:
get:
description: Health endpoint protected by auth context protocol
operationId: user_health_user_health_get
responses:
'200':
content:
application/json:
schema: {}
description: Successful Response
security:
- HTTPBearer: []
summary: User Health
tags:
- name: ResearchDataUploadBoxes
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ classifiers = [
"Intended Audience :: Developers",
]
name = "uos"
version = "1.0.0"
version = "1.0.1a"
description = "Upload Orchestration Service - A service providing a web-accessible management and auth layer over upload-path file services."
dependencies = [
"typer >= 0.15",
Expand Down
14 changes: 14 additions & 0 deletions src/uos/adapters/inbound/fastapi_/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,20 @@ async def health():
return {"status": "OK"}


@router.get("/user-health")
@TRACER.start_as_current_span("routes.user_health")
async def user_health(auth_context: UserAuthContext):
"""Health endpoint protected by auth context protocol"""
return {"status": "OK"}


@router.get("/ds-health")
@TRACER.start_as_current_span("routes.ds_health")
async def ds_health(auth_context: StewardAuthContext):
"""Health endpoint protected by auth context protocol limited to Data Stewards"""
return {"status": "OK"}


@router.get(
"/boxes",
summary="List upload boxes",
Expand Down