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
@@ -0,0 +1,75 @@
1
+ meta:
2
+ id: ma-serverless-integration
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "M&A serverless integration — design the technical integration plan for merging two companies' serverless platforms during an acquisition"
7
+ tags: [AWS, Lambda, M&A, integration, acquisition, multi-account, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company (acquirer, 200 Lambda functions on AWS) is acquiring
13
+ a competitor (target, 150 Lambda functions on AWS). Both companies
14
+ run serverless platforms but with different practices:
15
+
16
+ Acquirer (your company):
17
+ - AWS Organization with 5 accounts (dev, staging, prod, shared, security)
18
+ - CDK for IaC, standardized templates
19
+ - Powertools for observability
20
+ - SOC2 Type II compliant
21
+ - Monthly AWS bill: $80K
22
+
23
+ Target company:
24
+ - Single AWS account (everything in one account!)
25
+ - Serverless Framework for some, console deployments for others
26
+ - Mixed logging (console.log, Winston, no standard)
27
+ - No compliance certifications
28
+ - Monthly AWS bill: $45K
29
+ - Different AWS region (eu-west-1 vs your us-east-1)
30
+
31
+ Integration challenges:
32
+
33
+ 1. Account structure: target's single-account needs separation
34
+ into your multi-account Organization structure.
35
+
36
+ 2. IaC migration: 60% of target's functions deployed via console
37
+ need to be captured in CDK.
38
+
39
+ 3. Observability: no structured logging means you can't monitor
40
+ target's services through your unified dashboard.
41
+
42
+ 4. Data: target uses RDS PostgreSQL, you use DynamoDB. Customer
43
+ data must be merged without downtime.
44
+
45
+ 5. Compliance: target must achieve SOC2 compliance within 12 months
46
+ of acquisition (contractual requirement).
47
+
48
+ 6. Team integration: target's 30 engineers need onboarding to
49
+ your platform, tools, and processes.
50
+
51
+ 7. Domain overlap: both companies have "user-service" and
52
+ "payment-service" Lambda functions that need consolidation.
53
+
54
+ Timeline: 18 months for full integration, 6 months for critical
55
+ path items.
56
+
57
+ Task: Design the M&A integration plan for serverless. Write:
58
+ account consolidation strategy, IaC migration approach, data
59
+ merge strategy, compliance remediation, team onboarding, service
60
+ consolidation (which services to keep from each company), timeline,
61
+ and risk mitigation.
62
+
63
+ assertions:
64
+ - type: llm_judge
65
+ criteria: "Account and IaC migration are planned — phase 1 (month 1-3): invite target's account into your AWS Organization, apply SCPs for governance. Create dedicated accounts for target's workloads (dev/staging/prod). Phase 2 (month 3-6): use aws lambda get-function to export all console-deployed functions, convert to CDK constructs. Prioritize by business criticality. Use CloudFormation import to bring existing resources under IaC management. Don't migrate everything at once — target's services keep running in their original account while migration happens"
66
+ weight: 0.35
67
+ description: "Account and IaC"
68
+ - type: llm_judge
69
+ criteria: "Data merge and compliance are covered — data strategy: don't merge databases immediately. Use API layer to abstract data location. Phase 1: cross-account access (Lambda in acquirer account reads target's RDS via VPC peering). Phase 2: gradual data migration with dual-write period. Customer identity merge: create a unified identity service that maps both systems. Compliance: apply acquirer's SOC2 controls to target's infrastructure incrementally. Start with critical controls (access management, encryption, logging) in month 1-3. Full SOC2 audit readiness by month 12. Cross-region: use DynamoDB Global Tables or Aurora Global for data replication between us-east-1 and eu-west-1"
70
+ weight: 0.35
71
+ description: "Data and compliance"
72
+ - type: llm_judge
73
+ criteria: "Team and service integration are practical — team onboarding: 2-week bootcamp on acquirer's platform (CDK, Powertools, CI/CD pipeline). Pair target engineers with acquirer engineers for 3 months. Don't force immediate tool changes — let teams migrate at their pace with deadlines. Service consolidation: evaluate each overlapping service (user-service, payment-service) — keep the one with better architecture/test coverage, migrate the other's unique features. Don't rewrite — adapt and extend. Risk mitigation: keep target's original services running for 6+ months as fallback. Integration manager role: dedicated person coordinates across teams. Track: integration milestones, service migration completion %, team satisfaction"
74
+ weight: 0.30
75
+ description: "Team and service"
@@ -0,0 +1,61 @@
1
+ meta:
2
+ id: master-debugging-shift
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Combined master debugging shift — serve as fractional CTO advising on a complete serverless platform strategy encompassing technology, people, process, and business alignment"
7
+ tags: [AWS, Lambda, troubleshooting, combined, shift-simulation, CTO, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're engaged as a fractional CTO for a Series C healthtech
13
+ startup ($75M raised, 150 engineers). They've been all-in on
14
+ serverless for 3 years with 500+ Lambda functions. Growing pains
15
+ are threatening their Series D fundraising.
16
+
17
+ Technical challenges:
18
+ - 500+ Lambda functions with no naming convention or catalog
19
+ - Step Functions workflows with 30+ states, no error handling
20
+ - Monthly AWS bill: $120K, growing 20% month-over-month
21
+ - Cold start complaints from enterprise customers (healthcare
22
+ portals require sub-second response for clinical workflows)
23
+ - Last month: 3 incidents with MTTR > 2 hours each
24
+ - No multi-region: single us-east-1 deployment (enterprise
25
+ customers require 99.99% availability)
26
+ - HIPAA compliance gaps found during customer audit
27
+
28
+ People challenges:
29
+ - 3-person platform team supporting 150 engineers (understaffed)
30
+ - No on-call rotation — CTO handles all production incidents
31
+ - Engineers deployed to production via console (no IaC for 30%
32
+ of functions)
33
+ - No security engineer — HIPAA compliance is "everyone's job"
34
+ (meaning nobody's job)
35
+
36
+ Business context:
37
+ - Series D fundraising in 6 months
38
+ - 5 enterprise prospects (each $2M+ ARR) requiring SOC2 + HIPAA
39
+ - Board concerned about infrastructure maturity
40
+ - Competing with well-funded rivals who have production-grade platforms
41
+ - CEO: "Fix the platform. We can't lose these enterprise deals."
42
+
43
+ Task: Design the comprehensive 6-month roadmap for Series D
44
+ readiness. Write: phased approach (stabilize → secure → scale →
45
+ optimize), technology decisions, hiring plan (who and when), HIPAA
46
+ compliance sprint, cost optimization targets, enterprise readiness
47
+ metrics, and the board presentation talking points.
48
+
49
+ assertions:
50
+ - type: llm_judge
51
+ criteria: "Phased roadmap is realistic — Month 1-2 (Stabilize): hire security engineer, implement on-call rotation, migrate console-deployed functions to IaC, add error handling to critical Step Functions, implement Powertools logging across all functions. Month 2-3 (Secure): HIPAA gap remediation (encryption, access logging, data classification, BAA verification), SOC2 Type I preparation, fix IAM overpermission. Month 3-5 (Scale): multi-region for enterprise customers (active-passive initially), provisioned concurrency for clinical endpoints, expand platform team. Month 5-6 (Optimize): cost optimization (right-size, ARM, reduce CloudWatch costs), enterprise customer readiness demos, Series D preparation materials"
52
+ weight: 0.35
53
+ description: "Phased roadmap"
54
+ - type: llm_judge
55
+ criteria: "Hiring and compliance are justified — immediate hires: (1) security engineer (HIPAA/SOC2 — critical for enterprise deals), (2) senior platform engineer (IaC migration, multi-region), (3) SRE (on-call, incident management, observability). Within 3 months: (4) developer experience engineer (templates, tooling). HIPAA compliance sprint: data flow mapping (where does PHI go?), encrypt all PHI at rest and transit (KMS), implement access logging (CloudTrail), set CloudWatch Logs retention and encryption, mask PII in application logs, document BAA for all AWS services used. Target: audit-ready in 4 months"
56
+ weight: 0.35
57
+ description: "Hiring and compliance"
58
+ - type: llm_judge
59
+ criteria: "Enterprise readiness and board communication are practical — enterprise requirements: 99.99% availability (multi-region), SOC2 Type II (need 6 months of evidence — start Type I immediately), HIPAA compliance documentation, incident response plan, SLA definitions. Cost optimization: target $90K/month (25% reduction) through right-sizing, ARM, log optimization. Board talking points: infrastructure is a competitive advantage (enterprise customers pay 3-5x more), platform investment enables $10M+ in enterprise pipeline, MTTR improvement from 2+ hours to < 30 minutes demonstrates operational maturity. Series D narrative: 'We're building enterprise-grade infrastructure to capture the enterprise healthcare market.'"
60
+ weight: 0.30
61
+ description: "Enterprise readiness"
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: organizational-serverless-transformation
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Lead organizational serverless transformation — manage cultural change, team restructuring, and skill development for enterprise serverless adoption"
7
+ tags: [AWS, Lambda, organizational, transformation, culture, leadership, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're leading serverless transformation at a 3,000-person
13
+ enterprise. After 18 months, adoption is at 20% — the goal was 60%.
14
+
15
+ Resistance patterns:
16
+
17
+ Operations team (40 people):
18
+ "Serverless means we can't SSH into servers to debug. How do we
19
+ do our jobs?" Fear: job obsolescence.
20
+ Reality: ops role transforms from "manage servers" to "manage
21
+ platforms and developer experience."
22
+
23
+ Backend developers (200 people):
24
+ "Lambda forces us to break our monolith into hundreds of functions.
25
+ That's more complex, not less." Fear: loss of control, added complexity.
26
+ Reality: serverless doesn't require microservices — start with
27
+ Lambda-lith (monolith in Lambda) and decompose gradually.
28
+
29
+ Architecture team (15 people):
30
+ "Vendor lock-in! If AWS changes Lambda pricing or discontinues
31
+ it, we're stuck." Fear: loss of portability.
32
+ Reality: business logic is portable; infrastructure integration
33
+ code (~15%) is AWS-specific. The risk of slow innovation
34
+ (not adopting) exceeds the risk of lock-in.
35
+
36
+ Middle management:
37
+ "This wasn't in our roadmap. We're already behind on feature
38
+ delivery." No incentive to invest in serverless migration.
39
+ Reality: OKRs need to include modernization goals.
40
+
41
+ Early adopters (5 teams):
42
+ Enthusiastic but frustrated. "We adopted serverless but got no
43
+ platform support. We're reinventing everything."
44
+ Reality: without a platform team, each team builds its own
45
+ infrastructure, wasting engineering time.
46
+
47
+ Task: Design the organizational transformation strategy. Write:
48
+ the change management framework, addressing each group's concerns
49
+ with empathy and data, training program design, incentive
50
+ alignment, platform team investment, measuring cultural change,
51
+ and lessons from successful serverless transformations.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "Change management is structured — start with the 'why': quantify cost of status quo (server management time, deployment friction, incident frequency). Build coalition: executive sponsor + early adopter teams + willing ops engineers. Quick wins: migrate a visible, successful project in 4-6 weeks (demonstrate value). Enable: platform team provides self-service tools so adoption is easier than the old way. Incentivize: include modernization metrics in OKRs. Celebrate: publicize wins (deployment frequency improvement, cost savings). Sustain: embed serverless in hiring criteria, onboarding, and promotion ladders"
56
+ weight: 0.35
57
+ description: "Change management"
58
+ - type: llm_judge
59
+ criteria: "Stakeholder concerns are addressed with empathy — operations: 'your role is evolving, not disappearing. Platform engineering is more impactful than server management.' Provide retraining budget. Backend developers: 'you don't have to rewrite everything. Start by deploying your existing app on Lambda (Lambda-lith), then decompose as it makes sense.' Architecture: 'the risk of not modernizing (losing competitive advantage, talent) exceeds lock-in risk. We'll keep business logic portable.' Management: 'serverless is a force multiplier — your team ships features faster, which helps your roadmap.' Early adopters: 'we hear you — platform team investment starts now'"
60
+ weight: 0.35
61
+ description: "Stakeholder concerns"
62
+ - type: llm_judge
63
+ criteria: "Training and measurement are practical — training program: Level 1 (all engineers): Lambda fundamentals + hands-on workshop (2 days). Level 2 (adopting teams): event-driven design + serverless patterns (1 week). Level 3 (platform team): deep AWS + architecture + operations (ongoing). Training should be hands-on, not lecture-based. Pair experienced serverless developers with migrating teams. Measure transformation: adoption rate (% serverless), deployment velocity per team, developer satisfaction (quarterly survey), incidents related to serverless vs traditional, team autonomy (can they deploy without help?). Target: 60% adoption in 12 months with platform support"
64
+ weight: 0.30
65
+ description: "Training and measurement"
@@ -0,0 +1,61 @@
1
+ meta:
2
+ id: regulatory-serverless
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Design regulatory compliance for serverless — implement controls for SOC2, PCI-DSS, HIPAA, and GDPR in Lambda-based architectures"
7
+ tags: [AWS, Lambda, compliance, SOC2, PCI-DSS, HIPAA, GDPR, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your serverless application processes payment card data and
13
+ personal health information. You need compliance with PCI-DSS,
14
+ HIPAA, and GDPR simultaneously.
15
+
16
+ Auditor challenges:
17
+
18
+ 1. "Where does the code run? Show me the server."
19
+ Lambda: there IS no server to inspect. Compliance frameworks
20
+ designed for servers need adaptation for serverless.
21
+ Answer: AWS manages the infrastructure (shared responsibility).
22
+ You control: code, configuration, data, access.
23
+
24
+ 2. "How do you ensure data encryption at rest?"
25
+ Lambda environment variables: encrypted with AWS-managed or
26
+ customer-managed KMS key. DynamoDB: encryption at rest default.
27
+ S3: SSE-S3 or SSE-KMS. All data in transit: TLS 1.2+.
28
+
29
+ 3. "Show me access logs for the last 90 days."
30
+ CloudTrail: every API call logged (Lambda invocations, config
31
+ changes, IAM actions). CloudWatch Logs: function execution logs.
32
+ API Gateway: access logs with source IP, user agent, response code.
33
+
34
+ 4. "How do you handle right to erasure (GDPR Article 17)?"
35
+ Serverless challenge: data may exist in DynamoDB, S3, CloudWatch
36
+ Logs, X-Ray traces, DLQ messages, Step Functions execution history.
37
+ Must identify and delete from ALL locations.
38
+
39
+ 5. "Demonstrate vulnerability management."
40
+ No OS to patch (AWS responsibility). But: application dependencies,
41
+ Lambda runtime versions, third-party layers. Must scan and update.
42
+
43
+ Task: Design regulatory compliance for serverless. Write: shared
44
+ responsibility model for Lambda, control mappings for PCI-DSS
45
+ and HIPAA, GDPR data handling (right to erasure, data portability),
46
+ audit evidence collection, vulnerability management without
47
+ servers, and compliance automation with AWS Config.
48
+
49
+ assertions:
50
+ - type: llm_judge
51
+ criteria: "Shared responsibility for serverless is explained — AWS responsibility: physical security, hypervisor, OS patching, runtime patching, network infrastructure. Customer responsibility: function code, dependencies, IAM configuration, data encryption configuration, application logging, input validation. This is MORE favorable than EC2 (where customer patches OS). Compliance advantage: smaller attack surface, no server hardening needed. Compliance challenge: less visibility into infrastructure, new tooling needed for serverless-specific controls"
52
+ weight: 0.35
53
+ description: "Shared responsibility"
54
+ - type: llm_judge
55
+ criteria: "Control mappings and GDPR are covered — PCI-DSS: Req 2 (secure config) → Lambda function settings, no default passwords. Req 3 (protect stored data) → KMS encryption. Req 6 (secure development) → code scanning, dependency management. Req 10 (logging) → CloudTrail + CloudWatch. HIPAA: BAA with AWS, encrypt PHI (KMS), restrict access (IAM), audit all PHI access (CloudTrail). GDPR right to erasure: identify all data stores (DynamoDB, S3, CloudWatch Logs, X-Ray, SQS DLQ), implement deletion workflow across all stores, set log retention to minimum required, mask PII in logs"
56
+ weight: 0.35
57
+ description: "Controls and GDPR"
58
+ - type: llm_judge
59
+ criteria: "Compliance automation is practical — AWS Config rules: monitor Lambda configuration compliance (encryption enabled, VPC configured, timeout < max, memory within policy). Custom Config rules via Lambda for organization-specific checks. AWS Security Hub: aggregate findings from GuardDuty, Inspector, Config. Automated evidence collection: CloudTrail logs (access audit), Config snapshots (configuration audit), CloudWatch (operational audit). Vulnerability management: scan dependencies in CI (Snyk/npm audit), update Lambda runtimes before EOL, monitor AWS security bulletins. SOC2 continuous compliance: automated control testing, evidence generation, dashboard for auditors"
60
+ weight: 0.30
61
+ description: "Compliance automation"
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: serverless-economics
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Analyze serverless economics — evaluate total cost of ownership, break-even analysis, and financial models for Lambda vs containers vs EC2"
7
+ tags: [AWS, Lambda, economics, TCO, break-even, serverless-vs-containers, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ The CFO requests a comprehensive comparison: "Lambda vs containers
13
+ vs EC2 — which is actually cheaper?" The answer depends on workload
14
+ characteristics.
15
+
16
+ Workload profiles analyzed:
17
+
18
+ Workload A — Spiky API (e-commerce):
19
+ Traffic: 0 at night, 1000 req/s during day, 5000 req/s during sales
20
+ Average duration: 200ms, Memory: 512MB
21
+
22
+ Lambda: ~$12,000/month (pay per invocation, scales to zero)
23
+ ECS Fargate: ~$8,000/month (must keep minimum containers running)
24
+ EC2: ~$5,000/month (cheapest compute but 24/7 running + ops cost)
25
+ + Ops cost: EC2 needs $15K/month in ops engineering time
26
+
27
+ Total: Lambda $12K, Fargate $8K, EC2 $20K (including ops)
28
+
29
+ Workload B — Steady-state API (SaaS):
30
+ Traffic: constant 500 req/s, 24/7
31
+ Average duration: 500ms, Memory: 1GB
32
+
33
+ Lambda: ~$45,000/month (expensive at constant high volume)
34
+ ECS Fargate: ~$6,000/month (right-sized containers)
35
+ EC2 Reserved: ~$3,000/month (1-year reserved instances)
36
+ + Ops cost: distributed across many services
37
+
38
+ Total: Lambda $45K, Fargate $6K, EC2 $8K
39
+
40
+ Workload C — Event processing (IoT):
41
+ Volume: 10M events/day, sporadic timing
42
+ Average duration: 50ms, Memory: 256MB
43
+
44
+ Lambda: ~$800/month (low duration, low memory, efficient)
45
+ ECS Fargate: ~$2,500/month (needs containers running for events)
46
+ EC2: ~$1,500/month (over-provisioned for sporadic workload)
47
+
48
+ Task: Analyze serverless economics. Write: the cost model for
49
+ each compute option, break-even analysis (when Lambda becomes
50
+ more expensive), hidden costs (CloudWatch, API Gateway, data
51
+ transfer, engineering time), and strategic decision framework.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "Cost models are comprehensive — Lambda: per-invocation ($0.20/million) + per-GB-second ($0.0000166667) + API Gateway ($3.50/million REST, $1.00/million HTTP). No cost at zero traffic. ECS Fargate: per-vCPU-hour ($0.04048) + per-GB-hour ($0.004445). Minimum: 1 task always running. EC2: per-hour pricing, reserved instances 30-60% cheaper. Hidden costs: CloudWatch Logs ($0.50/GB), data transfer ($0.09/GB), NAT Gateway ($0.045/GB), VPC endpoints. Lambda break-even: typically at 1-10M invocations/month steady-state, Lambda becomes more expensive than right-sized containers"
56
+ weight: 0.35
57
+ description: "Cost models"
58
+ - type: llm_judge
59
+ criteria: "Break-even and decision factors are covered — Lambda is cheaper when: traffic is spiky (scales to zero), volume is low-medium, functions are short duration (< 1s). Containers are cheaper when: traffic is steady, volume is high, long-running processes. EC2 is cheaper when: compute is constant, can use reserved instances, need specialized hardware (GPU). Decision factors beyond cost: operational complexity (Lambda < Fargate < EC2), time to market (Lambda fastest), team skills, vendor lock-in, compliance requirements. Total cost includes: engineering time (Lambda needs less ops), opportunity cost (faster deployment = faster revenue)"
60
+ weight: 0.35
61
+ description: "Break-even analysis"
62
+ - type: llm_judge
63
+ criteria: "Strategic framework is practical — hybrid approach: Lambda for APIs + event processing + glue, Fargate for steady workloads + long-running jobs, EC2 for specialized compute. Evaluate per-workload, not per-organization. Present to CFO in business terms: cost per transaction, cost per user, infrastructure cost as % of revenue. Compare trends: Lambda getting cheaper (price reductions), containers getting easier (Fargate). Savings Plans: apply to Lambda AND Fargate (17% additional savings). Track and report: monthly cost per service, cost anomaly detection, cost per business metric (cost per order processed)"
64
+ weight: 0.30
65
+ description: "Strategic framework"
@@ -0,0 +1,66 @@
1
+ meta:
2
+ id: serverless-future-technology
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Analyze serverless technology evolution — evaluate emerging technologies like WebAssembly runtimes, edge computing, and AI-integrated serverless patterns"
7
+ tags: [AWS, Lambda, future, WebAssembly, edge, AI, evolution, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company's technology radar review: "What's next for serverless?
13
+ Where should we invest in the next 3-5 years?"
14
+
15
+ Emerging technologies to evaluate:
16
+
17
+ 1. Lambda SnapStart Evolution:
18
+ Currently Java 11+ and .NET 8. Expected to expand to more runtimes.
19
+ CRaC (Coordinated Restore at Checkpoint) becoming standard.
20
+ Future: sub-50ms cold starts for all runtimes.
21
+
22
+ 2. WebAssembly (Wasm) on Lambda:
23
+ AWS is investing in Wasm runtimes. Potential: near-instant cold
24
+ starts (~1ms), polyglot support (Rust, C++, Go → Wasm), sandboxed
25
+ execution, smaller binaries. Currently experimental but Docker
26
+ already supports Wasm containers.
27
+
28
+ 3. AI/ML on Lambda:
29
+ Lambda now supports up to 10GB memory and 6 vCPUs. Inference
30
+ workloads becoming viable. Bedrock integration for managed LLM
31
+ access. Pattern: Lambda → Bedrock API → response (no GPU needed).
32
+ Edge AI: Lambda@Edge for low-latency inference.
33
+
34
+ 4. Edge-native serverless:
35
+ CloudFront Functions (sub-millisecond). Lambda@Edge expanding.
36
+ IoT Greengrass for device-level Lambda. Multi-region by default.
37
+ Future: compute at every CDN edge location with state.
38
+
39
+ 5. Serverless databases:
40
+ Aurora Serverless v2 (scales to zero), DynamoDB on-demand,
41
+ ElastiCache Serverless. Future: fully serverless data tier
42
+ that scales with Lambda.
43
+
44
+ 6. Event-driven architecture maturation:
45
+ EventBridge Pipes (connect sources to targets without Lambda),
46
+ Step Functions Distributed Map (massive parallel processing),
47
+ Lambda response streaming for real-time UX.
48
+
49
+ Task: Evaluate serverless technology evolution. Write: assessment
50
+ of each technology (maturity, use cases), impact on current Lambda
51
+ architecture, migration considerations, timeline predictions, and
52
+ strategic recommendations for technology investment.
53
+
54
+ assertions:
55
+ - type: llm_judge
56
+ criteria: "Technology assessments are balanced — SnapStart/CRaC: production-ready, adopt now for Java/.NET. Wasm: experimental, watch for 2-3 years, pilot for edge/embedded use cases. AI/ML on Lambda: production-ready for inference (Bedrock integration), adopt now. Edge serverless: production-ready (CloudFront Functions), adopt for latency-sensitive features. Serverless databases: production-ready (Aurora Serverless v2, DynamoDB), adopt. Event-driven maturation: production-ready (EventBridge Pipes, Step Functions), adopt to reduce Lambda glue code"
57
+ weight: 0.35
58
+ description: "Technology assessments"
59
+ - type: llm_judge
60
+ criteria: "Strategic impact is explained — key trend: serverless is becoming the default, not the exception. Impact on architecture: fewer Lambda functions needed as services become more capable (EventBridge Pipes eliminates simple Lambda integrations, Step Functions handles more logic without custom code). Lambda's role shifts from 'all compute' to 'custom business logic only.' AI integration: every Lambda function can leverage AI via Bedrock without managing infrastructure. Edge: latency-sensitive logic moves to edge, Lambda handles heavy processing. Serverless databases complete the 'fully serverless stack' vision"
61
+ weight: 0.35
62
+ description: "Strategic impact"
63
+ - type: llm_judge
64
+ criteria: "Investment recommendations are actionable — invest now: AI/ML integration (Bedrock), edge computing (CloudFront Functions), serverless databases (Aurora Serverless v2). Pilot: Wasm runtimes, Lambda response streaming. Watch: serverless containers (Fargate convergence with Lambda), multi-cloud serverless (Google Cloud Run, Azure Container Apps). Don't invest in: building custom serverless platforms (use AWS), multi-cloud abstractions (added complexity, limited benefit). Architecture principle: keep business logic portable, let infrastructure integration be AWS-specific. Re-evaluate every 12 months as the landscape evolves rapidly"
65
+ weight: 0.30
66
+ description: "Investment recommendations"
@@ -0,0 +1,71 @@
1
+ meta:
2
+ id: serverless-platform-design
3
+ level: 5
4
+ course: aws-lambda-debugging
5
+ type: output
6
+ description: "Design enterprise serverless platform — build an internal developer platform with self-service Lambda deployment, governance, and operational excellence"
7
+ tags: [AWS, Lambda, platform, IDP, self-service, governance, enterprise, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your organization (500 engineers, 200+ Lambda functions) needs
13
+ an Internal Developer Platform (IDP) for serverless. Currently:
14
+
15
+ - Each team deploys Lambda functions differently (SAM, CDK,
16
+ Serverless Framework, console)
17
+ - No standard for logging, metrics, or error handling
18
+ - Security reviews take 2 weeks per function deployment
19
+ - New developers take 3 weeks to deploy their first function
20
+ - 40% of production incidents stem from misconfiguration
21
+
22
+ Platform requirements:
23
+
24
+ Developer experience: "I want to create and deploy a new Lambda
25
+ function in under 30 minutes with zero infrastructure knowledge."
26
+
27
+ Security team: "Every function must pass security checks
28
+ automatically. No manual reviews needed for standard deployments."
29
+
30
+ Operations: "We need unified observability across all functions,
31
+ automated incident detection, and self-healing capabilities."
32
+
33
+ Finance: "Cost attribution per team, per service, per feature."
34
+
35
+ Proposed platform layers:
36
+
37
+ Layer 1 — Templates and Standards:
38
+ CDK constructs for approved patterns (API + Lambda, SQS + Lambda,
39
+ EventBridge + Lambda). Pre-configured: logging, tracing, error
40
+ handling, security, cost tagging.
41
+
42
+ Layer 2 — CI/CD Pipeline:
43
+ Standardized pipeline: build → test → scan → deploy staging →
44
+ integration test → deploy production (canary). Automatic rollback.
45
+
46
+ Layer 3 — Governance:
47
+ AWS Config rules for compliance, IAM permission boundaries,
48
+ cost alerts per team, deployment policies (no console deployments).
49
+
50
+ Layer 4 — Observability:
51
+ Centralized logging (Powertools), unified dashboards, automated
52
+ alerting, incident detection.
53
+
54
+ Task: Design the serverless platform. Write: template library
55
+ design (CDK constructs), developer onboarding experience, automated
56
+ governance (security, cost, compliance), observability standard,
57
+ platform team structure, and success metrics.
58
+
59
+ assertions:
60
+ - type: llm_judge
61
+ criteria: "Template library is well-designed — CDK construct library: pre-built, opinionated patterns for common Lambda use cases. Each construct includes: Lambda function with Powertools (logging, metrics, tracing), IAM role with least privilege, CloudWatch alarms, X-Ray tracing, cost tags. Patterns: API endpoint (API Gateway + Lambda + DynamoDB), event processor (SQS + Lambda), scheduled task (EventBridge + Lambda), stream processor (Kinesis + Lambda). Templates enforce standards without restricting developers. Escape hatch for non-standard use cases with security review"
62
+ weight: 0.35
63
+ description: "Template library"
64
+ - type: llm_judge
65
+ criteria: "Developer experience and governance are covered — onboarding: developer runs 'create-service' CLI command, selects template, gets deployed service in 30 minutes with full observability. Self-service: no tickets for standard deployments. Governance: IAM permission boundaries (prevent privilege escalation), AWS Config rules (detect non-compliant resources), SCPs (prevent dangerous actions), automated security scanning in CI (no manual review needed for standard patterns). Cost: tagging enforced by CDK constructs, budget alerts per team, cost dashboards in platform portal"
66
+ weight: 0.35
67
+ description: "Developer experience"
68
+ - type: llm_judge
69
+ criteria: "Platform team and metrics are practical — team structure: 4-6 engineers (2 platform/IaC, 1 security, 1 observability, 1-2 developer experience). Platform as a product: treat internal developers as customers, measure NPS, iterate based on feedback. Success metrics: time to first deployment (target: < 1 hour), deployment frequency per team, security findings per deployment (target: 0 for template-based), MTTR (target: < 15 min), developer satisfaction (NPS > 50), platform adoption (% of functions on platform). Cost efficiency: platform team cost / number of functions managed = cost per function decreasing over time"
70
+ weight: 0.30
71
+ description: "Team and metrics"
@@ -0,0 +1,11 @@
1
+ id: docker-container-debugging
2
+ name: "Docker Container Debugging"
3
+ description: >
4
+ Master Docker container debugging from basic container inspection to
5
+ enterprise container platform operations. Learn to diagnose build failures,
6
+ runtime crashes, networking issues, storage problems, image optimization,
7
+ multi-stage builds, Docker Compose troubleshooting, security scanning,
8
+ and production container operations at scale.
9
+ levels: 5
10
+ scenarios_per_level: 10
11
+ tags: [development, Docker, containers, debugging, DevOps, troubleshooting, images, networking]
@@ -0,0 +1,59 @@
1
+ meta:
2
+ id: container-exit-codes
3
+ level: 1
4
+ course: docker-container-debugging
5
+ type: output
6
+ description: "Debug container exit codes — understand what different exit codes mean and how to diagnose why a container stopped"
7
+ tags: [Docker, exit-codes, container-lifecycle, debugging, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're running several containers and some keep stopping unexpectedly:
13
+
14
+ $ docker ps -a
15
+ CONTAINER ID IMAGE STATUS NAMES
16
+ a1b2c3d4e5f6 myapp:v1.2 Exited (1) 5 minutes ago api-server
17
+ b2c3d4e5f6g7 worker:latest Exited (137) 2 minutes ago background-worker
18
+ c3d4e5f6g7h8 nginx:1.25 Exited (0) 10 minutes ago web-proxy
19
+ d4e5f6g7h8i9 mydb:v3 Exited (139) 1 minute ago database
20
+
21
+ Four containers, four different exit codes:
22
+ - Exit code 0: Completed successfully (normal termination)
23
+ - Exit code 1: General application error
24
+ - Exit code 137: Killed by SIGKILL (128 + 9) — OOM kill or docker kill
25
+ - Exit code 139: Segmentation fault (128 + 11)
26
+
27
+ $ docker logs api-server
28
+ Error: Cannot connect to database at localhost:5432
29
+ Error: Configuration validation failed
30
+ Process exited with code 1
31
+
32
+ $ docker inspect background-worker --format='{{.State.OOMKilled}}'
33
+ true
34
+
35
+ The background-worker was OOM killed — it exceeded its memory limit.
36
+ The api-server had an application error (database connection failure).
37
+ The web-proxy exited cleanly (exit code 0 means success).
38
+ The database had a segfault (exit code 139, likely corrupted data or
39
+ incompatible library).
40
+
41
+ Task: Explain Docker container exit codes. Write: the common exit
42
+ codes and what they mean (0, 1, 126, 127, 137, 139, 143), how to
43
+ investigate why a container stopped (docker logs, docker inspect),
44
+ the difference between SIGKILL (137) and SIGTERM (143), how to check
45
+ if OOM killed, and the container lifecycle states.
46
+
47
+ assertions:
48
+ - type: llm_judge
49
+ criteria: "Common exit codes are explained — 0: success, 1: general error (application crash), 126: command not executable (permission denied), 127: command not found (wrong CMD/ENTRYPOINT), 137: SIGKILL (128+9, OOM kill or docker kill), 139: SIGSEGV segfault (128+11), 143: SIGTERM (128+15, graceful shutdown via docker stop). Codes > 128 indicate the process was killed by a signal (code = 128 + signal number)"
50
+ weight: 0.35
51
+ description: "Exit codes explained"
52
+ - type: llm_judge
53
+ criteria: "Investigation commands are shown — docker logs <container> for stdout/stderr output, docker inspect <container> for full state including OOMKilled flag and exit code, docker inspect --format='{{.State.ExitCode}}' for just the exit code, docker events for real-time container events. docker inspect also shows StartedAt/FinishedAt timestamps and RestartCount"
54
+ weight: 0.35
55
+ description: "Investigation commands"
56
+ - type: llm_judge
57
+ criteria: "Container lifecycle states are explained — created (container exists but never started), running (process active), paused (process frozen via cgroups), exited (process terminated, exit code available), dead (failed to remove, needs manual cleanup). docker ps shows running containers, docker ps -a shows all including stopped. SIGTERM vs SIGKILL: docker stop sends SIGTERM, waits grace period (default 10s), then SIGKILL"
58
+ weight: 0.30
59
+ description: "Lifecycle states"
@@ -0,0 +1,69 @@
1
+ meta:
2
+ id: container-networking-basics
3
+ level: 1
4
+ course: docker-container-debugging
5
+ type: output
6
+ description: "Debug basic Docker networking — diagnose container-to-container communication failures and DNS resolution issues"
7
+ tags: [Docker, networking, bridge, DNS, container-communication, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You have two containers that need to communicate but can't reach
13
+ each other:
14
+
15
+ $ docker run -d --name database postgres:16
16
+ $ docker run -d --name api -e DATABASE_HOST=database myapp:v1
17
+
18
+ $ docker logs api
19
+ Error: getaddrinfo ENOTFOUND database
20
+ Error: Cannot resolve hostname 'database'
21
+
22
+ The api container can't resolve the hostname "database". Why?
23
+
24
+ $ docker network ls
25
+ NETWORK ID NAME DRIVER SCOPE
26
+ abc123def456 bridge bridge local
27
+ ...
28
+
29
+ Both containers are on the default bridge network, but the default
30
+ bridge network does NOT support automatic DNS resolution. Container
31
+ names can't be used as hostnames on the default bridge.
32
+
33
+ Fix: Create a custom network:
34
+ $ docker network create myapp-network
35
+ $ docker run -d --name database --network myapp-network postgres:16
36
+ $ docker run -d --name api --network myapp-network -e DATABASE_HOST=database myapp:v1
37
+
38
+ $ docker logs api
39
+ Connected to database at database:5432
40
+
41
+ Custom bridge networks provide:
42
+ - Automatic DNS resolution (container names as hostnames)
43
+ - Network isolation (containers on different networks can't communicate)
44
+ - Better security than the default bridge
45
+
46
+ Additional test:
47
+ $ docker exec api ping database
48
+ PING database (172.18.0.2): 56 data bytes
49
+ 64 bytes from 172.18.0.2: seq=0 ttl=64 time=0.089 ms
50
+
51
+ Task: Explain Docker networking basics. Write: the network drivers
52
+ (bridge, host, none, overlay), why the default bridge doesn't support
53
+ DNS, how custom networks enable service discovery, how to connect
54
+ containers across networks, common networking mistakes, and how to
55
+ inspect network configuration.
56
+
57
+ assertions:
58
+ - type: llm_judge
59
+ criteria: "Docker network drivers are explained — bridge (default, isolated network on single host), host (shares host network namespace, no isolation), none (no networking), overlay (multi-host networking for Swarm). Default bridge does NOT support automatic DNS resolution between containers — only custom bridge networks do. This is the most common networking mistake for beginners"
60
+ weight: 0.35
61
+ description: "Network drivers"
62
+ - type: llm_judge
63
+ criteria: "DNS and service discovery are covered — on custom bridge networks, Docker runs an embedded DNS server (127.0.0.11). Containers can resolve each other by name. Network aliases (--network-alias) provide additional DNS names. Containers on different networks are isolated by default. Use docker network connect to add a container to a second network for cross-network communication"
64
+ weight: 0.35
65
+ description: "DNS and discovery"
66
+ - type: llm_judge
67
+ criteria: "Debugging and inspection are practical — docker network inspect <network> shows connected containers and their IPs, docker exec <container> ping <target> tests connectivity, docker exec <container> nslookup <hostname> tests DNS. Common mistakes: using default bridge (no DNS), hardcoding IPs (change on restart), forgetting to put containers on the same network, port conflicts when using host network"
68
+ weight: 0.30
69
+ description: "Debugging and inspection"