Files
rootnode-academy/scenarios/bundles.json
T
Abhinav Sinha 356d4ee326 feat: Add 10 new scenarios
Added new scenarios:

1. Kubernetes Basics:
  - [TASK] Annotating Kubernetes Resources
  - [TASK] Pod with Init Container
  - [MCQ] Pod Restart Policies
  - [MCQ] kubectl Output Formats

2. Kubernetes Administrator (CKA):
  - [TASK] Configure a PodDisruptionBudget
  - [TASK] Pod Priority and PriorityClass

3. Kubernetes Security (CKS):
  - [TASK] RuntimeClass for Sandboxed Workloads
  - [TASK] Write a Kubernetes Audit Policy
  - [TASK] Restrict Egress to Namespace
  - [TASK] Enforce Non-Root Container

Signed-off-by: Abhinav Sinha <[email protected]>
2026-05-31 04:20:10 +05:30

156 lines
4.0 KiB
JSON

[
{
"id": "k8s-basics",
"name": "Kubernetes Basics",
"icon": "🌱",
"tagline": "Core concepts for beginners",
"color": "#3fb950",
"colorDim": "rgba(63,185,80,0.12)",
"exam_minutes": 60,
"scenario_ids": [
"pod-basics-mcq",
"kubectl-essentials-mcq",
"labels-selectors-mcq",
"init-containers-mcq",
"namespaces-basics",
"deploy-nginx",
"scale-deployment",
"rolling-update-task",
"liveness-probe-task",
"jobs-cronjobs-mcq",
"daemonset-mcq",
"configmap-volume",
"resource-limits-task",
"env-vars-configmap",
"secrets-basics",
"services-mcq",
"multi-container-pod-basics",
"expose-service-basics",
"pod-labeling-basics",
"extract-logs-basics",
"edit-deployment-basics",
"jsonpath-basics",
"dry-run-manifest-basics",
"delete-by-label-basics",
"kubectl-cp-basics",
"exec-command-basics",
"annotate-resource-basics",
"init-container-task-basics",
"restart-policy-mcq",
"kubectl-output-format-mcq"
]
},
{
"id": "k8s-admin",
"name": "Kubernetes Administrator",
"icon": "🧑‍✈️",
"tagline": "CKA exam — cluster administration",
"color": "#58a6ff",
"colorDim": "rgba(88,166,255,0.12)",
"exam_minutes": 120,
"scenario_ids": [
"rbac-role",
"rbac-clusterrole",
"serviceaccount-pod",
"node-label-selector",
"node-taint-toleration",
"resource-quota-ns",
"limitrange-task",
"etcd-backup-mcq",
"cluster-upgrade-mcq",
"deployment-rollback",
"cronjob-task",
"job-task",
"readiness-probe-task",
"pod-affinity-mcq",
"nodeport-task",
"ingress-task",
"dns-resolution-mcq",
"endpoint-fix-task",
"networkpolicy-egress",
"network-policy",
"storageclass-mcq",
"pvc-dynamic-task",
"emptydir-pod",
"pv-pvc-mount",
"pod-security-context",
"broken-deployment",
"crashloop-fix",
"container-logging-mcq",
"pod-disruption-budget-task",
"priority-class-task"
]
},
{
"id": "k8s-appdev",
"name": "Kubernetes Developer",
"icon": "🛠️",
"tagline": "CKAD exam — application development",
"color": "#bc8cff",
"colorDim": "rgba(188,140,255,0.12)",
"exam_minutes": 120,
"scenario_ids": [
"pod-basics-mcq",
"kubectl-essentials-mcq",
"namespaces-basics",
"labels-selectors-mcq",
"deploy-nginx",
"scale-deployment",
"rolling-update-task",
"deployment-rollback",
"liveness-probe-task",
"readiness-probe-task",
"configmap-volume",
"env-vars-configmap",
"secrets-basics",
"resource-limits-task",
"cronjob-task",
"job-task",
"emptydir-pod",
"pvc-dynamic-task",
"services-mcq",
"nodeport-task",
"ingress-task",
"rbac-role",
"pod-security-context",
"crashloop-fix",
"container-logging-mcq"
]
},
{
"id": "k8s-security",
"name": "Kubernetes Security",
"icon": "🛡",
"tagline": "CKS exam — hardening and threats",
"color": "#f97316",
"colorDim": "rgba(249,115,22,0.12)",
"exam_minutes": 120,
"scenario_ids": [
"cks-network-policy",
"cks-pod-security-context",
"cks-rbac-least-privilege",
"cks-seccomp-profile",
"cks-immutable-secret",
"cks-apparmor-profile",
"cks-automount-token",
"cks-network-policy-metadata",
"cks-rbac-clusterrole",
"cks-psa-namespace",
"cks-mcq-runtime-security",
"cks-mcq-api-server",
"cks-mcq-image-footprint",
"cks-mcq-psp-replacement",
"cks-mcq-kubelet-auth",
"cks-readonly-filesystem",
"cks-drop-capabilities",
"cks-tls-ingress",
"cks-image-pull-secret",
"cks-mcq-sandboxing",
"cks-mcq-audit-policy",
"cks-runtime-class",
"cks-audit-policy",
"cks-egress-namespace",
"cks-non-root-enforce"
]
}
]