Constrain the booking service and its recovery
Objectives
Halcyon Clinics needs a machine-readable database control plan. The service owner suggests sharing the migration administrator account and says nightly backups meet every recovery target. Translate the requirements beside the editor into explicit fields rather than accepting either shortcut.
Use YAML booleans for switches, numeric minutes for objectives and a list for audit event categories. This is a plan, not a live configuration: grants, log collection and replay capability still need implementation and testing against the database.
Approved booking-service requirements
Runtime account: booking_runtime; never shared with migrations. Allowed runtime operations on appointments: SELECT, INSERT, UPDATE only. Runtime schema changes: prohibited. Recovery objectives: RPO exactly 5 minutes; RTO exactly 60 minutes. Recovery source: daily base backup plus continuous transaction-log archival. Required recovery capability: restore to an instant before a destructive commit. Required verification: isolated restore test. Audit categories: authentication, privilege_change, sensitive_read. Audit destination: protected central collector, outside runtime deletion authority.
Checks the server runs (6)
- Dedicated runtime identity and no schema changes
- Runtime operations match the approved set
- Data-loss and restoration objectives stay distinct
- Backup and log strategy supports a selected recovery instant
- Recovery is verified in isolation
- Required audit events are protected from runtime deletion
Check names are all you see here: the expectations that decide pass or fail, and the reference solution, stay on the server.
Step-by-step hints
The guided walkthrough, in full. It is free: no XP cost, and it does not touch the paid hint ladder or the reveal gate.
- Step 1
Separate deployment from runtime
Which named identity belongs to normal requests, and should that identity be able to change table definitions? Use a real boolean for the permission switch.
Dedicated runtime identity and no schema changes
- Step 2
Bound the operation set
Copy only the permitted operation categories from the requirements into the list. Check that destructive and administrative powers have not slipped into it.
Runtime operations match the approved set
- Step 3
Read the units
Which requirement limits lost committed work and which limits outage duration? Put each numeric target under its matching objective, using the requested units.
Data-loss and restoration objectives stay distinct
- Step 4
Bridge the space between copies
Identify the base-copy cadence, the ongoing change-capture switch and the method capable of stopping before a bad commit. Describe capabilities, not a promise that the job is green.
Backup and log strategy supports a selected recovery instant
- Step 5
Demand a rehearsal
What exercise proves the copy and change chain are usable without overwriting the live service? State both the recovery action and its safe environment.
Recovery is verified in isolation
- Step 6
Keep the trail independent
Compare the event list with every required category. Describe where events go and decide whether the actor being monitored should be able to destroy them.
Required audit events are protected from runtime deletion
Rules summary
XP on pass
40 bonus XP the first time every check goes green.
Paid hints
2 available. Each costs 25% of the lab XP (about 10 XP).
Reveal solution
Scores 0 XP and unlocks only after 3 check runs.
Attempt cap
60 check runs per learner. The runner warns you in the last 10.
Drafts
Your editor content is saved in this browser, so a reload will not lose work.
Walkthrough
Always free and never penalised: use it before spending a hint.