ocf / ocfstatic

A static redesign of the main ocf website
https://new.ocf.berkeley.edu/
17 stars 33 forks source link

Add account commands page #251

Open Kalissaac opened 3 years ago

Kalissaac commented 3 years ago

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:

origamiman72 commented 3 years ago

Made a mockup with @Kalissaac on Figma Commands

Kalissaac commented 3 years ago

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!

origamiman72 commented 3 years ago

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)

kpengboy commented 3 years ago

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.

origamiman72 commented 3 years ago

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?

ethanhs commented 3 years ago

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).

Kalissaac commented 3 years ago

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?

ethanhs commented 3 years ago

Oh perhaps so! But I'm not sure ocfweb currently supports keycloak for API calls, perhaps that too has been figured out?

Kalissaac commented 3 years ago

That's a good point, not sure. I'll look into it.