feat(app-data): Add backup restore portability#1346
Merged
Conversation
Add deterministic operator backup envelopes and metadata-only restore planning for durable app data. Wire host/operator-only backup and restore routes through the legacy form-password guard, Web Shell controls, redaction, and release-certification evidence. Document first-party app backup scope and portability exclusions.
Point app-data backup evidence at AppDataBackupRestoreWorkflow after the service split. Accept the implemented restore-plan route shape while still checking planRestore wiring.
Preserve server-returned compact backup bytes for Web Shell app-data backup downloads so restore pre-parse byte limits match export caps. Update Web Shell resource and release smoke markers to assert the compact backup-payload path.
Project cumulative all-app backup bundle size before materializing each app's raw record values. Reuse the approved export projection for payload creation and add a regression test that oversized all-app backups do not read values for the app that would exceed the cap.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
/api/v1/operator/app-data/..., with form-password protection in the legacy HTTP bridge and app-principal denial coverage.mode=noneenvelope status, uninstall choices, and first-party app portability scope.Testing
./gradlew spotlessApply./gradlew :platform-api:test --tests '*AppDataServiceTest'./gradlew :platform-api:test --tests '*AppData*'./gradlew :platform-api:test./gradlew :platform-web-shell:test --tests '*WebShellResourcesTest'./gradlew :platform-web-shell:testpython3 tools/release-certification/app_platform_smoke.py --self-testpython3 tools/release-certification/release_certification.py --self-testpython3 tools/release-certification/app_platform_smoke.py --skip-gradle --mode pr --out-dir build/release-certification/app-platform-smoke-backup-cap-review-final(completed with PR-mode warning summary;app-data.backup-restore-portabilityandoperator-beta.app-data-backup-restorerows passed)git diff --checkNot run: full root
./gradlew test.