Pre migration:
Get Cogonito user pool configured - to be fully terraformed
a. password policy: default
b. lambdas: migrate user trigger & pre token generation trigger
c. app client for Admins-UI
d. messaging - FROM email: no-reply@tis.nhs.ukGet Admins API-Gateway configured - terraformed
Get Admins-UI on CloudFront configured (pipeline should be done on another branch) - in progress
Upgrade Amplify to version 6 for Admins-UI
Get revalidation config PR ready and Reval API-Gateway PR ready (ready means approved, or merged and not applied yet) - not yet
Get UserManagement fully tested locally (give errors to admins when user does not exist on Cognito?)
We do give an error when the user does not exist, but the error is thrown from the backend and it is not shown in a friendly way to users.Give notice to all users in advance
...
Parallel branches:
Reval-UI:
Migration steps:
Give notice to users to inform the migration start
Restrict access of UserManagement (Modify API-Gateway to only allow some specific get reqeusts? Or remove user permission/roles temporarily? Or remove mapping annotation on the endpoints (POST/DELETE)?)
Switch Admins-UI DNS to use the app on CloudFront (new Admins API-Gateway), mind the TTL
Update the website terraform - to use existing domains/host names. (How do we verify this upfront?)Switch Reval to the new user pool and get Reval API-Gateway configured
Switch UserManagement to Cognito and release the UserManagement to users
...