Welcome to the OCF! Here’s a couple things you should do to get set up.

OCF Communications

At the OCF, there's a lot of ways we communicate. Here's a few:

Slack

Download Slack and join our channels. The reason our room url is fco.slack.com is because the Orthodox Christian Fellowship beat us to that name.

Here's a rundown of the OCF channels:

High signal:

Social

So we can get to know you better, change your avatar on Gravatar: Create an account with the email {username}@ocf.berkeley.edu at Gravatar and add a photo there. Congrats! When you post your staff hours or go on Slack, this will be your avatar.

IRC

For the old schoolers, we have an IRC server that syncs with the Slack room using a custom build slackbridge. Instructions to join are on our site.

XMPP

We also offer XMPP accounts if you prefer to use that instead.

RT

RT is our ticketing system. It handles emails from external addresses that ask for help (group accounts, password resets, etc). Shorturls take the form of ocf.io/rt/####. You can find detailed instructions here.

You'll notice that RT's interface is really slow. You can instead respond via email and RT will appropriately handle updating the ticket and emailing responses via the address and subject line.

Commenting

You can add comments that won't be sent to the requester (ticket creator) by adding -comment to the email address, (e.g. help-comment@ocf.berkeley.edu instead of help@ocf.berkeley.edu). MAKE SURE THIS IS BEING DONE CORRECTLY. We've had some incidents where we send unprofessional-ish responses to outside groups by accident. Also, delete comments from reply bodies when responding to the requestor. Yes, this has happened as well.

Team Google Drive

Team Google Drive is where we keep documents, some minutes, and slides. Unfortunately, in order to access documents on here you will need an invite. Let one of the chairs or d?SMs know and they'll add you at their discretion.

Discourse

Discourse is for long-post discussions about the long-term goals and philosophies of the OCF. A thread isn't necessarily task-specific and are usually more general in nature. A handy shorturl is ocf.io/d/## where ## is the number of the discourse thread.

KanBoard

KanBoard is an open source KanBan system. This is the todo list of the OCF.

Terminal Stuff

At the OCF, we use the shell a lot. It's not too difficult, but the new environment can be intimidating. We'll get you started with the basics:

SSH and your shell account

  1. SSH into our servers. Note, when you type your password, you won't see anything. It's still getting typed in, it's just a security feature.
  2. To see all the files you have in the OCF type ls. You should see something called public_html/
  3. Type cd public_html. This will set your "current directory" (current working location) to ~/public_html. This is where ocf.io/{username} points to. There's nothing there right now but let's change that.
  4. For the finale, type nano index.html. Type whatever you want, and when you're done type the following. ^G means to press Control+g.
    1. ^O to save the file
    2. Enter to save the filename
    3. ^X to exit

Congratulations, now if you go to ocf.io/{username} you should see whatever you typed. Feel free to use that space as your own.

A Small Note Regarding SSH

When you ssh into tsunami, you're working within our servers. So stuff you work on in tsunami will be saved on our machines, and not on your computer.

GitHub

GitHub is a site that hosts code for anyone to see. This is where the OCF keeps its codebase. If you don't have an account, you're going to need to first make one. If you use your @berkeley.edu account, you can get extra benefits as an education account.

Once you have an account, add yourself to the OCF organization. The code is organized into groups called repositories (or repos for short). Here at the OCF, we have a repo for our website, our Python library, and much more.

Misc.

Come to one of our staff hours. We'll show you how to run approve, signat, checkacct, and check.

Conclusion

You're done! Come to the next staff meeting and have boba on us.

Bonus Task!

You can imagine that typing out ssh <username>@ssh.ocf.berkeley.edu and then your password can be a pain. Thankfully, there's ways around it!

SSH Keys

The cool thing about SSH is that your password is never revealed over the network when you log in, making it a lot more secure than something like telnet. However, you can be even more security-conscious by providing public keys to the server (the computer you're trying to access). Even better, you don't have to type in your password every time you log in!

Here's a big picture look of how it works:

  1. You create public and private key pair. You don't want to show anyone your private key. It's the equivalent of your password.
  2. In the target server, add your public key to ~/.ssh/authorized_keys.
  3. On your own computer, keep your private key in ~/.ssh/<name_of_key>.

TODO: GitHub PRs

TODO: Puppetting

TODO: Monitoring

TODO: Email filters