Skip to content

Infrastructure

Max Wang edited this page Nov 13, 2024 · 14 revisions

Infrastructure

Onboarding

The production website is hosted on a remote machine supplied by the OCF. Connecting to this machine requires SSH.

This guide assumes basic experience with SSH.

Warning

Running commands in the hozer machine can break production! Continue with caution.

  1. Copy your SSH key to the hozer machine's authorized_keys file:

    ssh-copy-id [email protected]
    

    The SSH password can be found in the pinned messages of the #backend staff channel in discord.

    Please add an identifying comment to your public key! For example, your Berkeley email suffices.

  2. (Optional) Add hozer-51 to your ~/.ssh/config file:

    # Begin Berkeleytime hozer config
    Host hozer-??
        HostName %h.ocf.berkeley.edu
        User root
    # End Berkeleytime hozer config
    

    Now, you can quickly SSH into the remote machine from your terminal:

    ssh hozer-51
    # as opposed to [email protected]
    

Architecture

Berkeleytime uses a microservices architecture, like many larger projects and products. A microservice architecture provides many benefits in scaling, fault-tolerance, and flexibility that a monolith architecture lacks. With these advantages comes with disadvantages, the largest being the additional complexity. Berkeleytime System Architectural Design