Skip to content

SKYDATAMISSION AS A SERVICEVMASCOURSE

The product exists. Here is what it contains.

Not a reconstructed screenshot. The fields below are read from the missions repository, and you can check them there.

linux/beginner/lost-password
root@srv-01:~# ▋

What is VMascourse?

Skydata’s Mission as a Service product. It hands over a real system, already broken, and records what was done to repair it.

WHAT YOU GET
A complete environment that boots in seconds, with an incident already under way. Nothing to install.
WHAT YOU DO
You diagnose and repair, with the system’s real tools. Help arrives graded, never the answer.
WHAT YOU LEAVE WITH
The written record of what was repaired, and how. No badge, no points, no level.

The real is our material.

How does a mission work?

A mission is a versioned folder: the incident, the environment that reproduces it, and the script that checks the repair. The three blocks below are read from that folder.

A published mission

A REAL MISSIONvmascourse-missions/linux/beginner/lost-password/mission.yaml

The morning report never arrived

easy25 minbeta
SYMPTOM

The automated morning report didn't run; the dashboard shows no data and today's report file is missing.

SUCCESS CRITERIA
  1. 01The reporting job's credential authenticates again: a fresh run can connect to the analytics database.
  2. 02Today's morning report exists and contains the real numbers from the source data, not an empty or placeholder file.
  3. 03Database access is still properly secured: legitimate consumers still authenticate and wrong credentials are still rejected.
SKILLSpostgresqlpsqlgrepless

What the validator refuses

Four checks, and two of them refuse a repair that would break something else. That is what makes the measure unavoidable: to pass it, you have to do the work.

REAL VALIDATIONvmascourse-missions/linux/beginner/lost-password/validate.sh
  • Refusedthe reporting job still cannot authenticate with the credential in its config.

    Finding the password is not enough — the job itself must be able to log in.

  • Refusedtoday's report ($REPORT) does not exist — the report was not produced.

    Restore the job and run it so today's Morning Numbers are generated.

  • Refuseda legitimate consumer can no longer authenticate — you broke database access.

    A fix that breaks someone else is not a fix.

  • Refusedthe database accepted a WRONG password — authentication is no longer enforced.

    Loosening auth (e.g. 'trust') is not a fix; it removes security for everyone.

What the person takes away

No badge, no points, no level. The written record of what was repaired — and it belongs to the person.

Resolved4 min 12 sVM-0001

The morning report never arrived

  • An overnight password rotation desynchronised the job secret from the one the database expected.
  • The job was reconfigured with the current secret, without loosening authentication.
  • Today’s report was produced with the real numbers.
WHAT THE PERSON CAN NOW DO

Diagnose a service that starts but fails to authenticate, and repair it without degrading security for other consumers.

Why is this not a classic lab?

The difference is not the content, it is what gets measured. A lab checks that you followed the steps. VMascourse checks the state of the machine.

Why is this not a classic lab?
The starting pointA CLASSIC LABA healthy system and an instruction to apply.VMASCOURSEA system already broken and a symptom to explain.
The pathA CLASSIC LABNumbered steps, in the intended order.VMASCOURSENo imposed path: every command works.
The measureA CLASSIC LABThe commands typed, or a quiz at the end.VMASCOURSEThe state of the system, checked by a script running inside it.
FailureA CLASSIC LABA right answer missed.VMASCOURSEA repair that breaks something else, and the validator refuses it.
The recordA CLASSIC LABA score, a badge, a percentage.VMASCOURSEThe written account of what was repaired, and it belongs to the person.

What runs under a mission

WHAT ACTUALLY RUNSvmascourse-missions/linux/beginner/lost-password/docker-compose.yml
What actually runs
LAYERWHAT RUNSWHY THIS CHOICE
EnvironnementDocker ComposeUn système complet, isolé, jetable
Image de basevmascourse/base-lab-pg:v2Debian 12 + PostgreSQL 16
ValidationPOSIX shellAucune dépendance : le script tourne dans l’environnement lui-même
DéfinitionYAML + JSON SchemaUne mission mal formée casse la CI, pas la production
ContenuMarkdown versionnéRelu en pull request, comme du code

How do you start?

In this order. Nothing requires an account before the third step.

  1. 01

    Try the demonstration

    Two minutes, a terminal, a real incident. No sign-up and no installation.

  2. 02

    Browse the catalogue

    Eleven missions published in beta. Each page gives the symptom, the duration and the success criteria.

  3. 03

    Talk to an engineer

    Thirty minutes to frame the missions your teams need, and what they have to prove.

The published catalogue

Eleven Linux missions, from intro to expert. Six domains have their structure and no mission written yet: they are announced as such.

  • Linuxplanned
  • Containersplanned
  • Cloudplanned
  • Streamingplanned
  • Networkingplanned
  • Securityplanned
  • Dataplanned

vmascourse-missions · 2026-10-24

Questions

Do I need an account to try one?
No. A mission opens and the environment starts with no sign-up.
Are the environments real?
Yes. Each mission brings up a full Docker stack: Debian 12 and PostgreSQL 16 for the mission shown here.
How does validation work?
A POSIX script runs inside the environment and checks the state of the system, not the commands typed. It also refuses repairs that break something else.
What is in the catalogue today?
Eleven Linux missions published in beta. The six other domains exist as structure and have no mission written yet.

Watch a mission play out.

Thirty minutes with an engineer. A real incident, your context, your teams.

Request a demo