Operate Beskid Learn
Beskid Learn provides interactive learning and runs real CLI checks against temporary learner source.
Service contract
Section titled “Service contract”| Field | Verified value |
|---|---|
| Purpose | Interactive learning with analyze, parse, tree, and run checks. |
| Audience | Learners use lessons. Service operators verify the CLI-backed runtime. |
| Public boundary | https://learn.beskid-lang.org. |
| Local boundary | pnpm run dev --port 4173 starts the frontend. The production container uses port 80. |
| Authentication | The platform Compose contract accepts auth-hub and Learn session settings. Do not assume sign-in when these settings are absent. |
| Persistent state | Learner checks use a temporary workspace. The production Compose contract declares no durable Learn volume. |
| Container image | ghcr.io/cyber-nomad-collective/beskid-learn. |
| Health check | GET /api/health on the service port. |
| Deployment owner | The root platform delivery publishes and promotes the Learn image. |
| Secret source | Current required operation has no Learn OpenBao path. Optional auth values come from deployment configuration. |
| Monitoring | Container health and an API check show whether the web and CLI paths work. |
| Recovery | Revert to the previous verified image when either the health check or lesson smoke check fails. |
Prerequisites
Section titled “Prerequisites”Use the interactive learning service for a verified lesson. This safe procedure requires an explicit, known BESKID_BINARY for a local full loop. The service can fall back to cargo run, but do not use that fallback in this procedure.
Actions
Section titled “Actions”- Verify the service contract at
https://learn.beskid-lang.org/api/health. - Record the health response.
- Open
https://learn.beskid-lang.org. - Select one seeded exercise.
- Run the exercise check.
- Inspect the real diagnostic or successful result.
Expected result
Section titled “Expected result”The /api/health request succeeds. The service writes the submitted source to a temporary workspace, invokes the selected command, and returns its result.
Recovery
Section titled “Recovery”If the page works but a check fails, verify the deployed CLI and runtime-kit evidence. If all checks fail after a release, restore the prior image digest and redeploy. Do not preserve learner source from the temporary workspace as service state.
Next task
Section titled “Next task”Learners should Use Beskid Learn. Service operators should check all service health endpoints.