SadServers Quick Tour

SadServers Quick Tour

Please refer to the SadServers GitHub Readme for the what and the why of this project and its technical inner workings.

Users

There are four kinds of users:

  1. Free Anonymous users. They can only run a few scenarios.
  2. Free Registered users. These are people who have signed up with an email. They can run many scenarios, but are limited in how many they can use in a period of time and in how many times they can solve a scenario. By registering, users can see their progress: which scenarios they have solved and their time to solve them.
  3. Paid Professional (“Pro”) Users. They can use all scenarios – in particular the hard ones and the ones that resemmble job interviews – , without limitations. They also have other advantages like an Achievements page (with downloadable “diploma” to share with the world), more time to solve the scenarios, direct SSH access to scenario VMs ad VMs with Internet access. See Pro Paid Accounts
  4. Paid Business Users. The Business Account is meant for any organization using SadServers, typically for interviewing Linux/DevOps/SRE job candidates or for conducting training or events. They have all the advantages of Pro users with unlimited users and they can invite anyone to any scenario.

Workflow

The “happy path” of using SadServers can be summarized as:

  1. A user clicks on a scenario. If they are allowed, the scenario VM will start being provisioned. This can take anywhere from 10 to 50 seconds. In the meantime, the user can read the instructions for the scenario.
  2. Once the VM is ready, the user can click the button that opens a browser window terminal (shell) into the VM and start the challenge.
  3. At any time the user can look at the clues and a solution or destroy the server.
  4. At any time the user can check if the solution they provided is considered valid. The “Check My Solution” button runs the /home/admin/user/check.sh script to determine if the solution is good or not (note that there can be false positives and false negatives). If the solution is deemed valid, the time to solve is displayed and the scenario server is deleted.
  5. All scenarios have a maximum amount of time to be solved and they will be deleted when that time runs out.