dojo.md 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/courses/GENERATION_LOG.md +45 -0
  2. package/courses/aws-lambda-debugging/course.yaml +11 -0
  3. package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
  4. package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
  5. package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
  6. package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
  7. package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
  8. package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
  9. package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
  10. package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
  11. package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
  12. package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
  13. package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
  14. package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
  15. package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
  16. package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
  17. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
  18. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
  19. package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
  20. package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
  21. package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
  22. package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
  23. package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
  24. package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
  25. package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
  26. package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
  27. package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
  28. package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
  29. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
  30. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
  31. package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
  32. package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
  33. package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
  34. package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
  35. package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
  36. package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
  37. package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
  38. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
  39. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
  40. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
  41. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
  42. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
  43. package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
  44. package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
  45. package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
  46. package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
  47. package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
  48. package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
  49. package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
  50. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
  51. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
  52. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
  53. package/courses/docker-container-debugging/course.yaml +11 -0
  54. package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
  55. package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
  56. package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
  57. package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
  58. package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
  59. package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
  60. package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
  61. package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
  62. package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
  63. package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
  64. package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
  65. package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
  66. package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
  67. package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
  68. package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
  69. package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
  70. package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
  71. package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
  72. package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
  73. package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
  74. package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
  75. package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
  76. package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
  77. package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
  78. package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
  79. package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
  80. package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
  81. package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
  82. package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
  83. package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
  84. package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
  85. package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
  86. package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
  87. package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
  88. package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
  89. package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
  90. package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
  91. package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
  92. package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
  93. package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
  94. package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
  95. package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
  96. package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
  97. package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
  98. package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
  99. package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
  100. package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
  101. package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
  102. package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
  103. package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
  104. package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
  105. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
  106. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
  107. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
  108. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
  109. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
  110. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
  111. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
  112. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
  113. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
  114. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
  115. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
  116. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
  117. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
  118. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
  119. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
  120. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
  121. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
  122. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
  123. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
  124. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
  125. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
  126. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
  127. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
  128. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
  129. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
  130. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
  131. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
  132. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
  133. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
  134. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
  135. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
  136. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
  137. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
  138. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
  139. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
  140. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
  141. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
  142. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
  143. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
  144. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
  145. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
  146. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
  147. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
  148. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
  149. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
  150. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
  151. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
  152. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
  153. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
  154. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
  155. package/courses/mysql-query-optimization/course.yaml +11 -0
  156. package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
  157. package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
  158. package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
  159. package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
  160. package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
  161. package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
  162. package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
  163. package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
  164. package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
  165. package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
  166. package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
  167. package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
  168. package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
  169. package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
  170. package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
  171. package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
  172. package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
  173. package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
  174. package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
  175. package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
  176. package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  177. package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
  178. package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
  179. package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
  180. package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
  181. package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
  182. package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
  183. package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
  184. package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
  185. package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
  186. package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
  187. package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
  188. package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
  189. package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
  190. package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
  191. package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
  192. package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
  193. package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
  194. package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
  195. package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
  196. package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
  197. package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
  198. package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
  199. package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
  200. package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
  201. package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
  202. package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
  203. package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
  204. package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
  205. package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
  206. package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
  207. package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
  208. package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
  209. package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
  210. package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
  211. package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
  212. package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
  213. package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
  214. package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
  215. package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
  216. package/courses/terraform-infrastructure-setup/course.yaml +11 -0
  217. package/courses/terraform-infrastructure-setup/scenarios/level-1/hcl-syntax-errors.yaml +65 -0
  218. package/courses/terraform-infrastructure-setup/scenarios/level-1/provider-configuration.yaml +62 -0
  219. package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
  220. package/courses/terraform-infrastructure-setup/scenarios/level-1/variable-and-output-errors.yaml +78 -0
  221. package/dist/mcp/session-manager.d.ts +7 -4
  222. package/dist/mcp/session-manager.d.ts.map +1 -1
  223. package/dist/mcp/session-manager.js +23 -8
  224. package/dist/mcp/session-manager.js.map +1 -1
  225. package/package.json +3 -2
@@ -468,3 +468,48 @@ Tracks all auto-generated courses for dojo.md.
468
468
  - **Scenarios**: 50 (10 per level × 5 levels)
469
469
  - **Type**: output
470
470
  - **Sources**: RFC 7807 (Problem Details for HTTP APIs), RFC 9457, RFC 8594 (Sunset header), RFC 5322 (email format), HTTP status code specifications, Google SRE handbook (error budgets, SLOs), OpenTelemetry distributed tracing documentation, GDPR Articles 5/17/30/33/44, PCI DSS v4.0 Requirements 3.4/10.2/10.5/10.6, HIPAA Security Rule, SOC 2 trust service criteria, EU DORA (Digital Operational Resilience Act), India DPDP Act, EU AI Act, SEC cybersecurity disclosure rules, NIST 800-53, Stripe API error handling documentation, Sentry error tracking, Datadog monitoring, PagerDuty incident management, behavioral economics research (anchoring effect, learned helplessness, completion bias, loss aversion, social proof)
