docs: define milestone v1.3 requirements
This commit is contained in:
@@ -0,0 +1,82 @@
|
|||||||
|
# Requirements: Unraid Docker Manager
|
||||||
|
|
||||||
|
**Defined:** 2026-02-08
|
||||||
|
**Core Value:** When you get a container update notification or notice a service is down, you can immediately investigate and act from your phone.
|
||||||
|
|
||||||
|
## v1.3 Requirements
|
||||||
|
|
||||||
|
Requirements for Unraid Update Status Sync. Each maps to roadmap phases.
|
||||||
|
|
||||||
|
### Infrastructure
|
||||||
|
|
||||||
|
- [ ] **INFRA-01**: n8n container can reach Unraid GraphQL API endpoint
|
||||||
|
- [ ] **INFRA-02**: Unraid API key created with Docker update permission, stored securely
|
||||||
|
- [ ] **INFRA-03**: Container ID format verified via GraphQL query (document actual format)
|
||||||
|
|
||||||
|
### Sync
|
||||||
|
|
||||||
|
- [ ] **SYNC-01**: After bot updates a single container (text command), Unraid badge clears automatically
|
||||||
|
- [ ] **SYNC-02**: After bot updates a single container (inline keyboard), Unraid badge clears automatically
|
||||||
|
- [ ] **SYNC-03**: After batch "update all" operation, all updated containers sync to Unraid in one call
|
||||||
|
- [ ] **SYNC-04**: After batch selection update, all selected containers sync to Unraid in one call
|
||||||
|
- [ ] **SYNC-05**: Sync failure does not block or fail the container update itself (best-effort)
|
||||||
|
- [ ] **SYNC-06**: User receives no false-positive Unraid update notifications for bot-updated containers
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
- [ ] **DOC-01**: README documents Unraid API setup (key creation, n8n container config)
|
||||||
|
- [ ] **DOC-02**: ARCHITECTURE.md documents Unraid sync integration (GraphQL API, data flow, new nodes)
|
||||||
|
|
||||||
|
## Future Requirements
|
||||||
|
|
||||||
|
Deferred to v1.4+. Tracked but not in current roadmap.
|
||||||
|
|
||||||
|
### Manual Sync
|
||||||
|
|
||||||
|
- **MSYNC-01**: User can trigger manual `/sync` command to sync all containers to Unraid
|
||||||
|
- **MSYNC-02**: User can trigger `/sync <container>` to sync a specific container
|
||||||
|
|
||||||
|
### Unraid Status Read
|
||||||
|
|
||||||
|
- **UREAD-01**: Bot can read Unraid's update detection data (which containers Unraid thinks need updates)
|
||||||
|
- **UREAD-02**: Container status keyboard shows Unraid's update view alongside Docker state
|
||||||
|
|
||||||
|
## Out of Scope
|
||||||
|
|
||||||
|
Explicitly excluded. Documented to prevent scope creep.
|
||||||
|
|
||||||
|
| Feature | Reason |
|
||||||
|
|---------|--------|
|
||||||
|
| Bidirectional status (Unraid as source of truth) | Unraid's update detection has known bugs; sync-back must be proven first |
|
||||||
|
| Persistent monitoring daemon | Conflicts with n8n's workflow execution model; adds operational complexity |
|
||||||
|
| Full Unraid API integration (auth, templates) | Overkill for status sync; GraphQL mutation is sufficient |
|
||||||
|
| Automatic template XML regeneration | Risks breaking container configuration; status sync is separate from config |
|
||||||
|
| Sync ALL containers on every operation | Performance impact, unnecessary — sync only updated containers |
|
||||||
|
| Real-time Docker event monitoring | Requires separate service; n8n handles this reactively via bot commands |
|
||||||
|
|
||||||
|
## Traceability
|
||||||
|
|
||||||
|
Which phases cover which requirements. Updated during roadmap creation.
|
||||||
|
|
||||||
|
| Requirement | Phase | Status |
|
||||||
|
|-------------|-------|--------|
|
||||||
|
| INFRA-01 | — | Pending |
|
||||||
|
| INFRA-02 | — | Pending |
|
||||||
|
| INFRA-03 | — | Pending |
|
||||||
|
| SYNC-01 | — | Pending |
|
||||||
|
| SYNC-02 | — | Pending |
|
||||||
|
| SYNC-03 | — | Pending |
|
||||||
|
| SYNC-04 | — | Pending |
|
||||||
|
| SYNC-05 | — | Pending |
|
||||||
|
| SYNC-06 | — | Pending |
|
||||||
|
| DOC-01 | — | Pending |
|
||||||
|
| DOC-02 | — | Pending |
|
||||||
|
|
||||||
|
**Coverage:**
|
||||||
|
- v1.3 requirements: 11 total
|
||||||
|
- Mapped to phases: 0
|
||||||
|
- Unmapped: 11
|
||||||
|
|
||||||
|
---
|
||||||
|
*Requirements defined: 2026-02-08*
|
||||||
|
*Last updated: 2026-02-08 after initial definition*
|
||||||
Reference in New Issue
Block a user