refactor(scenarios): split monolithic configuration into individual files

- Split `scenarios/scenarios.json` into individual JSON files under `scenarios/data/` named `<scenario-id>.json`
- Split `scenarios/bundles.json` into individual JSON files under `scenarios/bundles/` named `<bundle-id>.json`
- Updated `backend/server.js` to dynamically load scenario and bundle files from their respective directories
- Updated documentation in `scenarios/SCHEMA.md` and `README.md` to reflect the new repository layout and contributor workflow

Signed-off-by: Abhinav Sinha <[email protected]>
This commit is contained in:
Abhinav Sinha
2026-06-15 07:52:47 +05:30
parent 2104c5fea6
commit 124e5276d4
94 changed files with 4256 additions and 4217 deletions
@@ -0,0 +1,33 @@
{
"id": "cks-mcq-image-footprint",
"title": "Minimizing Image Footprint",
"category": "Supply Chain Security",
"difficulty": "Easy",
"type": "mcq",
"weight": 2,
"description": "Why is it highly recommended in the CKS exam to use base images like **Alpine Linux** or **Distroless** for your containerized applications?",
"options": [
{
"id": "a",
"text": "They automatically encrypt data at rest"
},
{
"id": "b",
"text": "They have a significantly reduced attack surface with fewer packages"
},
{
"id": "c",
"text": "They automatically configure NetworkPolicies for the pod"
},
{
"id": "d",
"text": "They guarantee that the container will not run as root"
}
],
"correct_option": "b",
"explanation": "Minimal images like Alpine or Distroless contain only the bare minimum files and dependencies needed to run the application. This drastically reduces the attack surface and the number of potential CVEs.",
"hints": [],
"setup_commands": [],
"default_namespace": "default",
"teardown_commands": []
}