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)