Open Kalissaac opened 3 years ago
Made a mockup with @Kalissaac on Figma
We have to decide whether we want to run the ssh command server-side or client-side.
If we do server-side, we need to add an API route to ocfweb to allow users to execute commands over the web. Most of it can be copied from the existing page.
If we do client-side, the issue is that some networks block ssh (some people have said CalVisitor does?) and therefore users on those networks won't be able to run the commands.
I'm leaning towards server-side, but if anyone has any thoughts I'm interested!
Also leaning towards server side since that's what the old site used, so we can try to keep the functionality as 1:1 as possible (and use paramikojs to replicate functionality as well)
I'd like to take a step back here and rethink the design of this feature. I think that conceptually orienting this around terminal commands is not the best design. Rather, IMO paper and disk quotas ought to be widgets on the dashboard which load the info from an API (without requiring the user to issue a "command" or re-enter their login info). Makehttp and makemysql should similarly be buttons (rather than radio buttons) called "Make public_html directory" and "Set up SQL database/Change SQL password" (or something similar), and similarly should not have their own login info prompt.
For historical context, the separate login prompt for this page predates the ocfweb login system, and we just never got around to/spent the time to integrate it.
In that case how about we implement these features into the dashboard as mentioned above and redo the commands page as a way to access shellinthebox (or replacement) to make a web-accessible ssh portal?
I think we should probably think about how to handle auth for the new website before we figure out how to integrate commands into the dashboard, as we will need API calls that are dangerous (deleting things) or expose sensitive info (makemysql will output the sql password).
Correct me if I'm wrong but I thought we already had auth in place for the new website? The current implementation uses keycloak, are we planning on moving to a different provider or system?
Oh perhaps so! But I'm not sure ocfweb currently supports keycloak for API calls, perhaps that too has been figured out?
That's a good point, not sure. I'll look into it.
Add a page similar to https://www.ocf.berkeley.edu/account/commands/ which allows users to easily run commands from the web instead of having to ssh into tsunami.
Existing commands: