Files
Ready2Blob/.planning/REQUIREMENTS.md
T
2026-03-26 09:52:35 +01:00

125 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Requirements: Ready2Blob
**Defined:** 2026-03-26
**Core Value:** An IT pro can go from zero to a deployable rclone setup in minutes — without needing to know rclone's config syntax or PowerShell deployment conventions.
## v1 Requirements
### Wizard & Navigation
- [ ] **WIZD-01**: User can select a storage backend from a popularity-sorted list (Azure Blob and S3 shown first)
- [ ] **WIZD-02**: User navigates a multi-step wizard: backend selection → backend config → deployment options → review/download
- [ ] **WIZD-03**: User can go back to previous steps without losing entered data
- [ ] **WIZD-04**: User can set a custom remote name (validated: alphanumeric, dash, underscore only)
### Backends
- [ ] **BACK-01**: User can configure an Azure Blob Storage remote (storage account name, authentication method: SAS token or access key)
- [ ] **BACK-02**: User can configure an Amazon S3 remote (access key ID, secret access key, region)
- [ ] **BACK-03**: User can configure an S3-compatible remote via endpoint override (same form as S3 with optional endpoint field — covers Wasabi, MinIO, Cloudflare R2)
### Config Generation
- [ ] **CONF-01**: App generates a valid rclone.conf file (INI format, correct key/value pairs per backend type)
- [ ] **CONF-02**: User sees a live preview of the generated rclone.conf content as they fill the form
- [ ] **CONF-03**: User can copy the rclone.conf content to clipboard
### Deployment Scripts
- [ ] **DEPL-01**: App generates a PowerShell install script for MS Intune (runs as SYSTEM, places config at machine-wide path, idempotent, correct exit codes)
- [ ] **DEPL-02**: App generates a separate Intune detection script (checks rclone.exe presence at install path AND config file presence; exits 0 if both found)
- [ ] **DEPL-03**: App generates a PowerShell script for RMM tools (generic SYSTEM-context, idempotent, works across NinjaRMM/Datto/ConnectWise)
- [ ] **DEPL-04**: User can toggle "Include rclone installation" to add rclone binary download step to generated scripts
- [ ] **DEPL-05**: User can choose config deployment path: machine-wide (`C:\ProgramData\rclone\`) vs user profile (`%APPDATA%\rclone\`)
### Download
- [ ] **DOWN-01**: User can download the rclone.conf file individually
- [ ] **DOWN-02**: User can download the Intune install script individually
- [ ] **DOWN-03**: User can download the Intune detection script individually
- [ ] **DOWN-04**: User can download the RMM script individually
- [ ] **DOWN-05**: User can download all artifacts as a single ZIP bundle
- [ ] **DOWN-06**: User can copy any output block to clipboard directly (for RMM paste-in-field workflows)
### Security & Trust
- [ ] **SECU-01**: App displays a security warning (credentials are plaintext in generated files) that user must acknowledge before any download is enabled
- [ ] **SECU-02**: App prominently states that no data is sent to any server (client-side generation only)
- [ ] **SECU-03**: Wizard state is never persisted to localStorage, sessionStorage, or any external service
## v2 Requirements
### Additional Backends
- **BACK-04**: Microsoft OneDrive (requires pre-obtained OAuth token — headless auth not possible)
- **BACK-05**: SFTP (host, user, password or key path)
- **BACK-06**: Google Cloud Storage
- **BACK-07**: Backblaze B2
- **BACK-08**: Google Drive
- **BACK-09**: Dropbox / SharePoint
### Enhanced Config
- **CONF-04**: User can add multiple remotes to a single rclone.conf (multi-remote wizard)
- **CONF-05**: Field-level format validation per backend (e.g., Azure account name: 324 lowercase alphanumeric)
- **CONF-06**: Explanatory tooltips on sensitive/confusing fields (SAS token vs access key, region codes)
### Enhanced Deployment
- **DEPL-06**: User can pin a specific rclone version for reproducible deployments (instead of always latest)
- **DEPL-07**: Named RMM script variants (NinjaRMM-specific, Datto-specific execution context adjustments)
- **DEPL-08**: IntuneWinAppUtil packaging instructions displayed alongside Intune scripts
## Out of Scope
| Feature | Reason |
|---------|--------|
| Test connection / validate credentials | Requires backend proxy — CORS blocks direct cloud API calls from browser |
| Save / load configurations | No backend; credentials must not be stored in localStorage |
| User accounts / authentication | No backend — would require full architecture rethink |
| rclone mount / sync scheduling | Different problem domain (task scheduler, Windows service) |
| Auto-push to Intune via Graph API | Requires Azure AD app registration + OAuth — massive scope increase |
| macOS / Linux endpoint support | Scripts are PowerShell for Windows only in v1 |
| rclone version auto-update on endpoints | Separate lifecycle management problem |
| Config credential encryption | rclone encrypted configs require interactive unlock — incompatible with unattended deployment |
## Traceability
Which phases cover which requirements. Updated during roadmap creation.
| Requirement | Phase | Status |
|-------------|-------|--------|
| WIZD-01 | Phase 3 | Pending |
| WIZD-02 | Phase 3 | Pending |
| WIZD-03 | Phase 3 | Pending |
| WIZD-04 | Phase 3 | Pending |
| BACK-01 | Phase 3 | Pending |
| BACK-02 | Phase 3 | Pending |
| BACK-03 | Phase 3 | Pending |
| CONF-01 | Phase 2 | Pending |
| CONF-02 | Phase 4 | Pending |
| CONF-03 | Phase 4 | Pending |
| DEPL-01 | Phase 2 | Pending |
| DEPL-02 | Phase 2 | Pending |
| DEPL-03 | Phase 2 | Pending |
| DEPL-04 | Phase 2 | Pending |
| DEPL-05 | Phase 2 | Pending |
| DOWN-01 | Phase 4 | Pending |
| DOWN-02 | Phase 4 | Pending |
| DOWN-03 | Phase 4 | Pending |
| DOWN-04 | Phase 4 | Pending |
| DOWN-05 | Phase 4 | Pending |
| DOWN-06 | Phase 4 | Pending |
| SECU-01 | Phase 4 | Pending |
| SECU-02 | Phase 4 | Pending |
| SECU-03 | Phase 4 | Pending |
**Coverage:**
- v1 requirements: 24 total
- Mapped to phases: 24
- Unmapped: 0 ✓
---
*Requirements defined: 2026-03-26*
*Last updated: 2026-03-26 after roadmap creation*