Overview

Student Robotics has a variety of infrastructure in order to support its mission. This document aims to provide an outline of the general structure.

Currently our infrastructure as a whole does not have a designed owner, instead individual pieces are looked after by volunteer Teams or just by volunteers who have historically maintained them.

Since September 2021 SR has had an Infrastructure Team which is responsible for maintaining the common aspects of the organisation's infrastructure. That team's remit has significant overlap with the services mentioned in this section, though there are things mentioned here which other teams are responsible for.

Website

Our website consists of a main public facing site at https://studentrobotics.org as well as a collection of other sites which appear at various paths off the root domain. This runbook is an example of such a sub-site, as are the competitor-facing documentation which appears at /docs.

These sub sites (and the main website itself) are hosted as GitHub Pages, with a separate NGINX instance acting as a reverse-proxy to facade these and other services onto the root domain. Currently we use Mythic Beasts as our hosting provider; most of our servers are managed through ansible. Digital Ocean is used for DNS hosting. Our domains are registered with Namecheap.

Competitor Services

During the competition, there are a number of hosted services which the competitors use. These have their own managed configuration and are typically hosted for the duration of the competition year only.

Competition Services

During the competition event we use the SRComp suite of tools to help run the matches, including a VM to host a public-facing copy of the HTTP API for use on the website.

Development: GitHub

A lot of our collaborative work (including hardware and software development, as well as general task management) takes place on GitHub, within our srobo organisation.

We also have a separate srobo-legacy organisation which contains some archived git repositories that pre-date our use of GitHub. Moving these over to the main organisation and de-duplicating the repositories is an ongoing project.

Email, Documents: Google

For our email (@studentrobotics.org) accounts as well as document sharing we use Google Workspace. Google Groups are used for various mailing lists.

Mailing lists

For sending some batch emails we use Mailchimp and Google Groups.

For many of our mailing lists we compose the emails in the form of pull requests to repositories on GitHub, enabling review & feedback before sending as well as providing a history which acts as a wealth of templates for sending similar emails in the future.

Some such repositories are: