-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Milestone 2: Initial Automation (v1.1)
- Implement automatic backup of configuration and monitoring data before every upgrade.
- Add in-app notifications for available updates, with direct download links.
- Develop automatic rollback/restore mechanism triggered by post-upgrade health check failures.
- Enhance logging to capture all upgrade/rollback actions, backup locations, and errors.
Milestone 3: Enhanced Admin Experience (v1.2)
- Add "Update Now" and scheduled update options in the admin dashboard.
- Automate post-upgrade health checks (service status, probe liveness, config validity) and revert if checks fail.
- Implement backup retention management and UI for backup control.
- Display live status, progress, and error tracking for upgrades/rollbacks in the dashboard.
Milestone 4: Centralized & Scalable (v1.3)
- Build a centralized update console for multi-site/staged rollouts.
- Enable pause, resume, and rollback by group/site; support incremental deployment.
Milestone 5: Full Autonomy (v2.0+)
- Enable automated silent updates with admin approval.
- Implement rolling upgrades for zero downtime.
- Add auto-diagnostics and self-healing for upgrade failures.
- Integrate detailed audit, reporting, and 3rd-party patch management.
Acceptance Criteria
- Zero user data/config loss after upgrade failure.
- Upgrades require minimal downtime and manual interaction.
- Upgrade and rollback outcomes fully logged and auditable.
- Simple self-service for backup, restore, and upgrade status.
Reference Files to Touch
- Backend:
ThingConnect.Pulse.Server/Controllers/ConfigurationController.cs(config apply, versioning, validation)ThingConnect.Pulse.Server/Services/ConfigurationService.cs(config management, backup utilities)ThingConnect.Pulse.Server/Services/ConfigurationParser.cs(YAML parsing, schema validation)
- Frontend:
thingconnect.pulse.client/src/pages/Configuration.tsx(config UI, version history)thingconnect.pulse.client/src/components/config/ConfigurationEditor.tsx(editor, validation)thingconnect.pulse.client/src/components/config/ConfigurationVersions.tsx(version management)thingconnect.pulse.client/src/api/services/configuration.service.ts(API calls for config/versioning)
- Installer/Ops:
- Installer scripts (Inno Setup)
- PowerShell recovery scripts for rollback
- Documentation:
updates.md, release notes
Risks & Mitigations
- Risk: Data/config loss during upgrade or rollback.
- Mitigation: Automated backups, transactional migrations, and documented restore procedures.
- Risk: Service downtime during upgrade.
- Mitigation: Rolling upgrades, health checks, and scheduled updates.
- Risk: Operator error in manual steps.
- Mitigation: Improved documentation, in-app guidance, and automation.
Testing Plan
- Automated tests for upgrade/rollback scenarios, data/config integrity, and service lifecycle.
- Manual verification of backup, restore, and upgrade flows on representative environments.
- CI/CD gates for upgrade safety checks before release.
Success Criteria:
- No data or config loss after upgrade failure.
- Minimal downtime and manual steps.
- All upgrade/rollback actions are logged and auditable.
- Easy self-service for backup, restore, and upgrade status.
Metadata
Metadata
Assignees
Labels
No labels