-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
112 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
# 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 signficant 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`][slash-docs]. | ||
|
||
These sub sites (and the main website itself) are hosted as GitHub Pages, with a | ||
separate NGINX instance acting as a [reverse-proxy][reverse-proxy] to facade | ||
these and other services onto the root domain. Currently we use Digital Ocean | ||
for the hosting of our [infrastructure][infrastructure] as well as for DNS and | ||
TLS termination. Our domains are registered with Namecheap. | ||
|
||
[slash-docs]: https://studentrobotics.org/docs | ||
[reverse-proxy]: https://github.com/srobo/reverse-proxy | ||
[infrastructure]: https://github.com/srobo/infrastructure | ||
|
||
### Competitor Services | ||
|
||
During the competition, there are a number of [hosted services](./competitor-services.md) | ||
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][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. | ||
|
||
[srcomp-suite]: https://github.com/PeterJCLaw/srcomp/wiki | ||
|
||
## Development: GitHub | ||
|
||
A lot of our collaborative work (including hardware and software development, as | ||
well as general task management) takes place [on GitHub][git-and-github], within our | ||
[`srobo`](https://github.com/srobo) organisation. | ||
|
||
We also have a separate [`srobo-legacy`](https://github.com/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][legacy-repository-migration]. | ||
|
||
[git-and-github]: ../volunteering/git-and-github.md | ||
[legacy-repository-migration]: https://github.com/srobo/tasks/issues/179 | ||
|
||
## 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: | ||
|
||
* [team-emails](https://github.com/srobo/team-emails/): Emails to competitor teams | ||
* [volunteer-emails](https://github.com/srobo/volunteer-emails/): Emails to volunteers from other volunteers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Competitor Services | ||
|
||
During the competition season, there are a number of hosted services which the | ||
competitors use. These are [managed using `puppet`][server-puppet] to configure | ||
a "competitor services" VM, typically within Digital Ocean. | ||
|
||
[server-puppet]: https://github.com/srobo/server-puppet/ | ||
|
||
The services typically include: | ||
|
||
**Forums** | ||
: A space which the competitors can use to chat with each other and with | ||
mentors and to ask for help with developing their robots. | ||
Historically we have used [PHPBB](https://phpbb.com), although for SR2021 we | ||
have moved to using Discord with a bot to [gate entry](discord-gated-entry). | ||
|
||
**[IDE](https://github.com/srobo/srobo-ide/)** | ||
: A hosted web-based environment which allows competitors to develop code for | ||
their robots without needing to install anything on their own computers. | ||
|
||
**User accounts** | ||
: User accounts are needed for access to the IDE and our self-hosted forums. | ||
We also host a [management interface](https://github.com/srobo/nemesis/) so | ||
that team-leaders can administer the user-accounts of their teams. | ||
|
||
**Ticket access** | ||
: At the physical competition we gate entry through the use of tickets which | ||
competitors download from the website ahead of time. | ||
|
||
**[Code submitter](https://github.com/PeterJCLaw/code-submitter/)** | ||
: For the virtual competitions, this is a mechanism for competitors to submit | ||
the code for their virtual robots. | ||
|
||
|
||
[discord-gated-entry]: https://github.com/srobo/discord-gated-entry/ |