471
+
472
+ ### Course 48: Database Query Optimization — PostgreSQL (`postgresql-query-optimization`)
473
+ - **Generated**: 2026-02-27
474
+ - **Category**: Development & DevOps
475
+ - **Directory**: `courses/postgresql-query-optimization/`
476
+ - **Topics researched**: EXPLAIN ANALYZE (reading execution plans, cost estimates, actual vs estimated rows), index fundamentals (B-tree, index scan vs seq scan, selectivity), N+1 queries (detection with pg_stat_statements, batch loading), slow query diagnosis (pg_stat_statements, pg_stat_activity, auto_explain), WHERE clause optimization (SARGable expressions, function wrapping, implicit casts), SELECT * problems (I/O waste, covering index defeat), VACUUM and statistics (autovacuum, dead tuples, default_statistics_target), JOIN algorithms (nested loop, hash join, merge join), query rewriting (NOT IN → NOT EXISTS, UNION → UNION ALL), composite indexes (column ordering, equality-first), partial and expression indexes, covering indexes (INCLUDE columns, index-only scans), CTE optimization (MATERIALIZED/NOT MATERIALIZED, PG 12+ inlining), window functions, query planner settings (work_mem, effective_cache_size, random_page_cost), autovacuum tuning (per-table settings, wraparound prevention), subquery optimization (correlated subqueries to JOINs, EXISTS vs IN, LATERAL joins), partitioning (range/list/hash, partition pruning, partition-wise joins), parallel query execution, connection pooling (PgBouncer, transaction vs session mode), lock contention (advisory locks, deadlock detection), write optimization (COPY vs INSERT, bulk operations), specialized indexes (GIN, GiST, BRIN, SP-GiST, bloom), JSONB optimization (GIN indexing, jsonb_path_ops), full-text search (tsvector/tsquery, GIN indexes, ranking), materialized views (refresh strategies, concurrent refresh, hybrid patterns), optimizer internals (cost model, statistics histograms, MCVs, custom vs generic plans), database migration (logical replication, sequence sync, cutover choreography), high availability (Patroni, streaming replication, automatic failover), vendor evaluation (RDS vs Aurora vs self-managed vs Citus vs Neon, TCO), enterprise governance (configuration standards, automated query review CI/CD), performance SLAs (tiered latency targets, capacity planning, noisy neighbor isolation), executive communication (ROI, technical debt translation, 10x scaling), read replica optimization (workload routing, replication lag management), data architecture (OLTP/OLAP separation, CDC pipelines), expert shift simulation (Black Friday cascading failure), consulting engagements, benchmarks (pgbench methodology, realistic workload design), board strategy (modernization investment, IPO readiness), AI-powered database (autonomous tuning, pgvector, text-to-SQL safety), M&A integration (schema unification, overlapping customers), behavioral science (choice architecture, nudge systems, developer feedback loops), product development (PostgreSQL performance SaaS), comprehensive database platform (self-service provisioning, GitOps schema management), regulatory compliance (GDPR, HIPAA, PCI DSS, SOX, FedRAMP), master shift simulation (triple M&A + multi-framework compliance + IPO + 10x scaling)
477
+ - **Scenarios**: 50 (10 per level × 5 levels)
478
+ - **Type**: output
479
+ - **Sources**: PostgreSQL documentation (EXPLAIN, indexes, partitioning, parallel query, VACUUM, pg_stat_statements, logical replication), pgbench, PgBouncer, Patroni, pgvector, pg_repack, pgAudit, TimescaleDB, Citus, AWS RDS/Aurora PostgreSQL documentation, Google SRE handbook, GDPR, HIPAA Security Rule, PCI DSS v4.0, SOX, FedRAMP/NIST 800-53, FIPS 140-2, behavioral economics (nudge theory, choice architecture)
480
+
481
+ ### Course 49: Database Query Optimization — MySQL (`mysql-query-optimization`)
482
+ - **Generated**: 2026-02-27
483
+ - **Category**: Development & DevOps
484
+ - **Directory**: `courses/mysql-query-optimization/`
485
+ - **Topics researched**: EXPLAIN output (access types, EXPLAIN FORMAT=JSON, EXPLAIN ANALYZE), InnoDB internals (clustered indexes, secondary indexes, UUID vs auto-increment), N+1 queries, slow query log (pt-query-digest, Performance Schema), WHERE clause optimization (SARGable), InnoDB buffer pool (sizing, LRU, hit ratio), JOIN algorithms (nested-loop, hash join 8.0.18+), composite indexes (leftmost prefix rule), covering/invisible indexes, subquery optimization (semi-join strategies, NOT IN NULL trap), optimizer hints, CTE and window functions, buffer pool tuning, Performance Schema analysis, write optimization (LOAD DATA INFILE, innodb_flush_log_at_trx_commit), partitioning (RANGE/LIST/HASH/KEY, partition pruning), ProxySQL connection management, lock contention (gap locks, deadlocks, isolation levels), JSON optimization (multi-valued indexes), full-text search (FULLTEXT, boolean mode), replication optimization (parallel replication), online schema changes (pt-osc, gh-ost), query profiling (EXPLAIN ANALYZE, optimizer trace, handler counters), monitoring (PMM), HA (InnoDB Cluster, Group Replication, Galera), Aurora vs RDS evaluation, enterprise governance, migration planning (5.7→8.0), performance SLAs, executive communication, optimizer internals, data architecture (sharding, Vitess), read replica scaling, consulting, benchmarks, board strategy, AI-powered database, M&A integration, behavioral science, product development, database platform, regulatory compliance
486
+ - **Scenarios**: 50 (10 per level × 5 levels)
487
+ - **Type**: output
488
+ - **Sources**: MySQL documentation (EXPLAIN, InnoDB, Performance Schema, replication, Online DDL), pt-query-digest, pt-online-schema-change, gh-ost, ProxySQL, MySQL Router, InnoDB Cluster/Group Replication, Galera Cluster, Orchestrator, sysbench, AWS RDS/Aurora MySQL, Percona PMM
489
+
490
+ ### Course 50: Kubernetes Deployment Troubleshooting (`kubernetes-deployment-troubleshooting`)
491
+ - **Generated**: 2026-02-27
492
+ - **Category**: Development & DevOps
493
+ - **Directory**: `courses/kubernetes-deployment-troubleshooting/`
494
+ - **Topics researched**: CrashLoopBackOff (exponential backoff, exit codes, env var mismatches), ImagePullBackOff (registry auth, image tags, pull policies), OOMKilled (cgroup OOM killer, exit code 137, JVM container memory), Pending pods (insufficient resources, taints/tolerations, node affinity), Service connectivity (label selectors, endpoints, port vs targetPort, DNS), health probes (liveness/readiness/startup, timing parameters, slow-start protection), ConfigMaps/Secrets (env vars vs volumes, optional references, base64 encoding), deployment rollout (RollingUpdate, maxSurge/maxUnavailable, rollback, progressDeadlineSeconds), kubectl debugging (describe/logs/exec/port-forward/events/top), PersistentVolume issues (PVC binding, StorageClass, CSI drivers, volumeBindingMode), ResourceQuota/LimitRange (QoS classes, namespace limits), init containers (sequential execution, cross-namespace DNS), DNS resolution (CoreDNS, loop detection, ndots, headless services), NetworkPolicy (default-deny, DNS egress, CNI support), HPA scaling (metrics-server, thrashing, stabilization window), Ingress routing (path types, rewrite-target, TLS), RBAC (Role/ClusterRole, ServiceAccount, kubectl auth can-i), Helm deployment (release management, template debugging, stuck releases), node pressure/eviction (MemoryPressure/DiskPressure/PIDPressure, QoS eviction order), StatefulSet (ordered startup, PVC lifecycle, headless services), service mesh (Istio sidecar injection, mTLS, VirtualService/DestinationRule), monitoring gaps (Prometheus ServiceMonitor, Alertmanager, PrometheusRule), PodDisruptionBudgets (voluntary disruptions, node drain, maintenance), GitOps drift (ArgoCD sync/health, auto-sync, CRD dependencies), multi-container pods (sidecar patterns, shared volumes, native sidecars K8s 1.29+), cluster upgrades (API deprecation, version skew, Pod Security Standards), Job/CronJob (concurrencyPolicy, stuck jobs, history limits), multi-cluster operations (cross-cluster discovery, federated monitoring, failover), capacity planning (right-sizing, VPA, cost optimization, Karpenter), disaster recovery (Velero, etcd backup, RPO/RTO), multi-tenancy (namespace isolation, PCI-DSS compliance, GPU taints), incident management (severity classification, SLO/SLI, blameless postmortems), platform engineering (IDP, golden paths, Backstage, developer experience), security hardening (Pod Security Standards, supply chain security, image scanning), cost optimization (FinOps, spot instances, cost attribution), executive communication (ROI, serverless comparison, business case), consulting engagement (migration assessment, remediation roadmap), industry benchmarks (CNCF maturity model, DORA metrics), board strategy (infrastructure as competitive advantage), cloud-native future (WebAssembly, eBPF, AI/ML workloads, edge), M&A integration (cross-cloud connectivity, team onboarding), behavioral science (cognitive biases in incident response), product development (automated troubleshooting platform), comprehensive platform design, regulatory compliance (SOC2/PCI-DSS/HIPAA/GDPR)
495
+ - **Scenarios**: 50 (10 per level × 5 levels)
496
+ - **Type**: output
497
+ - **Sources**: Kubernetes documentation (pod lifecycle, probes, RBAC, networking, storage, scheduling), Istio/Linkerd service mesh docs, Prometheus/Grafana/Alertmanager, ArgoCD/Flux, Velero backup, Helm, Cilium/eBPF, Karpenter, CNCF Cloud Native Maturity Model, DORA metrics research
498
+
499
+ ### Course 51: Docker Container Debugging (`docker-container-debugging`)
500
+ - **Generated**: 2026-02-27
501
+ - **Category**: Development & DevOps
502
+ - **Directory**: `courses/docker-container-debugging/`
503
+ - **Topics researched**: Container exit codes (0/1/137/139/143, OOMKilled, SIGTERM/SIGKILL), Dockerfile build failures (COPY context, multi-stage FROM, apt-get layers), docker logs debugging (--since, --follow, log drivers, json-file), port mapping (host:container, protocol, bridge network, port conflicts), volume mounts (bind mounts vs named volumes, permissions, :ro/:rw), environment variables (build-time ARG vs runtime ENV, variable expansion, .env files), image pull failures (authentication, manifest platform mismatch, rate limits), container networking (bridge/host/overlay, DNS 127.0.0.11, custom networks), resource limits and OOM (--memory, --cpus, cgroup enforcement), Docker Compose debugging (depends_on conditions, YAML anchors, docker compose config validation), multi-stage build debugging (COPY --from stage references, target builds, intermediate stages), container health checks (HEALTHCHECK CMD, intervals, retries, unhealthy actions), PID 1 signal handling (tini, dumb-init, SIGTERM forwarding, exec form vs shell form), image layer optimization (layer ordering, .dockerignore, multi-stage for size), logging and log rotation (json-file default no rotation, max-size/max-file, logging drivers, fluentd/syslog), security scanning (Trivy, Docker Scout, Snyk, CVE severity, SBOM, CI/CD integration), network debugging tools (netshoot container, tcpdump, nslookup, netcat, ndots DNS issues), docker exec debugging (distroless containers, namespace sharing, zombie processes, /proc inspection), Docker daemon issues (daemon.json validation, storage driver compatibility, journalctl, live-restore), Docker-in-Docker CI/CD (DinD vs socket mounting, TLS configuration, Kaniko/Buildah alternatives), BuildKit optimization (cache mounts, layer ordering, parallel stages, .dockerignore), container security hardening (non-root, capabilities, seccomp, read-only filesystem, no-new-privileges), overlay network debugging (VXLAN, Swarm ports, MTU issues, VIP vs DNSRR), disk space management (docker system df, selective prune, automated cleanup, prevention), container filesystem debugging (overlay2 mechanics, copy-on-write, whiteout files, docker diff), Docker API automation (REST over Unix socket, SDK versioning, race conditions, socket security), production container operations (zero-downtime deployment, graceful shutdown, image tagging, resource monitoring), advanced debugging shift, container orchestration strategy (Swarm vs Kubernetes evaluation, migration), enterprise image management (Harbor registry, golden images, cosign signing, admission control), container monitoring observability (Prometheus/cAdvisor/Grafana, ELK/Loki, OpenTelemetry/Jaeger), CI/CD pipeline design (BuildKit caching, security gates, canary deployment, DORA metrics), container security architecture (defense-in-depth, Docker socket risks, Falco, compliance), stateful service containers (database volumes, backup/restore, HA, version upgrades), multi-environment management (12-factor, Compose overrides, image promotion, dev-prod parity), container performance engineering (cgroup awareness, profiling, overlay2 I/O, right-sizing), incident response for containers (isolation, evidence preservation, forensics, blast radius), expert debugging shift, consulting container strategy (VM-to-container migration, portfolio assessment, ROI), container platform economics (TCO model, right-sizing, spot instances, financial communication), industry container patterns (maturity model, anti-patterns, industry-specific compliance), container platform architecture (IDP, Backstage, self-service, governance layers), regulatory compliance containers (SOC2/PCI-DSS/HIPAA/FedRAMP control mappings), container technology evolution (WebAssembly, eBPF, serverless containers, MicroVMs), board infrastructure strategy (executive narrative, ROI, competitive positioning), disaster recovery containers (tiered RPO/RTO, multi-region, chaos engineering), organizational transformation (change management, team restructuring, DevOps culture), master debugging shift
504
+ - **Scenarios**: 50 (10 per level × 5 levels)
505
+ - **Type**: output
506
+ - **Sources**: Docker documentation (Dockerfile reference, CLI, daemon, networking, storage, security), BuildKit docs, Docker Compose specification, Trivy/Docker Scout/Snyk vulnerability scanners, nicolaka/netshoot, Prometheus/cAdvisor/Grafana, Fluentd/Fluent Bit, OpenTelemetry, Harbor registry, cosign/Sigstore, Falco runtime security, OPA/Kyverno policy engines, Backstage IDP
507
+
508
+ ### Course 52: AWS Lambda Function Debugging (`aws-lambda-debugging`)
509
+ - **Generated**: 2026-02-27
510
+ - **Category**: Development & DevOps
511
+ - **Directory**: `courses/aws-lambda-debugging/`
512
+ - **Topics researched**: Lambda timeout errors (default 3s, max 15min, REPORT line), IAM permission errors (execution role vs resource policy, AccessDenied diagnosis), cold start basics (INIT_START, Init Duration, warm reuse), handler and import errors (Runtime.ImportModuleError, Runtime.HandlerNotFound, packaging), memory and OOM (signal: killed, memory-CPU relationship, Lambda Power Tuning), CloudWatch Logs (log groups/streams, REPORT fields, structured logging, Logs Insights), environment variable issues (name mismatch, KMS encryption, 4KB limit, Secrets Manager), API Gateway integration (proxy response format, CORS, 502/504 errors), invocation errors (sync vs async, throttling, concurrency limits, retry behavior), VPC networking (ENI provisioning, NAT Gateway vs VPC endpoints, Hyperplane ENIs), SQS event source mapping (batch failures, ReportBatchItemFailures, visibility timeout, DLQ), X-Ray tracing (service map, subsegments, annotations, sampling, correlation), DynamoDB Streams (shard blocking, iterator exhaustion, BisectBatchOnFunctionError), cold start optimization (SnapStart, provisioned concurrency, package optimization, warm-up), Lambda Layers (directory structure, version compatibility, merge order, 250MB limit), async invocation failures (retry behavior, DLQ vs Lambda Destinations, MaximumEventAge), SAM local debugging (sam local invoke, start-api, generate-event, breakpoint debugging, RIE), concurrency management (account vs function limits, reserved vs provisioned, downstream protection), Step Functions debugging (Task states, Catch/Retry, error types, execution history), Lambda@Edge (vs CloudFront Functions, regional logs, edge limits, replication delay), cross-account invocation (resource policies, IAM policies, multi-account patterns), EventBridge patterns (event matching, content filtering, rule targets, cross-account), Powertools observability (Logger, Metrics EMF, Tracer, correlation, custom dashboards), container image Lambda (RIC, ECR, cold start impact, RIE local testing), Lambda extensions (lifecycle phases, resource sharing, performance impact), IaC deployment debugging (SAM/CDK/CloudFormation stack states, drift, rollback), Kinesis stream processing (shards, parallelization factor, enhanced fan-out), serverless architecture design (Lambda vs containers, choreography vs orchestration, saga pattern), serverless security (per-function IAM, injection prevention, OWASP), cost optimization (right-sizing, ARM/Graviton2, CloudWatch costs, FinOps), multi-region serverless (active-active, DynamoDB Global Tables, Route53 failover), testing strategy (testing pyramid, mocking AWS SDK, contract testing), observability platform (centralized logging, cross-account tracing, alert strategy), incident management (actionable alerts, runbooks, automated remediation, SLOs), serverless migration (strangler fig, monolith decomposition, RDS Proxy), serverless data architecture (DynamoDB patterns, CDC pipeline, Athena/S3 analytics), consulting engagement (readiness assessment, migration roadmap, ROI), serverless economics (TCO comparison, break-even analysis, decision framework), board strategy (executive narrative, DORA metrics, risk analysis), technology evolution (SnapStart, Wasm, AI/ML, edge computing), industry patterns (fintech, healthcare, e-commerce, IoT maturity), regulatory compliance (SOC2/PCI-DSS/HIPAA/GDPR shared responsibility), serverless platform design (CDK constructs, self-service, governance), organizational transformation (change management, training, culture), M&A integration (account consolidation, data merge, team onboarding)
513
+ - **Scenarios**: 50 (10 per level × 5 levels)
514
+ - **Type**: output
515
+ - **Sources**: AWS Lambda documentation (lifecycle, invocation types, event sources, VPC, layers, extensions), AWS SAM/CDK documentation, API Gateway docs, CloudWatch/X-Ray monitoring, Step Functions workflow docs, DynamoDB Streams, SQS/SNS/EventBridge, Kinesis Data Streams, Lambda Powertools (Python/TypeScript/Java), AWS Well-Architected Serverless Lens, DORA metrics research
@@ -0,0 +1,11 @@
1
+ id: aws-lambda-debugging
2
+ name: "AWS Lambda Function Debugging"
3
+ description: >
4
+ Master AWS Lambda function debugging from basic invocation errors to
5
+ enterprise serverless platform operations. Learn to diagnose cold starts,
6
+ timeout issues, permission failures, memory problems, event source mapping
7
+ errors, layer conflicts, VPC connectivity, Step Functions orchestration,
8
+ and production serverless operations at scale.
9
+ levels: 5
10
+ scenarios_per_level: 10
11
+ tags: [development, AWS, Lambda, serverless, debugging, cloud, FaaS, event-driven]
@@ -0,0 +1,71 @@
1
+ meta:
2
+ id: api-gateway-integration
3
+ level: 1
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Debug Lambda and API Gateway integration — diagnose response format errors, CORS issues, and proxy integration mismatches"
7
+ tags: [AWS, Lambda, API-Gateway, CORS, proxy-integration, response-format, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your Lambda function works when invoked directly but returns 502
13
+ Bad Gateway when called through API Gateway:
14
+
15
+ $ curl https://api.example.com/orders
16
+ {"message": "Internal server error"}
17
+
18
+ API Gateway CloudWatch Logs show:
19
+ Execution failed due to configuration error:
20
+ Malformed Lambda proxy response
21
+
22
+ The Lambda function returns:
23
+ return { "statusCode": 200, "body": orders }
24
+
25
+ But API Gateway Lambda Proxy Integration requires a specific format:
26
+ {
27
+ "statusCode": 200,
28
+ "headers": { "Content-Type": "application/json" },
29
+ "body": "{\"orders\": [...]}" // body MUST be a string!
30
+ }
31
+
32
+ The body must be a JSON string, not an object. And headers must
33
+ be included.
34
+
35
+ After fixing the response format, a CORS error appears:
36
+ Access to XMLHttpRequest at 'https://api.example.com/orders'
37
+ from origin 'https://myapp.com' has been blocked by CORS policy:
38
+ No 'Access-Control-Allow-Origin' header is present.
39
+
40
+ CORS headers must be returned by the Lambda function (not just
41
+ configured in API Gateway for proxy integration):
42
+ {
43
+ "statusCode": 200,
44
+ "headers": {
45
+ "Content-Type": "application/json",
46
+ "Access-Control-Allow-Origin": "https://myapp.com",
47
+ "Access-Control-Allow-Methods": "GET,POST,OPTIONS",
48
+ "Access-Control-Allow-Headers": "Content-Type,Authorization"
49
+ },
50
+ "body": JSON.stringify({ orders: [...] })
51
+ }
52
+
53
+ Task: Explain API Gateway + Lambda debugging. Write: the proxy
54
+ integration response format requirement, common response format
55
+ errors and fixes, CORS with Lambda proxy, API Gateway error codes
56
+ (502 = malformed response, 504 = Lambda timeout, 403 = auth),
57
+ and how to test API Gateway integrations.
58
+
59
+ assertions:
60
+ - type: llm_judge
61
+ criteria: "Response format is explained — Lambda proxy integration requires: statusCode (integer), headers (object, optional but recommended), body (string — must JSON.stringify objects!), isBase64Encoded (boolean, for binary). Missing statusCode or non-string body = 502 Malformed Lambda proxy response. Common mistake: returning a raw object instead of JSON.stringify for body. Non-proxy integration allows mapping templates but is more complex to configure"
62
+ weight: 0.35
63
+ description: "Response format"
64
+ - type: llm_judge
65
+ criteria: "CORS and error codes are covered — CORS with proxy integration: Lambda must return Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers in response headers. API Gateway CORS configuration only handles the OPTIONS preflight — actual response headers come from Lambda. Error codes: 502 = malformed Lambda response or Lambda error, 504 = Lambda timeout (API GW has 29s hard limit), 403 = missing/invalid API key or authorizer rejection, 429 = throttled. Check API Gateway execution logs (enable in stage settings) for details"
66
+ weight: 0.35
67
+ description: "CORS and errors"
68
+ - type: llm_judge
69
+ criteria: "Testing approach is practical — test Lambda independently first: aws lambda invoke. Then test via API Gateway: use the API Gateway console's test feature (shows request/response transformation). Use curl -v to see full HTTP response headers. Enable API Gateway execution logging (detailed) for debugging. Check both Lambda CloudWatch Logs and API Gateway CloudWatch Logs. Use AWS SAM CLI (sam local start-api) for local testing of the full API Gateway → Lambda integration. Postman or httpie for systematic API testing"
70
+ weight: 0.30
71
+ description: "Testing approach"
@@ -0,0 +1,64 @@
1
+ meta:
2
+ id: cloudwatch-logs-basics
3
+ level: 1
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Debug Lambda with CloudWatch Logs — read log streams, understand the REPORT line, and use structured logging for effective debugging"
7
+ tags: [AWS, Lambda, CloudWatch, logs, REPORT, structured-logging, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your Lambda function returns an error but you don't know why.
13
+ Time to check the logs:
14
+
15
+ $ aws logs filter-log-events \
16
+ --log-group-name /aws/lambda/process-order \
17
+ --start-time 1701432000000
18
+
19
+ Each invocation produces these log entries:
20
+
21
+ START RequestId: abc-123 Version: $LATEST
22
+ 2024-12-01T10:00:00.123Z abc-123 INFO Processing order: ORD-456
23
+ 2024-12-01T10:00:00.456Z abc-123 INFO Fetching customer: CUST-789
24
+ 2024-12-01T10:00:01.789Z abc-123 ERROR Customer not found: CUST-789
25
+ 2024-12-01T10:00:01.790Z abc-123 ERROR {
26
+ "errorType": "CustomerNotFoundError",
27
+ "errorMessage": "Customer CUST-789 does not exist",
28
+ "stackTrace": ["at getCustomer (/var/task/handler.js:25:11)"]
29
+ }
30
+ END RequestId: abc-123
31
+ REPORT RequestId: abc-123 Duration: 1667.45 ms
32
+ Billed Duration: 1668 ms Memory Size: 256 MB
33
+ Max Memory Used: 89 MB Init Duration: 423.12 ms
34
+
35
+ Understanding the REPORT line:
36
+ - Duration: actual execution time (1667.45ms)
37
+ - Billed Duration: rounded up for billing (1668ms)
38
+ - Memory Size: configured memory (256MB)
39
+ - Max Memory Used: peak memory during execution (89MB)
40
+ - Init Duration: cold start initialization time (only on cold starts)
41
+
42
+ Problem: The logs are unstructured text, making it hard to search
43
+ across thousands of invocations. Better approach: structured JSON
44
+ logging with correlation IDs.
45
+
46
+ Task: Explain CloudWatch Logs for Lambda debugging. Write: how
47
+ Lambda logs are organized (log groups, log streams), understanding
48
+ the REPORT line metrics, structured logging best practices (JSON
49
+ format, correlation IDs), searching logs (filter patterns, Logs
50
+ Insights queries), and common logging mistakes to avoid.
51
+
52
+ assertions:
53
+ - type: llm_judge
54
+ criteria: "Log organization is explained — log group: /aws/lambda/<function-name> (one per function). Log streams: one per execution environment (not per invocation — multiple warm invocations share a stream). Each invocation has START, your logs, END, and REPORT markers. RequestId links all entries for one invocation. CloudWatch Logs Insights: SQL-like query language to search across streams. Example: filter @message like /ERROR/ | stats count() by bin(1h)"
55
+ weight: 0.35
56
+ description: "Log organization"
57
+ - type: llm_judge
58
+ criteria: "REPORT line and structured logging are covered — REPORT fields: Duration (actual), Billed Duration (billing), Memory Size (configured), Max Memory Used (peak, for right-sizing), Init Duration (cold start only, absent on warm). XRAY TraceId appears if tracing enabled. Structured logging: use JSON format with consistent fields (requestId, level, message, timestamp). Libraries: Powertools for AWS Lambda (Python/TypeScript/Java) provides structured logging, tracing, metrics. Include correlation IDs (orderId, customerId) for tracing business transactions"
59
+ weight: 0.35
60
+ description: "REPORT and structured logging"
61
+ - type: llm_judge
62
+ criteria: "Practical tips are included — common mistakes: logging sensitive data (PII, credentials), excessive logging (increases costs and CloudWatch charges), not setting log retention (logs stored forever by default = growing costs). Set retention policy: 7/14/30 days based on needs. Use log levels (DEBUG in dev, INFO/WARN in prod). CloudWatch Logs Insights queries are powerful: parse, filter, stats, sort. Cost awareness: CloudWatch Logs charged per GB ingested — structured logging with appropriate levels controls costs"
63
+ weight: 0.30
64
+ description: "Practical tips"
@@ -0,0 +1,70 @@
1
+ meta:
2
+ id: cold-start-basics
3
+ level: 1
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Debug Lambda cold start issues — understand cold vs warm invocations, identify cold start impact, and apply basic optimization techniques"
7
+ tags: [AWS, Lambda, cold-start, performance, initialization, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Users complain that your API is "sometimes slow." CloudWatch metrics
13
+ show the Lambda function behind API Gateway has inconsistent latency:
14
+
15
+ Most requests: 50-100ms
16
+ Some requests: 2,000-5,000ms (40x slower!)
17
+
18
+ CloudWatch Logs reveal the pattern:
19
+
20
+ Slow invocation (cold start):
21
+ INIT_START Runtime Version: nodejs20.x
22
+ START RequestId: abc-123
23
+ 2024-12-01T10:00:00.000Z Connecting to database...
24
+ 2024-12-01T10:00:01.500Z Database connected
25
+ 2024-12-01T10:00:02.000Z Processing request...
26
+ END RequestId: abc-123
27
+ REPORT RequestId: abc-123 Duration: 2100.00 ms
28
+ Billed Duration: 2100 ms Init Duration: 1850.00 ms
29
+
30
+ Fast invocation (warm):
31
+ START RequestId: def-456
32
+ 2024-12-01T10:01:00.000Z Processing request...
33
+ END RequestId: def-456
34
+ REPORT RequestId: def-456 Duration: 55.00 ms
35
+ Billed Duration: 56 ms
36
+
37
+ The key difference: "Init Duration" appears only on cold starts.
38
+ This is the time Lambda takes to:
39
+ 1. Download your code package
40
+ 2. Start the runtime (Node.js/Python/Java)
41
+ 3. Run initialization code (imports, DB connections, SDK setup)
42
+
43
+ After a cold start, the execution environment is reused for
44
+ subsequent invocations (warm starts) — no Init Duration.
45
+
46
+ Cold starts happen when:
47
+ - First invocation after deployment
48
+ - Scaling up (new concurrent executions)
49
+ - After ~15 minutes of inactivity (environment recycled)
50
+
51
+ Task: Explain Lambda cold starts. Write: what causes cold starts,
52
+ how to identify them in logs (INIT_START, Init Duration in REPORT),
53
+ factors affecting cold start duration (package size, runtime,
54
+ memory, VPC), basic optimizations (minimize dependencies, increase
55
+ memory, init code outside handler), and when cold starts matter
56
+ vs when they don't.
57
+
58
+ assertions:
59
+ - type: llm_judge
60
+ criteria: "Cold start mechanics are explained — cold start = Lambda creates new execution environment (download code, start runtime, run init). Identified by: INIT_START in logs, Init Duration in REPORT line. Warm start reuses existing environment — no init overhead. Cold starts happen: first invocation, scaling up new instances, after idle timeout (~15 min). Factors: package size (larger = slower download), runtime (Java/C# slowest, Python/Node fastest), memory setting (more memory = more CPU = faster init), VPC adds ENI attachment time"
61
+ weight: 0.35
62
+ description: "Cold start mechanics"
63
+ - type: llm_judge
64
+ criteria: "Basic optimizations are covered — minimize package size: remove unused dependencies, use tree shaking, use Lambda layers for shared code. Increase memory: Lambda allocates CPU proportional to memory — 1769MB = 1 vCPU. Higher memory = faster initialization. Init code outside handler: database connections, SDK clients created at module level are reused across warm invocations. Avoid importing unused modules. For critical latency: provisioned concurrency keeps environments warm (eliminates cold starts entirely)"
65
+ weight: 0.35
66
+ description: "Basic optimizations"
67
+ - type: llm_judge
68
+ criteria: "When cold starts matter is explained — matters: synchronous APIs (user-facing latency), real-time processing. Doesn't matter: async processing (SQS consumers, S3 events), batch jobs, scheduled tasks. Cold start frequency: at steady traffic with consistent load, most invocations are warm. Spiky traffic causes more cold starts. Monitor: CloudWatch metric ConcurrentExecutions shows scaling events. p99 latency includes cold starts, p50 typically doesn't. Evaluate whether cold start optimization is worth the effort based on actual user impact"
69
+ weight: 0.30
70
+ description: "When it matters"
@@ -0,0 +1,72 @@
1
+ meta:
2
+ id: environment-variable-issues
3
+ level: 1
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Debug Lambda environment variable issues — diagnose missing, incorrect, or encrypted environment variables and configuration problems"
7
+ tags: [AWS, Lambda, environment-variables, configuration, KMS, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your Lambda function fails with a connection error:
13
+
14
+ {
15
+ "errorType": "Error",
16
+ "errorMessage": "connect ECONNREFUSED 127.0.0.1:5432"
17
+ }
18
+
19
+ The function tries to connect to a database but the connection
20
+ string is wrong. Checking the code:
21
+
22
+ const dbHost = process.env.DATABASE_URL;
23
+ // dbHost is undefined!
24
+
25
+ The environment variable is named DB_URL in the Lambda configuration
26
+ but the code expects DATABASE_URL. Classic mismatch.
27
+
28
+ $ aws lambda get-function-configuration --function-name my-func \
29
+ --query "Environment.Variables"
30
+ {
31
+ "DB_URL": "postgresql://prod-db.example.com:5432/mydb",
32
+ "API_KEY": "sk-prod-abc123..."
33
+ }
34
+
35
+ Issues found:
36
+
37
+ 1. Variable name mismatch — DB_URL vs DATABASE_URL. Case-sensitive.
38
+
39
+ 2. API_KEY is stored as plain text in the Lambda configuration.
40
+ Anyone with lambda:GetFunctionConfiguration permission can see
41
+ it. Should use AWS Secrets Manager or encrypted env vars.
42
+
43
+ 3. After fixing the name, the function still fails in a new
44
+ deployment. The developer tested with staging env vars but
45
+ deployed to production without updating them. No environment-
46
+ specific configuration management.
47
+
48
+ 4. Environment variables have a 4KB total size limit. A function
49
+ with many config values hits this limit:
50
+ "InvalidParameterValueException: Lambda was unable to configure
51
+ your environment variables because the environment variables you
52
+ have provided exceeded the 4KB limit."
53
+
54
+ Task: Explain Lambda environment variable debugging. Write: how to
55
+ check and set environment variables (CLI, console, IaC), common
56
+ mistakes (name mismatches, case sensitivity), encryption with KMS,
57
+ the 4KB limit and alternatives (Secrets Manager, Parameter Store,
58
+ S3), and environment management across stages.
59
+
60
+ assertions:
61
+ - type: llm_judge
62
+ criteria: "Environment variable basics are explained — env vars set via console, CLI (aws lambda update-function-configuration --environment), or IaC (SAM/CDK/Terraform). Variables are key-value strings, case-sensitive. Available via process.env (Node.js), os.environ (Python), System.getenv (Java). Common errors: name mismatch between code and config, forgetting to set in new deployments, using wrong values for the environment (staging vs production). Variables are set at deploy time, not runtime"
63
+ weight: 0.35
64
+ description: "Environment variable basics"
65
+ - type: llm_judge
66
+ criteria: "Security and limits are covered — env vars visible to anyone with lambda:GetFunctionConfiguration permission. Sensitive values: use AWS Secrets Manager (automatic rotation, cross-account access) or SSM Parameter Store (simpler, cheaper). KMS encryption: Lambda can encrypt env vars with custom KMS key — decrypted at runtime. 4KB total limit for all env vars combined. For large config: use Parameter Store (up to 8KB standard, 64KB advanced) or S3 for config files. Never put secrets in plain text env vars — use Secrets Manager"
67
+ weight: 0.35
68
+ description: "Security and limits"
69
+ - type: llm_judge
70
+ criteria: "Environment management is practical — use IaC (SAM, CDK) with environment-specific parameter files. SAM: --parameter-overrides for stage-specific values. CDK: separate stacks or context variables per environment. Never hardcode environment-specific values in code. Pattern: store environment name as env var (STAGE=prod), look up other config from Parameter Store using STAGE prefix. Validate required env vars at function initialization (fail fast if missing). Use .env files for local development (SAM local supports --env-vars)"
71
+ weight: 0.30
72
+ description: "Environment management"
@@ -0,0 +1,73 @@
1
+ meta:
2
+ id: first-debugging-shift
3
+ level: 1
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Combined first debugging shift — diagnose a Lambda-based API with timeout, permission, memory, and configuration issues simultaneously"
7
+ tags: [AWS, Lambda, troubleshooting, combined, shift-simulation, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You've joined a team that has a serverless API with 4 Lambda
13
+ functions behind API Gateway. "The API is broken" — users report
14
+ various errors. You need to triage everything:
15
+
16
+ $ curl https://api.example.com/orders
17
+ → 502 Bad Gateway
18
+
19
+ $ curl https://api.example.com/users
20
+ → 504 Gateway Timeout (after 29 seconds)
21
+
22
+ $ curl https://api.example.com/products
23
+ → 403 {"message": "Forbidden"}
24
+
25
+ $ curl https://api.example.com/payments
26
+ → 200 but returns empty data instead of payment records
27
+
28
+ Investigation:
29
+
30
+ 1. /orders → 502: Lambda returns malformed response.
31
+ CloudWatch Logs: function returns {body: orders} without
32
+ statusCode and body is not a string. Fix: proper proxy
33
+ integration response format.
34
+
35
+ 2. /users → 504: Lambda times out.
36
+ REPORT: Duration 29001ms, timeout is 30s. Function connects
37
+ to RDS in VPC but has no NAT Gateway for the Secrets Manager
38
+ call that retrieves the DB password. The Secrets Manager call
39
+ hangs because there's no internet access from the private subnet.
40
+ Fix: add VPC endpoint for Secrets Manager, or add NAT Gateway.
41
+
42
+ 3. /products → 403: API key required but not sent.
43
+ API Gateway has "API Key Required: true" on this method but
44
+ documentation doesn't mention it. The API key is correct in
45
+ the x-api-key header. Fix: send the API key header, or remove
46
+ the API key requirement if it's unintended.
47
+
48
+ 4. /payments → 200 but empty: Lambda runs successfully but
49
+ DynamoDB query returns no items. The function reads from
50
+ table "Payments" but the actual table is "payments-prod"
51
+ (different name). The IAM role has permission on "payments-prod"
52
+ but the code hardcodes "Payments". Fix: use environment variable
53
+ for table name, update code to match actual table.
54
+
55
+ Task: Walk through diagnosing all four issues. Write: the triage
56
+ approach (check HTTP status codes, then CloudWatch Logs), how
57
+ to debug each error type, the VPC Lambda networking gotcha,
58
+ API Gateway configuration checks, and lessons learned for
59
+ preventing these issues.
60
+
61
+ assertions:
62
+ - type: llm_judge
63
+ criteria: "All four issues are diagnosed — (1) 502 malformed response: fix Lambda proxy response format (statusCode, string body). (2) 504 timeout: VPC Lambda needs NAT Gateway or VPC endpoints for AWS service access. (3) 403 API key: check API Gateway method settings for required API key, send x-api-key header. (4) 200 empty data: code references wrong DynamoDB table name — use environment variables for resource names, not hardcoded strings"
64
+ weight: 0.35
65
+ description: "All issues diagnosed"
66
+ - type: llm_judge
67
+ criteria: "Triage methodology is systematic — start with HTTP status code (tells error category: 4xx client, 5xx server). Check API Gateway logs first (shows if error is in API GW config or Lambda). Then check Lambda CloudWatch Logs for each function. Read the REPORT line for timeout/memory issues. Check IAM for permission issues. Check VPC configuration for networking issues. Work through issues by severity: 502/504 first (service down), then 403 (auth), then data issues"
68
+ weight: 0.35
69
+ description: "Triage methodology"
70
+ - type: llm_judge
71
+ criteria: "Prevention lessons are practical — use IaC (SAM/CDK) for consistent configuration. Use environment variables for all resource names (table names, queue URLs, bucket names). Test Lambda responses match API Gateway proxy format before deploying. For VPC Lambda: always plan networking (NAT Gateway or VPC endpoints for AWS services). Document API requirements (API keys, auth). Use local testing (SAM CLI) to catch errors before deployment. Set up CloudWatch alarms for Errors, Throttles, Duration"
72
+ weight: 0.30
73
+ description: "Prevention lessons"
@@ -0,0 +1,71 @@
1
+ meta:
2
+ id: handler-import-errors
3
+ level: 1
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Debug Lambda handler and import errors — diagnose module not found, handler not found, and dependency packaging issues"
7
+ tags: [AWS, Lambda, handler, import, module-not-found, packaging, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your Lambda function fails immediately on invocation:
13
+
14
+ {
15
+ "errorType": "Runtime.ImportModuleError",
16
+ "errorMessage": "Unable to import module 'handler': No module named 'requests'"
17
+ }
18
+
19
+ The function works locally but fails in Lambda. The issue: the
20
+ 'requests' library isn't included in the deployment package.
21
+
22
+ Lambda runtimes only include standard library modules. Third-party
23
+ dependencies must be packaged with your code:
24
+
25
+ # Python — create deployment package with dependencies:
26
+ pip install requests -t ./package/
27
+ cd package && zip -r ../deployment.zip . && cd ..
28
+ zip deployment.zip handler.py
29
+
30
+ Another common error:
31
+ {
32
+ "errorType": "Runtime.HandlerNotFound",
33
+ "errorMessage": "Handler 'app.handler' missing on module 'app'"
34
+ }
35
+
36
+ Causes:
37
+ 1. Wrong handler configuration — Lambda handler format is file.function
38
+ (Python: handler.lambda_handler, Node: index.handler)
39
+ 2. File is in a subdirectory but handler doesn't include the path
40
+ (src/handler.lambda_handler won't work — zip must have handler.py
41
+ at the root)
42
+ 3. Typo in function name
43
+
44
+ Node.js variant:
45
+ {
46
+ "errorType": "Runtime.UserCodeSyntaxError",
47
+ "errorMessage": "SyntaxError: Cannot use import statement outside a module"
48
+ }
49
+
50
+ Using ES modules (import/export) requires either:
51
+ - File extension .mjs, or
52
+ - "type": "module" in package.json
53
+
54
+ Task: Explain Lambda handler and import debugging. Write: the handler
55
+ format for each runtime (Python, Node.js, Java), common import/module
56
+ errors and their causes, how to package dependencies correctly (zip,
57
+ layers, container images), and the deployment package structure.
58
+
59
+ assertions:
60
+ - type: llm_judge
61
+ criteria: "Handler format is explained — Python: file_name.function_name (e.g., handler.lambda_handler). Node.js: file_name.export_name (e.g., index.handler). Java: package.Class::method. The handler file must be at the root of the zip or in the path specified. Runtime.HandlerNotFound: file or function doesn't exist at the expected location. Runtime.ImportModuleError: dependency not included in package. Always test with lambda invoke locally (SAM CLI) before deploying"
62
+ weight: 0.35
63
+ description: "Handler format"
64
+ - type: llm_judge
65
+ criteria: "Dependency packaging is covered — Python: pip install -t ./package/, include in zip. Use requirements.txt. Node.js: npm install in project, zip node_modules with code. Lambda Layers: shared dependencies across functions (up to 5 layers, 250MB unzipped total). Container images: full control over runtime and dependencies (up to 10GB). Common mistakes: installing for wrong OS (Lambda runs Amazon Linux — build on Linux or use Docker), missing native modules (needs compilation for Lambda architecture: x86_64 or arm64)"
66
+ weight: 0.35
67
+ description: "Dependency packaging"
68
+ - type: llm_judge
69
+ criteria: "Debugging workflow is practical — check CloudWatch Logs first (error type tells you the category). Runtime.ImportModuleError: dependency missing from package or layer. Runtime.HandlerNotFound: wrong handler config or file structure. Runtime.UserCodeSyntaxError: code syntax issue (ESM vs CJS for Node.js). Test locally: AWS SAM CLI (sam local invoke) simulates Lambda environment. Check package structure: unzip -l deployment.zip to verify file locations. Verify architecture: Lambda ARM (Graviton2) needs arm64 native dependencies"
70
+ weight: 0.30
71
+ description: "Debugging workflow"
@@ -0,0 +1,68 @@
1
+ meta:
2
+ id: iam-permission-errors
3
+ level: 1
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Debug Lambda IAM permission errors — diagnose AccessDenied errors from missing or incorrect IAM policies"
7
+ tags: [AWS, Lambda, IAM, permissions, AccessDenied, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your Lambda function fails when trying to read from S3:
13
+
14
+ {
15
+ "errorType": "AccessDeniedException",
16
+ "errorMessage": "User: arn:aws:sts::123456789012:assumed-role/
17
+ process-order-role/process-order is not authorized to perform:
18
+ s3:GetObject on resource: arn:aws:s3:::my-bucket/orders/*"
19
+ }
20
+
21
+ The error clearly states what's missing: s3:GetObject permission on
22
+ the specific S3 bucket and path.
23
+
24
+ Checking the Lambda's execution role:
25
+ $ aws iam get-role --role-name process-order-role
26
+ $ aws iam list-attached-role-policies --role-name process-order-role
27
+
28
+ The role only has AWSLambdaBasicExecutionRole (CloudWatch Logs).
29
+ It needs an additional policy for S3 access.
30
+
31
+ Fix:
32
+ $ aws iam put-role-policy --role-name process-order-role \
33
+ --policy-name S3ReadAccess \
34
+ --policy-document '{
35
+ "Version": "2012-10-17",
36
+ "Statement": [{
37
+ "Effect": "Allow",
38
+ "Action": "s3:GetObject",
39
+ "Resource": "arn:aws:s3:::my-bucket/orders/*"
40
+ }]
41
+ }'
42
+
43
+ Common IAM mistakes with Lambda:
44
+ 1. Using s3:* instead of specific actions (security risk)
45
+ 2. Using Resource: "*" instead of specific ARNs
46
+ 3. Forgetting that Lambda needs TWO types of permissions:
47
+ - Execution role: what the function CAN DO (call S3, DynamoDB)
48
+ - Resource policy: who can INVOKE the function (API GW, S3 events)
49
+ 4. Policy changes take a few seconds to propagate
50
+
51
+ Task: Explain Lambda IAM debugging. Write: how to read AccessDenied
52
+ errors (they tell you exactly what's missing), the execution role
53
+ vs resource policy distinction, principle of least privilege for
54
+ Lambda, common IAM mistakes, and how to test permissions.
55
+
56
+ assertions:
57
+ - type: llm_judge
58
+ criteria: "IAM error reading is explained — AccessDenied errors include: the principal (Lambda execution role ARN), the action attempted (s3:GetObject), and the resource ARN. This tells you exactly what permission to add. Two permission types: execution role (attached IAM role — what Lambda can do: read S3, write DynamoDB, publish SNS) and resource-based policy (who can invoke Lambda: API Gateway, S3 event notifications, CloudWatch Events). Both must be correct"
59
+ weight: 0.35
60
+ description: "IAM error reading"
61
+ - type: llm_judge
62
+ criteria: "Common mistakes and fixes are covered — overly broad permissions (s3:* on Resource: * is dangerous). Always specify exact actions and resource ARNs. Forgetting to add AWSLambdaBasicExecutionRole (needed for CloudWatch Logs). VPC Lambda needs AWSLambdaVPCAccessExecutionRole. Policy propagation delay (wait a few seconds after policy changes). KMS permissions needed when using encrypted resources. Cross-account access requires both resource policy and execution role permissions"
63
+ weight: 0.35
64
+ description: "Common mistakes"
65
+ - type: llm_judge
66
+ criteria: "Testing and best practices are practical — test permissions: aws iam simulate-principal-policy. Use AWS IAM Access Analyzer to identify overly permissive policies. Start with no permissions, add as needed (least privilege). Use managed policies for common patterns (AmazonDynamoDBReadOnlyAccess). CloudTrail logs every API call — search for AccessDenied events. Use IAM policy conditions for additional security (restrict by source IP, time, VPC). Tag Lambda roles for identification"
67
+ weight: 0.30
68
+ description: "Testing and practices"