-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Hi Team,
Pain
We're introducing new tenant configuration structure that could break existing SSW production deployments. We need to ensure zero-downtime migration and backward compatibility with current appsettings.
Suggested Solution
Implement fallback logic to use legacy configuration values when new TenantSettings are not specified. Create a migration plan and rollback strategy for each environment.
Implementation:
- Add default SSW values to TenantSettings
- Implement fallback to legacy config structure
- Create migration checklist for each environment
- Document rollback procedure
- Test against current production config
Tasks
- Add default SSW values to TenantSettings class
- Implement fallback logic in TenantService (use legacy config if TenantSettings missing)
- Create configuration migration documentation with step-by-step guide
- Create environment-specific migration checklists (Dev, Staging, Prod)
- Test current production appsettings.json compatibility
- Document any breaking changes (should be zero)
- Create rollback procedure documentation
- Verify zero-downtime deployment possible
- Create Azure DevOps pipeline updates (if needed)
Acceptance Criteria
- Meets Definition of Done - https://github.com/SSWConsulting/SSW.Rewards.Mobile/blob/main/_docs/Definition-of-Done.md
- SSW defaults are applied when no TenantSettings specified
- Existing appsettings values are respected (backward compatible)
- Migration path documented for each environment
- Rollback plan documented and tested
- Zero downtime migration confirmed possible
- No breaking changes to existing deployments
- Production configuration tested and verified
More Information
Files to Create:
_docs/Configuration-Migration.md
Files to Modify:
src/Application/Common/Models/TenantSettings.cs(add defaults)src/Infrastructure/Services/TenantService.cs(add fallback logic)
Critical: This must NOT break existing SSW production deployments
Dependencies: First 2 PBIs must be completed first
Epic: #1483
Thanks!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels