Contest Control (kingfish)ΒΆ

kingfish is the application created to control SCUSA contest images. It uses a centralized message bus to pass events to the booted contest image to start and end contests.

This came out of a need to simplify what is needed to host a contest at a site. All that is required from the site are computers that can boot from DVD or USB and an outgoing internet connection. When the SCUSA image boots up it calls home to our central SCUSA servers and registers itself.

For example, when starting a contest we:

  • Create team accounts on image for current contest
  • Restrict internet for team accounts to only SCUSA localdoc and PC^2 submission sites
  • Clean all team-writable areas to prevent teams from hiding pre-written code on system

And subsequently when we end a contest:

  • Open back up internet access for teams to copy off code and other data