27 lines
997 B
Markdown
27 lines
997 B
Markdown
# Quickstart: Backup/Restore Job Orchestration (049)
|
|
|
|
## Goal
|
|
|
|
Ensure backup/restore “start/execute” actions never run heavy work inline. They create (or reuse) a Run Record and queue the work.
|
|
|
|
## Local development
|
|
|
|
- Bring Sail up: `./vendor/bin/sail up -d`
|
|
- Run migrations: `./vendor/bin/sail artisan migrate`
|
|
- Run a queue worker (separate terminal): `./vendor/bin/sail artisan queue:work`
|
|
|
|
## Testing
|
|
|
|
Run the most relevant tests first:
|
|
|
|
- Unit helpers: `./vendor/bin/sail artisan test tests/Unit/RunIdempotencyTest.php`
|
|
- Snapshot capture orchestration: `./vendor/bin/sail artisan test --filter=PolicyCaptureSnapshot`
|
|
- Restore orchestration: `./vendor/bin/sail artisan test --filter=RestoreRun`
|
|
- Cross-tenant authorization: `./vendor/bin/sail artisan test --filter=RunAuthorization`
|
|
|
|
## Operational notes
|
|
|
|
- Run records must be tenant-scoped and never contain secrets.
|
|
- Preview/dry-run must remain read-only.
|
|
- Use de-duplication for active runs to prevent double-click duplication.
|