dojo.md 0.1.0 → 0.2.1
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.
- package/courses/GENERATION_LOG.md +72 -0
- package/courses/api-error-handling/course.yaml +16 -0
- package/courses/api-error-handling/scenarios/level-1/error-response-format.yaml +131 -0
- package/courses/api-error-handling/scenarios/level-1/http-status-codes-basics.yaml +90 -0
- package/courses/api-error-handling/scenarios/level-1/rate-limiting-basics.yaml +135 -0
- package/courses/api-error-handling/scenarios/level-1/request-validation-errors.yaml +208 -0
- package/courses/api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +189 -0
- package/courses/api-error-handling/scenarios/level-2/idempotency-retry-logic.yaml +159 -0
- package/courses/api-error-handling/scenarios/level-2/rfc-7807-problem-details.yaml +178 -0
- package/courses/api-error-handling/scenarios/level-2/webhook-error-handling.yaml +211 -0
- package/courses/api-error-handling/scenarios/level-3/distributed-tracing-errors.yaml +275 -0
- package/courses/aws-lambda-debugging/course.yaml +11 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
- package/courses/docker-container-debugging/course.yaml +11 -0
- package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
- package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
- package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
- package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
- package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
- package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
- package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
- package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
- package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
- package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
- package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
- package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
- package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
- package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
- package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
- package/courses/github-actions-cicd/course.yaml +10 -0
- package/courses/github-actions-cicd/scenarios/level-1/actions-and-runners.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-1/basic-workflow-syntax.yaml +52 -0
- package/courses/github-actions-cicd/scenarios/level-1/branch-protection-checks.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-1/environment-variables-secrets.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-1/first-cicd-shift.yaml +62 -0
- package/courses/github-actions-cicd/scenarios/level-1/job-dependencies-outputs.yaml +62 -0
- package/courses/github-actions-cicd/scenarios/level-1/simple-ci-pipeline.yaml +57 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-debugging.yaml +90 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-status-notifications.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-triggers.yaml +56 -0
- package/courses/github-actions-cicd/scenarios/level-2/concurrency-control.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-2/conditional-execution.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-2/custom-actions-development.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-2/dependency-caching.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-2/deployment-workflows.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-2/github-packages-publishing.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-2/intermediate-cicd-shift.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-2/matrix-builds.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-2/reusable-workflows.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-2/workflow-cost-optimization.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-3/advanced-cicd-shift.yaml +64 -0
- package/courses/github-actions-cicd/scenarios/level-3/compliance-automation.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-3/docker-action-development.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-3/github-environments.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-3/monorepo-ci.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-3/oidc-cloud-deployments.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-3/release-automation.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-3/security-hardening.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-3/self-hosted-runners.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-3/workflow-optimization.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-data-architecture.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-economics-roi.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-executive-communication.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-incident-response.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-org-design.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-platform-architecture.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-training-program.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-vendor-evaluation.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/enterprise-cicd-governance.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-4/expert-cicd-shift.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-ai-future.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-behavioral-science.yaml +70 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-board-strategy.yaml +56 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-consulting-engagement.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-industry-benchmarks.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-ma-integration.yaml +73 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-product-development.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-regulatory-landscape.yaml +72 -0
- package/courses/github-actions-cicd/scenarios/level-5/comprehensive-cicd-system.yaml +66 -0
- package/courses/github-actions-cicd/scenarios/level-5/master-cicd-shift.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-2/api-change-review.yaml +82 -0
- package/courses/github-pr-review/scenarios/level-2/automated-review-tooling.yaml +53 -0
- package/courses/github-pr-review/scenarios/level-2/cross-team-review.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-2/intermediate-review-shift.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-2/performance-review-patterns.yaml +99 -0
- package/courses/github-pr-review/scenarios/level-2/review-disagreement-resolution.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-2/review-metrics-analysis.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-2/review-turnaround-sla.yaml +54 -0
- package/courses/github-pr-review/scenarios/level-2/stacked-pr-review.yaml +65 -0
- package/courses/github-pr-review/scenarios/level-3/advanced-review-shift.yaml +65 -0
- package/courses/github-pr-review/scenarios/level-3/ai-powered-review.yaml +58 -0
- package/courses/github-pr-review/scenarios/level-3/compliance-review-process.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-3/cross-functional-review.yaml +60 -0
- package/courses/github-pr-review/scenarios/level-3/incident-driven-review.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-3/large-scale-review-operations.yaml +55 -0
- package/courses/github-pr-review/scenarios/level-3/monorepo-review-process.yaml +68 -0
- package/courses/github-pr-review/scenarios/level-3/review-automation-platform.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-3/review-culture-design.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-3/review-data-pipeline.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/enterprise-review-operations.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-4/expert-review-shift.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/review-data-architecture.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-4/review-economics-roi.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-4/review-executive-communication.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-4/review-incident-postmortem.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-4/review-org-design.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/review-platform-architecture.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-4/review-training-program.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-4/review-vendor-evaluation.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-5/comprehensive-review-system.yaml +68 -0
- package/courses/github-pr-review/scenarios/level-5/master-review-shift.yaml +73 -0
- package/courses/github-pr-review/scenarios/level-5/review-ai-future.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-5/review-behavioral-science.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-5/review-board-strategy.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-5/review-consulting-engagement.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-5/review-devtools-product.yaml +71 -0
- package/courses/github-pr-review/scenarios/level-5/review-industry-benchmarks.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-5/review-ma-integration.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-5/review-regulatory-landscape.yaml +78 -0
- package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
- package/courses/mysql-query-optimization/course.yaml +11 -0
- package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
- package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
- package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
- package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
- package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
- package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
- package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
- package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
- package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
- package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
- package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
- package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
- package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
- package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
- package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
- package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
- package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
- package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
- package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
- package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
- package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
- package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
- package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
- package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
- package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
- package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
- package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
- package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
- package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
- package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
- package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
- package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
- package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
- package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
- package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
- package/courses/postgresql-query-optimization/course.yaml +11 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/explain-analyze-basics.yaml +80 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +77 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/index-fundamentals.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/join-basics.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/select-star-problems.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/vacuum-and-statistics.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/autovacuum-tuning.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/composite-index-design.yaml +81 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/covering-indexes.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/cte-optimization.yaml +83 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +66 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/join-optimization.yaml +72 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/partial-and-expression-indexes.yaml +75 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/query-planner-settings.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/subquery-optimization.yaml +67 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/window-function-optimization.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/connection-pooling.yaml +60 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/full-text-search-optimization.yaml +66 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/jsonb-optimization.yaml +88 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +80 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/materialized-view-optimization.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/parallel-query-execution.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/specialized-index-types.yaml +67 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/write-optimization.yaml +65 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/data-architecture-analytics.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/database-executive-communication.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/database-migration-planning.yaml +57 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/enterprise-database-governance.yaml +52 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/optimizer-internals.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/performance-sla-design.yaml +58 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/read-replica-optimization.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/vendor-evaluation.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
- package/courses/rest-api-error-handling/course.yaml +11 -0
- package/courses/rest-api-error-handling/scenarios/level-1/authentication-errors.yaml +71 -0
- package/courses/rest-api-error-handling/scenarios/level-1/content-negotiation-errors.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-1/error-logging-basics.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-1/error-response-format.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-1/first-error-handling-shift.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-1/http-status-codes.yaml +46 -0
- package/courses/rest-api-error-handling/scenarios/level-1/not-found-errors.yaml +52 -0
- package/courses/rest-api-error-handling/scenarios/level-1/rate-limiting-errors.yaml +56 -0
- package/courses/rest-api-error-handling/scenarios/level-1/request-validation-errors.yaml +59 -0
- package/courses/rest-api-error-handling/scenarios/level-1/server-error-handling.yaml +55 -0
- package/courses/rest-api-error-handling/scenarios/level-2/api-versioning-errors.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-2/batch-request-errors.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +52 -0
- package/courses/rest-api-error-handling/scenarios/level-2/error-code-taxonomy.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-2/error-monitoring-alerting.yaml +53 -0
- package/courses/rest-api-error-handling/scenarios/level-2/intermediate-error-shift.yaml +69 -0
- package/courses/rest-api-error-handling/scenarios/level-2/pagination-errors.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-2/retry-and-idempotency.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-2/rfc7807-problem-details.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-2/webhook-error-handling.yaml +55 -0
- package/courses/rest-api-error-handling/scenarios/level-3/advanced-error-shift.yaml +72 -0
- package/courses/rest-api-error-handling/scenarios/level-3/api-gateway-errors.yaml +71 -0
- package/courses/rest-api-error-handling/scenarios/level-3/async-api-errors.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-3/caching-error-scenarios.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-3/chaos-engineering-apis.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-3/database-error-handling.yaml +79 -0
- package/courses/rest-api-error-handling/scenarios/level-3/distributed-error-propagation.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-3/error-budgets-sre.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-3/error-correlation.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-3/graphql-vs-rest-errors.yaml +73 -0
- package/courses/rest-api-error-handling/scenarios/level-4/compliance-error-handling.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/enterprise-error-governance.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-analytics-platform.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-cost-optimization.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-executive-communication.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-handling-architecture.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-org-design.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-sla-design.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-training-program.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-4/expert-error-shift.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-5/comprehensive-error-system.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-ai-future.yaml +75 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-behavioral-science.yaml +73 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-board-strategy.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-consulting-engagement.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-industry-benchmarks.yaml +72 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-ma-integration.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-product-development.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-regulatory-landscape.yaml +80 -0
- package/courses/rest-api-error-handling/scenarios/level-5/master-error-shift.yaml +73 -0
- package/courses/terraform-infrastructure-setup/course.yaml +11 -0
- package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +6 -5
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +4 -0
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +6 -18
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/train.d.ts.map +1 -1
- package/dist/cli/commands/train.js +18 -18
- package/dist/cli/commands/train.js.map +1 -1
- package/dist/cli/index.js +93 -55
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/run-demo.js +2 -1
- package/dist/cli/run-demo.js.map +1 -1
- package/dist/cli/setup.d.ts +18 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +154 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/engine/agent-bridge.d.ts +5 -2
- package/dist/engine/agent-bridge.d.ts.map +1 -1
- package/dist/engine/agent-bridge.js +36 -9
- package/dist/engine/agent-bridge.js.map +1 -1
- package/dist/engine/loader.d.ts +21 -0
- package/dist/engine/loader.d.ts.map +1 -1
- package/dist/engine/loader.js +54 -1
- package/dist/engine/loader.js.map +1 -1
- package/dist/engine/training-loop.d.ts.map +1 -1
- package/dist/engine/training-loop.js +1 -0
- package/dist/engine/training-loop.js.map +1 -1
- package/dist/engine/training.d.ts.map +1 -1
- package/dist/engine/training.js +1 -0
- package/dist/engine/training.js.map +1 -1
- package/dist/generator/skill-generator.d.ts +1 -1
- package/dist/generator/skill-generator.d.ts.map +1 -1
- package/dist/generator/skill-generator.js +21 -2
- package/dist/generator/skill-generator.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +11 -26
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session-manager.d.ts +9 -4
- package/dist/mcp/session-manager.d.ts.map +1 -1
- package/dist/mcp/session-manager.js +65 -28
- package/dist/mcp/session-manager.js.map +1 -1
- package/dist/types/schemas.d.ts +38 -13
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +9 -5
- package/dist/types/schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: security-hardening
|
|
3
|
+
level: 3
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Harden GitHub Actions security — prevent supply chain attacks, pin actions by SHA, implement OIDC, and secure workflows"
|
|
7
|
+
tags: [github, actions, security, supply-chain, OIDC, hardening, advanced]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
Your security team conducted an audit of your GitHub Actions setup
|
|
13
|
+
and found critical vulnerabilities. You need to remediate all findings
|
|
14
|
+
and implement a security hardening plan.
|
|
15
|
+
|
|
16
|
+
Audit findings:
|
|
17
|
+
|
|
18
|
+
Finding 1 — Supply chain risk (Critical):
|
|
19
|
+
All 45 third-party actions are referenced by tag (e.g., @v4) not by
|
|
20
|
+
SHA. A compromised action tag could execute malicious code in your
|
|
21
|
+
CI. Example: `uses: some-popular-action/upload@v3` — if that
|
|
22
|
+
maintainer's account is compromised, v3 could be overwritten.
|
|
23
|
+
|
|
24
|
+
Finding 2 — Overly permissive GITHUB_TOKEN (High):
|
|
25
|
+
All workflows run with default GITHUB_TOKEN permissions (read+write
|
|
26
|
+
on all scopes). Most workflows only need read access to contents
|
|
27
|
+
and write access to pull-requests.
|
|
28
|
+
|
|
29
|
+
Finding 3 — Fork PR vulnerability (High):
|
|
30
|
+
Workflows triggered by pull_request_target have access to secrets
|
|
31
|
+
and run in the context of the base branch. A malicious fork could
|
|
32
|
+
submit a PR that exfiltrates secrets.
|
|
33
|
+
|
|
34
|
+
Finding 4 — No OIDC authentication (Medium):
|
|
35
|
+
AWS deployments use long-lived access keys stored as GitHub Secrets.
|
|
36
|
+
These keys never rotate and would be exposed if a workflow is
|
|
37
|
+
compromised. Should use OIDC for keyless authentication.
|
|
38
|
+
|
|
39
|
+
Finding 5 — Script injection (Medium):
|
|
40
|
+
Several workflows use github.event.pull_request.title directly in
|
|
41
|
+
run: commands. A PR title containing backticks or $() could execute
|
|
42
|
+
arbitrary commands.
|
|
43
|
+
|
|
44
|
+
Task: Remediate all 5 findings. For each, write: the vulnerability
|
|
45
|
+
explanation (how it could be exploited), the remediation (specific
|
|
46
|
+
YAML changes), the verification steps (how to confirm the fix works),
|
|
47
|
+
and the ongoing prevention strategy. Include: the complete OIDC setup
|
|
48
|
+
for AWS (IAM role, trust policy, workflow changes), the GITHUB_TOKEN
|
|
49
|
+
permission lockdown, and a security checklist for all future workflows.
|
|
50
|
+
|
|
51
|
+
assertions:
|
|
52
|
+
- type: llm_judge
|
|
53
|
+
criteria: "All 5 vulnerabilities are remediated correctly — actions pinned by full SHA, GITHUB_TOKEN permissions restricted with permissions: key at workflow and job level, pull_request_target secured against fork attacks, OIDC configured for AWS, and script injection prevented with environment variables"
|
|
54
|
+
weight: 0.35
|
|
55
|
+
description: "Correct vulnerability remediation"
|
|
56
|
+
- type: llm_judge
|
|
57
|
+
criteria: "OIDC setup is complete — includes the AWS IAM OIDC identity provider, the IAM role trust policy with correct GitHub conditions (repo, branch, environment), the workflow changes to use aws-actions/configure-aws-credentials with OIDC, and explains why this is more secure than static keys"
|
|
58
|
+
weight: 0.35
|
|
59
|
+
description: "Complete OIDC setup"
|
|
60
|
+
- type: llm_judge
|
|
61
|
+
criteria: "Security checklist is actionable — covers at least 10 security practices for GitHub Actions, is formatted as a PR review checklist, and includes automated enforcement options (e.g., CodeQL for workflow scanning, required workflow for org-wide security policy)"
|
|
62
|
+
weight: 0.30
|
|
63
|
+
description: "Actionable security checklist"
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: self-hosted-runners
|
|
3
|
+
level: 3
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Manage self-hosted runners — set up, secure, scale, and maintain self-hosted runner infrastructure for GitHub Actions"
|
|
7
|
+
tags: [github, actions, self-hosted-runners, infrastructure, scaling, advanced]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
Your company is migrating from GitHub-hosted to self-hosted runners
|
|
13
|
+
for 3 reasons: cost reduction (spending $15K/month on GitHub runners),
|
|
14
|
+
specialized hardware needs (GPU for ML model testing), and compliance
|
|
15
|
+
requirements (code must not leave your network).
|
|
16
|
+
|
|
17
|
+
Infrastructure requirements:
|
|
18
|
+
- 80 engineers, 300 workflow runs per day
|
|
19
|
+
- Peak: 50 concurrent jobs during 10AM-2PM
|
|
20
|
+
- Job types: CI (80%), deployment (15%), ML training (5%)
|
|
21
|
+
- Runner OS: Linux (90%), macOS (10% for iOS builds)
|
|
22
|
+
- Security: runners must be ephemeral (clean state per job)
|
|
23
|
+
- Network: runners need access to internal services but not
|
|
24
|
+
unrestricted internet access
|
|
25
|
+
|
|
26
|
+
Architecture options to evaluate:
|
|
27
|
+
1. Bare metal servers in your data center
|
|
28
|
+
2. VMs on existing VMware infrastructure
|
|
29
|
+
3. Kubernetes with actions-runner-controller (ARC)
|
|
30
|
+
4. Auto-scaled cloud VMs (AWS EC2 with runner auto-scaler)
|
|
31
|
+
|
|
32
|
+
Security concerns:
|
|
33
|
+
- How to prevent a malicious workflow from compromising the runner
|
|
34
|
+
- How to handle secrets on self-hosted runners
|
|
35
|
+
- How to ensure runners are patched and updated
|
|
36
|
+
- How to isolate runners between teams/repos
|
|
37
|
+
- How to prevent crypto mining on organization runners
|
|
38
|
+
|
|
39
|
+
Task: Design the self-hosted runner infrastructure. Write: the
|
|
40
|
+
architecture recommendation (which option and why), the runner
|
|
41
|
+
configuration (labels, groups, scaling policies), the security
|
|
42
|
+
hardening guide (ephemeral runners, network isolation, secret
|
|
43
|
+
handling), the monitoring and alerting setup (runner health, queue
|
|
44
|
+
depth, job wait times), and the cost comparison (self-hosted vs
|
|
45
|
+
GitHub-hosted for your usage). Include the runner registration
|
|
46
|
+
automation and the disaster recovery plan.
|
|
47
|
+
|
|
48
|
+
assertions:
|
|
49
|
+
- type: llm_judge
|
|
50
|
+
criteria: "Architecture recommendation is well-reasoned — evaluates all 4 options with pros/cons for the specific requirements, likely recommends ARC or cloud auto-scaling for ephemeral runners, and addresses GPU needs for ML jobs separately from general CI"
|
|
51
|
+
weight: 0.35
|
|
52
|
+
description: "Well-reasoned architecture"
|
|
53
|
+
- type: llm_judge
|
|
54
|
+
criteria: "Security hardening is comprehensive — covers ephemeral runners (clean state per job), network isolation (firewall rules, no internet for sensitive repos), runner groups for team isolation, automatic patching, and protection against malicious workflows"
|
|
55
|
+
weight: 0.35
|
|
56
|
+
description: "Comprehensive security hardening"
|
|
57
|
+
- type: llm_judge
|
|
58
|
+
criteria: "Cost comparison is data-driven — calculates the total cost of self-hosted (hardware, maintenance, networking, engineer time) vs GitHub-hosted ($15K/month), identifies the break-even point, and the monitoring setup tracks runner utilization to optimize costs"
|
|
59
|
+
weight: 0.30
|
|
60
|
+
description: "Data-driven cost comparison"
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: workflow-optimization
|
|
3
|
+
level: 3
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Optimize workflow performance — reduce CI time from 30 to 10 minutes using parallelism, caching, and smart architecture"
|
|
7
|
+
tags: [github, actions, optimization, parallelism, performance, advanced]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
Your team's main CI workflow takes 30 minutes to complete. This is
|
|
13
|
+
the #1 developer experience complaint. The CTO wants it under 10
|
|
14
|
+
minutes. Here's the current workflow and timing breakdown:
|
|
15
|
+
|
|
16
|
+
Current workflow (sequential):
|
|
17
|
+
```
|
|
18
|
+
checkout (30s) → install (3min) → lint (2min) → typecheck (3min) →
|
|
19
|
+
unit-tests (8min) → integration-tests (6min) → e2e-tests (5min) →
|
|
20
|
+
build (2min) → docker-build (1.5min) = 31 minutes total
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Additional data:
|
|
24
|
+
- Unit tests: 1,200 tests in 45 test files
|
|
25
|
+
- Integration tests: 80 tests requiring PostgreSQL + Redis
|
|
26
|
+
- E2E tests: 30 Cypress tests requiring a running dev server
|
|
27
|
+
- Build output: 12MB frontend bundle + Docker image
|
|
28
|
+
- Cache hit rate: 60% (should be 95%+)
|
|
29
|
+
- Runner: ubuntu-latest (2 CPU, 7GB RAM)
|
|
30
|
+
|
|
31
|
+
Optimization budget:
|
|
32
|
+
- Can split into multiple parallel jobs
|
|
33
|
+
- Can use larger runners (4 CPU, 16GB RAM) — 2x cost but 2x faster
|
|
34
|
+
- Can use test sharding (split tests across parallel workers)
|
|
35
|
+
- Can use remote caching (Turborepo remote cache or similar)
|
|
36
|
+
- Can restructure tests (some unit tests may actually be integration)
|
|
37
|
+
|
|
38
|
+
Task: Redesign the workflow for sub-10-minute completion. Write: the
|
|
39
|
+
optimized workflow YAML with parallel jobs, the test sharding
|
|
40
|
+
configuration (split unit tests across N workers), the caching
|
|
41
|
+
strategy (to achieve 95%+ hit rate), the runner sizing analysis
|
|
42
|
+
(standard vs larger runners — cost vs speed trade-off), and the
|
|
43
|
+
before/after comparison (timeline diagram showing parallel execution
|
|
44
|
+
vs sequential). Explain each optimization technique and its expected
|
|
45
|
+
impact.
|
|
46
|
+
|
|
47
|
+
assertions:
|
|
48
|
+
- type: llm_judge
|
|
49
|
+
criteria: "Workflow is redesigned for parallelism — lint, typecheck, and unit tests run in parallel (not sequential), e2e tests use sharding across multiple runners, and the critical path is identified and optimized to under 10 minutes"
|
|
50
|
+
weight: 0.35
|
|
51
|
+
description: "Parallel workflow redesign"
|
|
52
|
+
- type: llm_judge
|
|
53
|
+
criteria: "Test sharding is correctly implemented — unit tests split across N parallel workers using matrix strategy with test file distribution, integration tests use proper service containers, and e2e tests are sharded with Cypress's parallelization"
|
|
54
|
+
weight: 0.35
|
|
55
|
+
description: "Correct test sharding"
|
|
56
|
+
- type: llm_judge
|
|
57
|
+
criteria: "Before/after comparison is clear — shows the timeline diagram (text-based) of sequential vs parallel execution, quantifies each optimization's contribution, and the cost analysis compares standard vs larger runners at the new parallel configuration"
|
|
58
|
+
weight: 0.30
|
|
59
|
+
description: "Clear before/after comparison"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cicd-data-architecture
|
|
3
|
+
level: 4
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Design CI/CD data architecture — build analytics pipelines for workflow metrics, cost tracking, and predictive insights"
|
|
7
|
+
tags: [github, actions, data-architecture, analytics, metrics, DORA, expert]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the Head of Data Engineering building the data infrastructure
|
|
13
|
+
for CI/CD analytics. The platform team needs data to track DORA
|
|
14
|
+
metrics, optimize costs, and predict failures. Currently there's no
|
|
15
|
+
centralized CI/CD data — metrics are scattered across GitHub API
|
|
16
|
+
responses, runner logs, and deployment systems.
|
|
17
|
+
|
|
18
|
+
Data sources:
|
|
19
|
+
- GitHub Actions API: Workflow runs, job details, step timings, costs
|
|
20
|
+
- GitHub webhooks: Real-time workflow events (50,000+ events/day)
|
|
21
|
+
- Self-hosted runner metrics: CPU, memory, queue depth (Prometheus)
|
|
22
|
+
- Cloud provider APIs: Deployment status, resource costs
|
|
23
|
+
- Incident management: PagerDuty alerts, incident timelines
|
|
24
|
+
- Git data: Commit frequency, PR merge times, branch patterns
|
|
25
|
+
|
|
26
|
+
Analytics requirements:
|
|
27
|
+
1. DORA metrics dashboard (deployment frequency, lead time, MTTR,
|
|
28
|
+
change failure rate) — real-time, per team, trending
|
|
29
|
+
2. Cost analytics (per-team, per-repo, per-workflow cost allocation
|
|
30
|
+
with budget alerts)
|
|
31
|
+
3. Failure prediction (ML model to predict which PRs will have CI
|
|
32
|
+
failures based on files changed, time of day, author history)
|
|
33
|
+
4. Performance trending (workflow duration trends, bottleneck
|
|
34
|
+
detection, runner utilization optimization)
|
|
35
|
+
5. Compliance reporting (automated evidence for SOC 2 audits)
|
|
36
|
+
|
|
37
|
+
Constraints:
|
|
38
|
+
- Budget: $100K/year for data infrastructure
|
|
39
|
+
- Must handle 50K+ events/day without data loss
|
|
40
|
+
- DORA dashboard must update within 5 minutes of events
|
|
41
|
+
- Cost data must be accurate to within $1 per team per month
|
|
42
|
+
- 2-year data retention for compliance
|
|
43
|
+
|
|
44
|
+
Task: Design the CI/CD data architecture. Write: the data model
|
|
45
|
+
(entities, relationships, derived metrics), the ingestion pipeline
|
|
46
|
+
(webhook processing, API polling, stream processing), the storage
|
|
47
|
+
strategy (time-series for metrics, OLAP for analytics, feature store
|
|
48
|
+
for ML), the DORA metrics computation logic, and the ML pipeline for
|
|
49
|
+
failure prediction. Include the cost breakdown for the $100K budget.
|
|
50
|
+
|
|
51
|
+
assertions:
|
|
52
|
+
- type: llm_judge
|
|
53
|
+
criteria: "DORA metrics computation is correct — deployment frequency counts production deploys per day, lead time measures commit-to-deploy, MTTR measures incident-open-to-resolved, change failure rate is failed-deploys/total-deploys, and all are computed per-team with correct time windows"
|
|
54
|
+
weight: 0.35
|
|
55
|
+
description: "Correct DORA metrics computation"
|
|
56
|
+
- type: llm_judge
|
|
57
|
+
criteria: "Architecture fits the $100K budget — uses cost-effective technologies (not enterprise tools), handles 50K+ events/day reliably, and the cost breakdown accounts for compute, storage, and data transfer across all components"
|
|
58
|
+
weight: 0.35
|
|
59
|
+
description: "Budget-fitting architecture"
|
|
60
|
+
- type: llm_judge
|
|
61
|
+
criteria: "ML failure prediction is practical — identifies useful features (files changed, test history, time of day, PR size, author failure rate), proposes a reasonable model (not over-engineered), and the feature store design supports both batch training and real-time inference"
|
|
62
|
+
weight: 0.30
|
|
63
|
+
description: "Practical ML failure prediction"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cicd-economics-roi
|
|
3
|
+
level: 4
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Analyze CI/CD economics — calculate the true cost, model ROI, and present the business case for CI/CD investment"
|
|
7
|
+
tags: [github, actions, economics, ROI, cost-analysis, business-case, expert]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the Director of Engineering presenting a business case to the
|
|
13
|
+
CFO for a $2M CI/CD platform investment. The CFO asks: "We spend
|
|
14
|
+
$1.2M/year on GitHub Actions already. Why invest more?"
|
|
15
|
+
|
|
16
|
+
Current CI/CD costs:
|
|
17
|
+
- GitHub Actions: $1.2M/year (minutes + storage)
|
|
18
|
+
- Self-hosted runners: $300K/year (infrastructure + maintenance)
|
|
19
|
+
- Engineering time on CI/CD: 3 FTEs dedicated ($600K/year)
|
|
20
|
+
- Time lost to CI failures: estimated 2 hours/week per developer
|
|
21
|
+
- Total: ~$2.1M/year visible costs
|
|
22
|
+
|
|
23
|
+
Hidden costs (to calculate):
|
|
24
|
+
- Developer waiting time: 800 engineers × avg 20 min/day waiting
|
|
25
|
+
for CI = ? hours/year at $85/hour fully loaded
|
|
26
|
+
- Failed deployments: 12/quarter, avg 4 hours to fix, 3 engineers
|
|
27
|
+
- Rollbacks: 8/quarter, avg 2 hours, 2 engineers
|
|
28
|
+
- Context switching: developers context-switch while waiting for
|
|
29
|
+
30-minute CI runs
|
|
30
|
+
|
|
31
|
+
Proposed investment ($2M over 2 years):
|
|
32
|
+
1. CI/CD platform team: 5 FTEs ($1M/year)
|
|
33
|
+
2. Self-hosted runner infrastructure upgrade: $400K
|
|
34
|
+
3. Tooling and automation: $200K
|
|
35
|
+
4. Training program: $100K
|
|
36
|
+
|
|
37
|
+
Expected outcomes:
|
|
38
|
+
- Reduce average CI time from 25 min to 8 min
|
|
39
|
+
- Reduce deployment failures from 12/quarter to 2/quarter
|
|
40
|
+
- Eliminate 80% of developer CI wait time
|
|
41
|
+
- Standardize deployment across all 200 repos
|
|
42
|
+
|
|
43
|
+
Task: Build the complete economic model. Write: the true cost of
|
|
44
|
+
the current state (including all hidden costs), the investment
|
|
45
|
+
analysis for the proposed $2M (expected returns, payback period,
|
|
46
|
+
NPV), the risk-adjusted projection (what if improvements are only
|
|
47
|
+
50% of target), the DORA metrics improvement forecast (deployment
|
|
48
|
+
frequency, lead time, MTTR, change failure rate), and the 2-page
|
|
49
|
+
executive summary for the CFO. Include a sensitivity analysis.
|
|
50
|
+
|
|
51
|
+
assertions:
|
|
52
|
+
- type: llm_judge
|
|
53
|
+
criteria: "Hidden costs are calculated — developer wait time is quantified (800 engineers × 20 min/day × 250 days × $85/hour), deployment failure costs are summed, and the total true cost is significantly higher than the visible $2.1M"
|
|
54
|
+
weight: 0.35
|
|
55
|
+
description: "Calculated hidden costs"
|
|
56
|
+
- type: llm_judge
|
|
57
|
+
criteria: "Investment analysis is rigorous — includes NPV with appropriate discount rate, payback period calculation, sensitivity analysis (best/expected/worst case), and the risk-adjusted projection shows the investment is worthwhile even at 50% of expected improvements"
|
|
58
|
+
weight: 0.35
|
|
59
|
+
description: "Rigorous investment analysis"
|
|
60
|
+
- type: llm_judge
|
|
61
|
+
criteria: "Executive summary is CFO-ready — leads with business impact (not technical details), presents the 'do nothing' cost, shows clear ROI, includes DORA metrics improvement as industry-standard benchmarks, and fits in 2 pages"
|
|
62
|
+
weight: 0.30
|
|
63
|
+
description: "CFO-ready executive summary"
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cicd-executive-communication
|
|
3
|
+
level: 4
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Executive communication about CI/CD — present platform health, investment needs, and strategic roadmap to C-suite audiences"
|
|
7
|
+
tags: [github, actions, executive, communication, strategy, DORA-metrics, expert]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the CTO preparing 3 executive communications about CI/CD
|
|
13
|
+
platform strategy. Each audience has different concerns.
|
|
14
|
+
|
|
15
|
+
Communication 1 — Board of Directors quarterly update:
|
|
16
|
+
The board wants to understand "engineering velocity" as a competitive
|
|
17
|
+
metric. Your DORA metrics data:
|
|
18
|
+
- Deployment frequency: 45/day (up from 8/day last year)
|
|
19
|
+
- Lead time for changes: 2.3 hours (down from 5 days)
|
|
20
|
+
- Mean time to recovery: 18 minutes (down from 4 hours)
|
|
21
|
+
- Change failure rate: 2.1% (down from 12%)
|
|
22
|
+
All metrics are now in the "Elite" DORA category. The board asks:
|
|
23
|
+
"How does this compare to competitors and how does it impact revenue?"
|
|
24
|
+
|
|
25
|
+
Communication 2 — CFO budget review:
|
|
26
|
+
CI/CD costs increased 300% year-over-year ($400K → $1.6M) due to
|
|
27
|
+
growth from 100 to 500 engineers. The CFO wants to understand: is
|
|
28
|
+
this scaling linearly (bad) or sublinearly (good)? What's the cost
|
|
29
|
+
per deployment? How does the investment in the platform team ($3M)
|
|
30
|
+
pay back? And should the company consider moving from GitHub Actions
|
|
31
|
+
to a cheaper alternative?
|
|
32
|
+
|
|
33
|
+
Communication 3 — All-engineering town hall:
|
|
34
|
+
You're presenting the CI/CD platform roadmap for the next year. The
|
|
35
|
+
audience includes engineers frustrated with current CI speed ("builds
|
|
36
|
+
take 30 minutes"), teams that want more deployment autonomy ("why
|
|
37
|
+
do we need the platform team's approval to change our pipeline"),
|
|
38
|
+
and security engineers who want stricter controls.
|
|
39
|
+
|
|
40
|
+
Task: Write all 3 communications. For each: adapt the message to
|
|
41
|
+
the audience, use data effectively, include specific asks or next
|
|
42
|
+
steps, and anticipate tough questions. The board update should be
|
|
43
|
+
1 page, the CFO review should include financial models, and the
|
|
44
|
+
town hall should be an engaging presentation outline.
|
|
45
|
+
|
|
46
|
+
assertions:
|
|
47
|
+
- type: llm_judge
|
|
48
|
+
criteria: "Board communication connects DORA metrics to business value — translates elite DORA metrics into competitive advantage (faster time-to-market, lower outage costs, higher engineering productivity), with industry benchmarks for context"
|
|
49
|
+
weight: 0.35
|
|
50
|
+
description: "Business-value board communication"
|
|
51
|
+
- type: llm_judge
|
|
52
|
+
criteria: "CFO review has solid financial analysis — shows cost-per-deployment trend (should be declining despite total cost increase), demonstrates sublinear cost scaling per engineer, and makes a data-driven case against switching platforms (migration cost vs savings)"
|
|
53
|
+
weight: 0.35
|
|
54
|
+
description: "Financial CFO review"
|
|
55
|
+
- type: llm_judge
|
|
56
|
+
criteria: "Town hall addresses all audience segments — acknowledges the 30-minute build frustration with a specific improvement plan, explains the balance between autonomy and governance, and gives security engineers confidence in the compliance roadmap"
|
|
57
|
+
weight: 0.30
|
|
58
|
+
description: "Multi-audience town hall"
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cicd-incident-response
|
|
3
|
+
level: 4
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Respond to CI/CD incidents — handle platform outages, security breaches, and deployment failures at the organizational level"
|
|
7
|
+
tags: [github, actions, incident-response, outage, security, postmortem, expert]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the Head of Platform Engineering handling 3 major CI/CD
|
|
13
|
+
incidents simultaneously. Each requires a different response strategy.
|
|
14
|
+
|
|
15
|
+
Incident 1 — GitHub Actions outage (Severity: P1):
|
|
16
|
+
GitHub Actions has been experiencing degraded performance for 2 hours.
|
|
17
|
+
Workflow runs are queuing but not starting. GitHub's status page says
|
|
18
|
+
"Investigating." Your entire engineering org (500 developers) is
|
|
19
|
+
blocked. 15 production deployments are queued, including a critical
|
|
20
|
+
security patch. The CEO asks: "When will engineering be unblocked?"
|
|
21
|
+
You need to: determine the blast radius, activate the business
|
|
22
|
+
continuity plan, get the security patch deployed manually, and
|
|
23
|
+
communicate to the organization.
|
|
24
|
+
|
|
25
|
+
Incident 2 — Credential leak via CI logs (Severity: P1):
|
|
26
|
+
A workflow accidentally printed a database connection string (with
|
|
27
|
+
password) to the build logs. The logs are public (open-source repo).
|
|
28
|
+
The credentials provide read/write access to the production database
|
|
29
|
+
containing 2M user records. The log has been visible for 6 hours.
|
|
30
|
+
You need to: assess data exposure, rotate credentials, scrub the
|
|
31
|
+
logs, notify the security team, and determine if data was accessed.
|
|
32
|
+
|
|
33
|
+
Incident 3 — Deployment pipeline corruption (Severity: P2):
|
|
34
|
+
A misconfigured reusable workflow update caused all deployments to
|
|
35
|
+
deploy to the wrong environment. For 4 hours, staging deployments
|
|
36
|
+
went to production and production deployments went to staging. 3
|
|
37
|
+
untested features are now in production, and production data is being
|
|
38
|
+
written by staging code. No data loss yet, but data consistency is
|
|
39
|
+
at risk.
|
|
40
|
+
|
|
41
|
+
Task: Handle all 3 incidents. For each, write: the incident
|
|
42
|
+
commander's playbook (first 15 minutes, first hour, resolution),
|
|
43
|
+
the communication plan (who gets told what and when), the technical
|
|
44
|
+
resolution steps, and the post-incident review (root cause, corrective
|
|
45
|
+
actions, process improvements). Include: the unified incident report
|
|
46
|
+
for the CTO and the long-term platform resilience improvements.
|
|
47
|
+
|
|
48
|
+
assertions:
|
|
49
|
+
- type: llm_judge
|
|
50
|
+
criteria: "Incident response follows proper IC protocol — establishes incident commander, defines clear communication channels, provides regular status updates, and each incident has a clear escalation path and resolution criteria"
|
|
51
|
+
weight: 0.35
|
|
52
|
+
description: "Proper IC protocol"
|
|
53
|
+
- type: llm_judge
|
|
54
|
+
criteria: "Technical resolutions are correct — GitHub outage has a BCP (fallback to self-hosted or manual deploy for security patch), credential leak has immediate rotation + log scrubbing + access audit, and environment swap is fixed with immediate rollback and data integrity verification"
|
|
55
|
+
weight: 0.35
|
|
56
|
+
description: "Correct technical resolutions"
|
|
57
|
+
- type: llm_judge
|
|
58
|
+
criteria: "Post-incident improvements are systemic — identifies that all 3 incidents reveal platform resilience gaps (no GitHub fallback, secrets in logs possible, environment config as single point of failure) and proposes permanent fixes"
|
|
59
|
+
weight: 0.30
|
|
60
|
+
description: "Systemic post-incident improvements"
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cicd-org-design
|
|
3
|
+
level: 4
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Design CI/CD organization — build teams, define roles, and create career paths for CI/CD platform engineering"
|
|
7
|
+
tags: [github, actions, org-design, platform-engineering, teams, career-paths, expert]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the VP of Engineering creating a dedicated Platform Engineering
|
|
13
|
+
team that owns CI/CD. The company has 600 engineers and no centralized
|
|
14
|
+
CI/CD ownership — each team manages their own workflows, leading to
|
|
15
|
+
inconsistency, duplication, and poor developer experience.
|
|
16
|
+
|
|
17
|
+
Current pain points:
|
|
18
|
+
- 40% of developer time in surveys is "fighting CI/CD issues"
|
|
19
|
+
- No standard deployment process across 200 repos
|
|
20
|
+
- 3 different cloud authentication methods (static keys, OIDC, SSO)
|
|
21
|
+
- Self-hosted runners managed by 3 different teams with no coordination
|
|
22
|
+
- Security team manually audits CI/CD configurations quarterly
|
|
23
|
+
- New team onboarding takes 2 weeks just for CI/CD setup
|
|
24
|
+
|
|
25
|
+
Organizational mandate:
|
|
26
|
+
- Create a Platform Engineering team focused on CI/CD
|
|
27
|
+
- Headcount: 15 FTEs (mix of engineers, SREs, and program managers)
|
|
28
|
+
- Budget: $3M/year (headcount + infrastructure)
|
|
29
|
+
- Goal: Reduce "fighting CI/CD" from 40% to 10% within 1 year
|
|
30
|
+
|
|
31
|
+
Design questions:
|
|
32
|
+
1. Team structure: How to organize 15 people across different functions
|
|
33
|
+
2. Interaction model: How does the platform team serve 600 engineers
|
|
34
|
+
3. Service catalog: What services does the team provide
|
|
35
|
+
4. Career ladder: How do platform engineers grow
|
|
36
|
+
5. Success metrics: How to measure the team's impact
|
|
37
|
+
6. Funding model: Chargeback to teams vs central funding
|
|
38
|
+
|
|
39
|
+
Task: Design the complete organization. Write: the team structure
|
|
40
|
+
(roles, responsibilities, reporting), the service catalog (what the
|
|
41
|
+
team provides and what it doesn't), the interaction model with product
|
|
42
|
+
teams (self-service platform, office hours, embedded support), the
|
|
43
|
+
career ladder (from junior platform engineer to staff/principal), the
|
|
44
|
+
success metrics and OKRs for the first year, and the funding model
|
|
45
|
+
with cost allocation.
|
|
46
|
+
|
|
47
|
+
assertions:
|
|
48
|
+
- type: llm_judge
|
|
49
|
+
criteria: "Team structure is balanced — includes platform engineers (build tooling), SREs (reliability/observability), and a program manager (governance/adoption), with clear roles and the right ratio for a 15-person team"
|
|
50
|
+
weight: 0.35
|
|
51
|
+
description: "Balanced team structure"
|
|
52
|
+
- type: llm_judge
|
|
53
|
+
criteria: "Service catalog is clear about boundaries — defines what the team owns (shared workflows, runner fleet, deployment pipelines) vs what product teams own (app-specific tests, feature flags), with a self-service model that scales beyond the 15-person team"
|
|
54
|
+
weight: 0.35
|
|
55
|
+
description: "Clear service catalog boundaries"
|
|
56
|
+
- type: llm_judge
|
|
57
|
+
criteria: "Success metrics are measurable — includes both output metrics (platform uptime, deployment frequency) and outcome metrics (developer satisfaction, time-to-first-deploy for new teams), and the OKRs target reducing 'fighting CI/CD' from 40% to 10%"
|
|
58
|
+
weight: 0.30
|
|
59
|
+
description: "Measurable success metrics"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cicd-platform-architecture
|
|
3
|
+
level: 4
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Architect a CI/CD platform — design the internal platform that manages runners, workflows, and deployments at enterprise scale"
|
|
7
|
+
tags: [github, actions, platform, architecture, runners, scaling, expert]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the Staff Engineer designing the internal CI/CD platform for
|
|
13
|
+
a 800-engineer organization. The platform sits between GitHub Actions
|
|
14
|
+
and the cloud infrastructure, providing a managed experience.
|
|
15
|
+
|
|
16
|
+
Platform requirements:
|
|
17
|
+
1. Runner management: Auto-scaled runner pools for different workloads
|
|
18
|
+
(CI, deployment, ML training, iOS builds)
|
|
19
|
+
2. Workflow orchestration: Standard deployment pipelines that teams
|
|
20
|
+
adopt via reusable workflows
|
|
21
|
+
3. Secret management: Centralized secret store (HashiCorp Vault)
|
|
22
|
+
integrated with GitHub Actions via OIDC
|
|
23
|
+
4. Artifact management: Central artifact store with retention policies
|
|
24
|
+
5. Observability: Metrics, logs, and traces for all workflow runs
|
|
25
|
+
6. Cost management: Per-team cost allocation and budget enforcement
|
|
26
|
+
|
|
27
|
+
Scale requirements:
|
|
28
|
+
- 5,000 workflow runs per day
|
|
29
|
+
- 200 concurrent jobs during peak
|
|
30
|
+
- 4 runner pools: Linux CI (150 runners), Linux GPU (10), macOS (20),
|
|
31
|
+
Windows (20)
|
|
32
|
+
- 99.9% uptime (CI platform down = all teams blocked)
|
|
33
|
+
- < 30 second job startup time (cold start)
|
|
34
|
+
|
|
35
|
+
Technical constraints:
|
|
36
|
+
- Runs on existing Kubernetes cluster (AWS EKS)
|
|
37
|
+
- Must use actions-runner-controller (ARC) for runner management
|
|
38
|
+
- Must integrate with existing Vault, Datadog, and PagerDuty
|
|
39
|
+
- Must support both GitHub Enterprise Cloud and self-hosted runners
|
|
40
|
+
- Budget: $500K/year for infrastructure
|
|
41
|
+
|
|
42
|
+
Task: Design the CI/CD platform architecture. Write: the system
|
|
43
|
+
architecture (components, data flow, integrations), the runner
|
|
44
|
+
auto-scaling design (scale-to-zero, warm pools, GPU scheduling),
|
|
45
|
+
the observability stack (metrics to collect, dashboards, alerts),
|
|
46
|
+
the cost management system (per-team tracking, budget alerts),
|
|
47
|
+
and the disaster recovery plan (what happens when the platform goes
|
|
48
|
+
down). Include architecture diagrams (text-based) and capacity
|
|
49
|
+
planning calculations.
|
|
50
|
+
|
|
51
|
+
assertions:
|
|
52
|
+
- type: llm_judge
|
|
53
|
+
criteria: "Architecture handles the scale — ARC configuration supports 200 concurrent jobs with proper auto-scaling policies, runner pool isolation prevents noisy-neighbor issues, cold start is addressed with warm pools, and the $500K budget is allocated across compute, storage, and networking"
|
|
54
|
+
weight: 0.35
|
|
55
|
+
description: "Scale-handling architecture"
|
|
56
|
+
- type: llm_judge
|
|
57
|
+
criteria: "Observability is comprehensive — tracks runner utilization, job queue depth, wait time, success rates, and cost per team. Integrates with Datadog for metrics and PagerDuty for alerts. Dashboards are designed for different audiences (engineers, managers, finance)"
|
|
58
|
+
weight: 0.35
|
|
59
|
+
description: "Comprehensive observability"
|
|
60
|
+
- type: llm_judge
|
|
61
|
+
criteria: "Disaster recovery is enterprise-grade — defines RTO and RPO for the CI platform, has a fallback plan when the platform is down (GitHub-hosted runners as failover), and the 99.9% uptime target is addressed with redundancy and monitoring"
|
|
62
|
+
weight: 0.30
|
|
63
|
+
description: "Enterprise-grade disaster recovery"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cicd-training-program
|
|
3
|
+
level: 4
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Design CI/CD training program — create a comprehensive curriculum for building GitHub Actions expertise across an organization"
|
|
7
|
+
tags: [github, actions, training, education, certification, onboarding, expert]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're designing a company-wide GitHub Actions training program for
|
|
13
|
+
your 500-engineer organization. Currently, CI/CD knowledge is
|
|
14
|
+
concentrated in 10 people, and the rest of the org depends on them
|
|
15
|
+
for any workflow changes.
|
|
16
|
+
|
|
17
|
+
Current problems the training must address:
|
|
18
|
+
- Only 10 engineers can modify CI/CD workflows confidently
|
|
19
|
+
- New hires take 4 weeks before they can run their first deployment
|
|
20
|
+
- 40% of CI/CD support tickets are "how do I do X in GitHub Actions"
|
|
21
|
+
- Teams copy-paste workflows without understanding them
|
|
22
|
+
- Security misconfigurations are found quarterly in workflow audits
|
|
23
|
+
- 3 incidents in the last year caused by poorly written workflows
|
|
24
|
+
|
|
25
|
+
Target audience tiers:
|
|
26
|
+
1. All engineers: Basic workflow literacy (read and understand CI/CD)
|
|
27
|
+
2. Team leads: Workflow authoring (create and maintain team workflows)
|
|
28
|
+
3. Platform contributors: Advanced automation (build reusable
|
|
29
|
+
workflows, custom actions, platform integrations)
|
|
30
|
+
4. Security engineers: Security review of workflows
|
|
31
|
+
|
|
32
|
+
Available formats:
|
|
33
|
+
- Self-paced modules (budget: $40K to develop)
|
|
34
|
+
- Monthly live workshops (budget: $20K/year)
|
|
35
|
+
- Sandbox environment (dedicated GitHub org for practice)
|
|
36
|
+
- Certification program (gamification)
|
|
37
|
+
- Weekly office hours with the platform team
|
|
38
|
+
|
|
39
|
+
Constraints:
|
|
40
|
+
- Maximum 4 hours of training per engineer per quarter
|
|
41
|
+
- Must be available asynchronously (remote-first company)
|
|
42
|
+
- Must show measurable impact within 6 months
|
|
43
|
+
- Must reduce CI/CD support tickets by 50%
|
|
44
|
+
|
|
45
|
+
Task: Design the complete training program. Write: the curriculum
|
|
46
|
+
for each tier (learning objectives, modules, hands-on exercises),
|
|
47
|
+
the sandbox environment design (pre-configured repos for practice),
|
|
48
|
+
the certification system (levels, requirements, rewards), the
|
|
49
|
+
measurement framework (how to prove training reduces tickets and
|
|
50
|
+
incidents), and the rollout plan. Include sample exercises for each
|
|
51
|
+
tier.
|
|
52
|
+
|
|
53
|
+
assertions:
|
|
54
|
+
- type: llm_judge
|
|
55
|
+
criteria: "Curriculum is tier-appropriate — all-engineers learn to read workflows and trigger deployments, team leads learn to author workflows and manage secrets, platform contributors learn reusable workflows and custom actions, and security engineers learn vulnerability assessment"
|
|
56
|
+
weight: 0.35
|
|
57
|
+
description: "Tier-appropriate curriculum"
|
|
58
|
+
- type: llm_judge
|
|
59
|
+
criteria: "Sandbox environment is practical — provides pre-configured repos with progressive exercises, simulates real scenarios (failing tests, flaky CI, deployment issues), and allows safe experimentation without affecting production"
|
|
60
|
+
weight: 0.35
|
|
61
|
+
description: "Practical sandbox environment"
|
|
62
|
+
- type: llm_judge
|
|
63
|
+
criteria: "Measurement framework proves ROI — tracks leading indicators (training completion, sandbox exercise pass rates) and lagging indicators (support ticket volume, incident count, time-to-first-deployment for new hires), with a clear before/after comparison"
|
|
64
|
+
weight: 0.30
|
|
65
|
+
description: "ROI-proving measurement framework"
|