tidy up documentation for alpha release

This commit is contained in:
Warp Agent
2026-01-04 13:19:40 +07:00
parent 2bb64620d4
commit 70d25e13b8
20 changed files with 4415 additions and 0 deletions

View File

@@ -0,0 +1,111 @@
# SRS-06: Object Storage
## 1. Overview
Object Storage module provides S3-compatible object storage service management including buckets, access policies, and user/key management.
## 2. Functional Requirements
### 2.1 Bucket Management
**FR-OBJ-001**: System shall allow users to create buckets
- **Input**: Bucket name, access policy (private/public-read)
- **Output**: Created bucket with ID
- **Validation**: Bucket name uniqueness, valid S3 naming
**FR-OBJ-002**: System shall allow users to list buckets
- **Output**: Bucket list with name, type, usage, object count
- **Filtering**: By name, type, access policy
**FR-OBJ-003**: System shall allow users to view bucket details
- **Output**: Bucket configuration, usage statistics, access policy
**FR-OBJ-004**: System shall allow users to delete buckets
- **Input**: Bucket ID
- **Validation**: Bucket must be empty or confirmation required
**FR-OBJ-005**: System shall display bucket usage
- **Output**: Storage used, object count, last modified
### 2.2 Access Policy Management
**FR-OBJ-006**: System shall allow users to configure bucket access policies
- **Input**: Bucket ID, access policy (private, public-read, public-read-write)
- **Output**: Updated access policy
**FR-OBJ-007**: System shall display current access policy
- **Output**: Policy type, policy document
### 2.3 User & Key Management
**FR-OBJ-008**: System shall allow users to create S3 users
- **Input**: Username, access level
- **Output**: Created user with access keys
**FR-OBJ-009**: System shall allow users to list S3 users
- **Output**: User list with access level, key count
**FR-OBJ-010**: System shall allow users to generate access keys
- **Input**: User ID
- **Output**: Access key ID and secret key
**FR-OBJ-011**: System shall allow users to revoke access keys
- **Input**: User ID, key ID
### 2.4 Service Management
**FR-OBJ-012**: System shall display service status
- **Output**: Service status (running/stopped), uptime
**FR-OBJ-013**: System shall display service statistics
- **Output**: Total usage, object count, endpoint URL
**FR-OBJ-014**: System shall display S3 endpoint URL
- **Output**: Endpoint URL with copy functionality
## 3. User Interface Requirements
### 3.1 Object Storage Dashboard
- Service status card
- Statistics cards (total usage, object count, uptime)
- S3 endpoint display with copy button
### 3.2 Bucket Management
- Bucket list with search and filter
- Bucket creation modal
- Bucket detail view with tabs (Overview, Settings, Access Policy)
- Bucket actions (delete, configure)
### 3.3 Tabs
- **Buckets**: Main bucket management
- **Users & Keys**: S3 user and access key management
- **Monitoring**: Usage statistics and monitoring
- **Settings**: Service configuration
## 4. API Endpoints
```
GET /api/v1/object-storage/buckets
GET /api/v1/object-storage/buckets/:id
POST /api/v1/object-storage/buckets
DELETE /api/v1/object-storage/buckets/:id
PUT /api/v1/object-storage/buckets/:id/policy
GET /api/v1/object-storage/users
POST /api/v1/object-storage/users
GET /api/v1/object-storage/users/:id/keys
POST /api/v1/object-storage/users/:id/keys
DELETE /api/v1/object-storage/users/:id/keys/:keyId
GET /api/v1/object-storage/service/status
GET /api/v1/object-storage/service/stats
GET /api/v1/object-storage/service/endpoint
```
## 5. Permissions
- **object-storage:read**: Required for viewing buckets, users
- **object-storage:write**: Required for creating, updating, deleting
## 6. Error Handling
- Invalid bucket name
- Bucket already exists
- Bucket not empty
- Invalid access policy
- Service not available
- Insufficient permissions