Add S3 backend and storage verification

This commit is contained in:
2026-05-16 23:26:03 +02:00
parent b7ceaf7682
commit 864f7f203c
18 changed files with 1085 additions and 40 deletions

View File

@@ -4,13 +4,13 @@ type: workplan
title: "S3-Compatible Backend (Ceph RGW Target)"
repo: artifact-store
domain: stack
status: planned
status: active
owner: codex
topic_slug: stack
planning_priority: medium
planning_order: 4
created: "2026-05-15"
updated: "2026-05-15"
updated: "2026-05-16"
state_hub_workstream_id: "d0526cfc-e532-431f-970d-f3e548d27a80"
---
@@ -38,9 +38,9 @@ registry.
```task
id: ARTIFACT-STORE-WP-0004-T001
status: cancelled
status: done
priority: high
state_hub_task_id: "7b980a55-2364-48c3-98ac-081629a8d2b7"
state_hub_task_id: "1db0d548-cdac-4b07-962b-bcafa3aae30e"
```
Acceptance:
@@ -58,7 +58,7 @@ Acceptance:
```task
id: ARTIFACT-STORE-WP-0004-T002
status: todo
status: done
priority: high
state_hub_task_id: "14b50595-5820-4369-b037-b015fcbddcc4"
```
@@ -75,11 +75,15 @@ Acceptance:
- `head`, `delete`, `health` implemented.
- `delete` is idempotent (delete-of-missing returns success).
Decision: use `aioboto3` as the optional S3 client dependency. The
backend imports it lazily so local-only deployments do not need S3
dependencies installed.
## D4.3 - Backend Selection And Routing
```task
id: ARTIFACT-STORE-WP-0004-T003
status: todo
status: done
priority: medium
state_hub_task_id: "725dafd6-3337-4f81-b221-bb9f3a564d7e"
```
@@ -97,7 +101,7 @@ Acceptance:
```task
id: ARTIFACT-STORE-WP-0004-T004
status: todo
status: blocked
priority: high
state_hub_task_id: "4fd7b73b-7058-4edd-b5e3-edca396760d4"
```
@@ -111,11 +115,15 @@ Acceptance:
endpoint; results recorded in `docs/OPERATOR.md`.
- No CI dependency on a live Ceph or AWS account.
Blocked note: Docker is available, but this environment does not have
`aioboto3`, `boto3`, `testcontainers`, `uv`, or `pip`; MinIO container
tests need dependency/bootstrap support before they can be run honestly.
## D4.5 - Verification Pass
```task
id: ARTIFACT-STORE-WP-0004-T005
status: todo
status: done
priority: medium
state_hub_task_id: "5a55546f-288f-4da0-a646-3d9319908279"
```