SERVER STATE SPECS REQUIREMENTS Two parallel paths that can lead to serverstate affecting access to server: Closed or Open States - If closed all routes are shut to all users with case by case exceptions: - OPS type user exceptions: - Login - View long running jobs because server may be closed due to long running process they need to view for status updates - they can fetch a license key or look at license current state (ONLY IF CLOSED DUE TO LICENSE ISSUE) - View METRICS and log files - SYSTEM_LOCK - An independent setting outside of the regular server state that allows RAVEN to internally lock itself when License or lockout related issues like non-payment - Acts as though the server was set to CLOSED so OPS can still go in but doesn't matter what state they set it to because the locked is a parallel in memory internal only setting - All non-ops routes will need to see if closed and server state returns closed both if serverstate is closed or if SYSTEM_LOCK Some scenarios at the server require general users to be LOCKED OUT COMPLETELY but still grant limited access for operations administration, such as: - Biz changes that need all users out such as a re-org of client data or something else business related - Ops changes that need all users out such as upgrades, backup, restore, any mass data change such as import or export - Emergency security issues such as hacking attempt etc Need a method to inform users that server *WILL* be going down within a set time frame, like 15 minutes (no need to get fancy and make it configurable)