@haposoft/cafekit 0.16.0-rc.8 → 0.16.0

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 (297) hide show
  1. package/README.md +116 -27
  2. package/bin/__tests__/codex-hooks-ownership.test.js +239 -0
  3. package/bin/__tests__/codex-hooks.test.js +50 -0
  4. package/bin/__tests__/codex-native.test.js +1882 -70
  5. package/bin/__tests__/develop-contract.test.js +400 -23
  6. package/bin/__tests__/installer-safety.test.js +3 -3
  7. package/bin/__tests__/optional-skill-inventory.test.js +249 -0
  8. package/bin/__tests__/output-styles.test.js +214 -0
  9. package/bin/__tests__/package-inventory.test.js +1735 -98
  10. package/bin/__tests__/runtime-schema.test.js +111 -0
  11. package/bin/__tests__/secret-output-guardrail.test.js +122 -0
  12. package/bin/__tests__/skill-routing-source.test.js +172 -0
  13. package/bin/__tests__/specs-v2-execution-closeout.test.js +1 -1
  14. package/bin/install.js +10 -0
  15. package/bin/lib/codex-install.js +170 -5
  16. package/bin/lib/context.js +14 -0
  17. package/bin/lib/i18n.js +12 -6
  18. package/bin/lib/skill-deps.js +5 -5
  19. package/bin/phases/claude-runtime.js +23 -0
  20. package/bin/phases/claude-settings.js +8 -0
  21. package/bin/phases/codex-hooks.js +156 -0
  22. package/bin/phases/codex-runtime.js +29 -38
  23. package/bin/phases/copy-payload.js +8 -2
  24. package/bin/phases/select-skill-bundles.js +96 -0
  25. package/bin/phases/skill-inventory.js +71 -0
  26. package/bin/phases/skills-setup.js +9 -2
  27. package/bin/phases/write-metadata.js +8 -5
  28. package/package.json +8 -2
  29. package/src/claude/CLAUDE.md +3 -3
  30. package/src/claude/agents/brainstormer.md +52 -69
  31. package/src/claude/agents/code-auditor.md +32 -14
  32. package/src/claude/agents/debugger.md +35 -20
  33. package/src/claude/agents/deployer.md +12 -5
  34. package/src/claude/agents/docs-keeper.md +11 -1
  35. package/src/claude/agents/implementer.md +25 -13
  36. package/src/claude/agents/inspector.md +6 -3
  37. package/src/claude/agents/project-manager.md +1 -1
  38. package/src/claude/agents/researcher.md +26 -55
  39. package/src/claude/agents/spec-maker.md +12 -7
  40. package/src/claude/agents/strategist.md +52 -0
  41. package/src/claude/agents/test-runner.md +117 -132
  42. package/src/claude/agents/ui-ux-designer.md +1 -1
  43. package/src/claude/hooks/__tests__/fixtures/statusline-default.golden +1 -0
  44. package/src/claude/hooks/__tests__/precompact.test.js +158 -0
  45. package/src/claude/hooks/__tests__/spec-gate.test.js +10 -3
  46. package/src/claude/hooks/__tests__/state.test.js +5 -0
  47. package/src/claude/hooks/__tests__/statusline.test.js +196 -0
  48. package/src/claude/hooks/agent.cjs +1 -1
  49. package/src/claude/hooks/docs-sync.cjs +12 -10
  50. package/src/claude/hooks/inspect-block.cjs +1 -1
  51. package/src/claude/hooks/lib/config.cjs +3 -0
  52. package/src/claude/hooks/lib/hook-state-dir.cjs +39 -0
  53. package/src/claude/hooks/lib/secret-keywords.cjs +42 -0
  54. package/src/claude/hooks/precompact.cjs +105 -0
  55. package/src/claude/hooks/rules.cjs +1 -1
  56. package/src/claude/hooks/secret-output-guardrail.cjs +43 -0
  57. package/src/claude/hooks/session.cjs +27 -1
  58. package/src/claude/hooks/spec-gate.cjs +3 -3
  59. package/src/claude/hooks/spec-state.cjs +2 -2
  60. package/src/claude/hooks/state.cjs +1 -1
  61. package/src/claude/hooks/task-scaffold-guard.cjs +1 -1
  62. package/src/claude/hooks/usage.cjs +1 -1
  63. package/src/claude/migration-manifest.json +29 -15
  64. package/src/claude/output-styles/coding-level-0-eli5.md +103 -0
  65. package/src/claude/output-styles/coding-level-1-junior.md +124 -0
  66. package/src/claude/output-styles/coding-level-2-mid.md +146 -0
  67. package/src/claude/output-styles/coding-level-3-senior.md +148 -0
  68. package/src/claude/output-styles/coding-level-4-lead.md +159 -0
  69. package/src/claude/output-styles/coding-level-5-god.md +91 -0
  70. package/src/claude/references/debugger/core-philosophy.md +5 -3
  71. package/src/claude/references/debugger/frontend-verification.md +2 -2
  72. package/src/claude/references/debugger/log-ci-analysis.md +13 -1
  73. package/src/claude/references/debugger/parallel-agent-hydration.md +19 -34
  74. package/src/claude/references/debugger/performance-diagnostics.md +2 -2
  75. package/src/claude/references/debugger/root-cause-tracing.md +37 -6
  76. package/src/claude/references/debugger/side-effect-gate.md +3 -1
  77. package/src/claude/references/debugger/verification-protocol.md +13 -12
  78. package/src/claude/rules/orchestrator.md +7 -1
  79. package/src/claude/rules/process-management.md +39 -0
  80. package/src/claude/rules/review-audit-self-decision.md +48 -0
  81. package/src/claude/rules/skill-domain-routing.md +26 -24
  82. package/src/claude/rules/skill-workflow-routing.md +22 -14
  83. package/src/claude/rules/workflow.md +3 -3
  84. package/src/claude/runtime.json +1 -0
  85. package/src/claude/runtime.schema.json +205 -0
  86. package/src/claude/scripts/generate-skill-catalog.cjs +156 -122
  87. package/src/claude/scripts/provenance.cjs +18 -5
  88. package/src/claude/scripts/workflow-policy.cjs +1 -1
  89. package/src/claude/settings/settings.json +16 -0
  90. package/src/claude/skills/agent-browser/SKILL.md +1 -1
  91. package/src/claude/skills/ai-multimodal/SKILL.md +1 -1
  92. package/src/claude/skills/brainstorm/SKILL.md +193 -172
  93. package/src/claude/skills/brainstorm/references/question-framework.md +105 -167
  94. package/src/claude/skills/chrome-devtools/SKILL.md +1 -1
  95. package/src/claude/skills/code-review/SKILL.md +43 -25
  96. package/src/claude/skills/code-review/references/spec-compliance-review.md +3 -4
  97. package/src/claude/skills/code-review/references/verification-gate.md +1 -1
  98. package/src/claude/skills/debug/SKILL.md +48 -19
  99. package/src/claude/skills/delegate/SKILL.md +1 -1
  100. package/src/claude/skills/develop/SKILL.md +92 -65
  101. package/src/claude/skills/develop/references/parallel-waves.md +36 -63
  102. package/src/claude/skills/develop/references/quality-gate.md +31 -4
  103. package/src/claude/skills/develop/references/subagent-patterns.md +21 -7
  104. package/src/claude/skills/docs/SKILL.md +42 -23
  105. package/src/claude/skills/docs/references/init-workflow.md +4 -4
  106. package/src/claude/skills/docs/references/reconstruct-workflow.md +6 -6
  107. package/src/claude/skills/docs/references/standard-docs-workflow.md +6 -2
  108. package/src/claude/skills/docs/references/summarize-workflow.md +2 -2
  109. package/src/claude/skills/docs/references/update-workflow.md +9 -7
  110. package/src/claude/skills/docs/templates/requirements-as-is.md +1 -1
  111. package/src/claude/skills/docx/SKILL.md +1 -1
  112. package/src/claude/skills/git/SKILL.md +1 -1
  113. package/src/claude/skills/git/references/commit-protocols.md +1 -1
  114. package/src/claude/skills/git/references/finish-branch.md +1 -1
  115. package/src/claude/skills/hotfix/SKILL.md +159 -170
  116. package/src/claude/skills/hotfix/references/diagnosis-protocol.md +14 -9
  117. package/src/claude/skills/hotfix/references/parallel-patterns.md +27 -13
  118. package/src/claude/skills/hotfix/references/prevention-gate.md +5 -0
  119. package/src/claude/skills/hotfix/references/review-cycle.md +21 -15
  120. package/src/claude/skills/hotfix/references/workflow-specialized.md +53 -21
  121. package/src/claude/skills/inspect/SKILL.md +55 -46
  122. package/src/claude/skills/inspect/references/internal-inspection.md +21 -5
  123. package/src/claude/skills/loop/SKILL.md +114 -0
  124. package/src/claude/skills/loop/references/bounded-loop-protocol.md +104 -0
  125. package/src/claude/skills/loop/references/metric-and-guard-contract.md +76 -0
  126. package/src/claude/skills/pdf/SKILL.md +1 -1
  127. package/src/claude/skills/pptx/SKILL.md +1 -1
  128. package/src/claude/skills/question/SKILL.md +16 -13
  129. package/src/claude/skills/research/SKILL.md +70 -43
  130. package/src/claude/skills/route/SKILL.md +94 -0
  131. package/src/claude/skills/route/references/agent-timing.md +46 -0
  132. package/src/claude/skills/route/references/chaining-patterns.md +53 -0
  133. package/src/claude/skills/route/references/task-taxonomy.md +48 -0
  134. package/src/claude/skills/specs/SKILL.md +41 -60
  135. package/src/claude/skills/specs/references/review.md +11 -8
  136. package/src/claude/skills/specs/references/templates.md +34 -18
  137. package/src/claude/skills/specs/templates/requirements-init.md +1 -1
  138. package/src/claude/skills/specs/templates/research.md +2 -2
  139. package/src/claude/skills/sync/SKILL.md +6 -6
  140. package/src/claude/skills/sync/references/sync-protocols.md +1 -1
  141. package/src/claude/skills/test/SKILL.md +120 -120
  142. package/src/claude/skills/test/references/execution-strategy.md +208 -361
  143. package/src/claude/skills/test/references/failure-triage.md +55 -121
  144. package/src/claude/skills/test/references/test-memory.md +20 -34
  145. package/src/claude/skills/ui-ux-pro-max/SKILL.md +1 -1
  146. package/src/claude/skills/web-testing/SKILL.md +1 -1
  147. package/src/claude/skills/xlsx/SKILL.md +1 -1
  148. package/src/claude/status.cjs +135 -33
  149. package/src/codex/AGENTS.md +14 -4
  150. package/src/codex/hooks/docs-sync.cjs +8 -3
  151. package/src/codex/hooks/lib/hook-context.cjs +18 -4
  152. package/src/codex/hooks/rules.cjs +29 -1
  153. package/src/codex/hooks/secret-output-guardrail.cjs +30 -0
  154. package/src/codex/hooks/spec-gate.cjs +3 -8
  155. package/src/codex/hooks/spec-state.cjs +2 -1
  156. package/src/codex/hooks.json +5 -0
  157. package/src/codex/runtime.json +2 -0
  158. package/src/common/.env.example +1 -1
  159. package/src/claude/skills/backend-development/SKILL.md +0 -101
  160. package/src/claude/skills/backend-development/references/backend-api-design.md +0 -495
  161. package/src/claude/skills/backend-development/references/backend-architecture.md +0 -454
  162. package/src/claude/skills/backend-development/references/backend-authentication.md +0 -338
  163. package/src/claude/skills/backend-development/references/backend-code-quality.md +0 -659
  164. package/src/claude/skills/backend-development/references/backend-debugging.md +0 -904
  165. package/src/claude/skills/backend-development/references/backend-devops.md +0 -491
  166. package/src/claude/skills/backend-development/references/backend-mindset.md +0 -387
  167. package/src/claude/skills/backend-development/references/backend-performance.md +0 -397
  168. package/src/claude/skills/backend-development/references/backend-security.md +0 -342
  169. package/src/claude/skills/backend-development/references/backend-technologies.md +0 -256
  170. package/src/claude/skills/backend-development/references/backend-testing.md +0 -429
  171. package/src/claude/skills/devops/.env.example +0 -76
  172. package/src/claude/skills/devops/SKILL.md +0 -102
  173. package/src/claude/skills/devops/references/browser-rendering.md +0 -305
  174. package/src/claude/skills/devops/references/cloudflare-d1-kv.md +0 -123
  175. package/src/claude/skills/devops/references/cloudflare-platform.md +0 -271
  176. package/src/claude/skills/devops/references/cloudflare-r2-storage.md +0 -280
  177. package/src/claude/skills/devops/references/cloudflare-workers-advanced.md +0 -312
  178. package/src/claude/skills/devops/references/cloudflare-workers-apis.md +0 -309
  179. package/src/claude/skills/devops/references/cloudflare-workers-basics.md +0 -418
  180. package/src/claude/skills/devops/references/docker-basics.md +0 -297
  181. package/src/claude/skills/devops/references/docker-compose.md +0 -292
  182. package/src/claude/skills/devops/references/gcloud-platform.md +0 -297
  183. package/src/claude/skills/devops/references/gcloud-services.md +0 -304
  184. package/src/claude/skills/devops/references/kubernetes-basics.md +0 -95
  185. package/src/claude/skills/devops/references/kubernetes-helm-advanced.md +0 -70
  186. package/src/claude/skills/devops/references/kubernetes-helm.md +0 -81
  187. package/src/claude/skills/devops/references/kubernetes-kubectl.md +0 -74
  188. package/src/claude/skills/devops/references/kubernetes-security-advanced.md +0 -94
  189. package/src/claude/skills/devops/references/kubernetes-security.md +0 -89
  190. package/src/claude/skills/devops/references/kubernetes-troubleshooting-advanced.md +0 -74
  191. package/src/claude/skills/devops/references/kubernetes-troubleshooting.md +0 -49
  192. package/src/claude/skills/devops/references/kubernetes-workflows-advanced.md +0 -75
  193. package/src/claude/skills/devops/references/kubernetes-workflows.md +0 -76
  194. package/src/claude/skills/devops/scripts/cloudflare_deploy.py +0 -269
  195. package/src/claude/skills/devops/scripts/docker_optimize.py +0 -332
  196. package/src/claude/skills/devops/scripts/requirements.txt +0 -20
  197. package/src/claude/skills/devops/scripts/tests/requirements.txt +0 -3
  198. package/src/claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +0 -285
  199. package/src/claude/skills/devops/scripts/tests/test_docker_optimize.py +0 -436
  200. package/src/claude/skills/frontend-design/SKILL.md +0 -135
  201. package/src/claude/skills/frontend-design/references/ai-multimodal-overview.md +0 -165
  202. package/src/claude/skills/frontend-design/references/analysis-best-practices.md +0 -80
  203. package/src/claude/skills/frontend-design/references/analysis-prompts.md +0 -141
  204. package/src/claude/skills/frontend-design/references/analysis-techniques.md +0 -118
  205. package/src/claude/skills/frontend-design/references/animejs.md +0 -396
  206. package/src/claude/skills/frontend-design/references/anti-slop-rules.md +0 -103
  207. package/src/claude/skills/frontend-design/references/asset-generation.md +0 -337
  208. package/src/claude/skills/frontend-design/references/bento-motion-engine.md +0 -142
  209. package/src/claude/skills/frontend-design/references/design-extraction-overview.md +0 -71
  210. package/src/claude/skills/frontend-design/references/extraction-best-practices.md +0 -141
  211. package/src/claude/skills/frontend-design/references/extraction-output-templates.md +0 -162
  212. package/src/claude/skills/frontend-design/references/extraction-prompts.md +0 -127
  213. package/src/claude/skills/frontend-design/references/magicui-components.md +0 -129
  214. package/src/claude/skills/frontend-design/references/performance-guardrails.md +0 -169
  215. package/src/claude/skills/frontend-design/references/premium-design-patterns.md +0 -93
  216. package/src/claude/skills/frontend-design/references/redesign-audit-checklist.md +0 -114
  217. package/src/claude/skills/frontend-design/references/technical-accessibility.md +0 -119
  218. package/src/claude/skills/frontend-design/references/technical-best-practices.md +0 -97
  219. package/src/claude/skills/frontend-design/references/technical-optimization.md +0 -44
  220. package/src/claude/skills/frontend-design/references/technical-overview.md +0 -90
  221. package/src/claude/skills/frontend-design/references/technical-workflows.md +0 -150
  222. package/src/claude/skills/frontend-design/references/visual-analysis-overview.md +0 -95
  223. package/src/claude/skills/frontend-design/references/workflow-3d.md +0 -102
  224. package/src/claude/skills/frontend-design/references/workflow-describe.md +0 -87
  225. package/src/claude/skills/frontend-design/references/workflow-immersive.md +0 -87
  226. package/src/claude/skills/frontend-design/references/workflow-quick.md +0 -57
  227. package/src/claude/skills/frontend-design/references/workflow-screenshot.md +0 -63
  228. package/src/claude/skills/frontend-design/references/workflow-video.md +0 -74
  229. package/src/claude/skills/frontend-development/SKILL.md +0 -406
  230. package/src/claude/skills/frontend-development/resources/common-patterns.md +0 -331
  231. package/src/claude/skills/frontend-development/resources/complete-examples.md +0 -872
  232. package/src/claude/skills/frontend-development/resources/component-patterns.md +0 -502
  233. package/src/claude/skills/frontend-development/resources/data-fetching.md +0 -767
  234. package/src/claude/skills/frontend-development/resources/file-organization.md +0 -502
  235. package/src/claude/skills/frontend-development/resources/loading-and-error-states.md +0 -501
  236. package/src/claude/skills/frontend-development/resources/performance.md +0 -406
  237. package/src/claude/skills/frontend-development/resources/routing-guide.md +0 -364
  238. package/src/claude/skills/frontend-development/resources/styling-guide.md +0 -428
  239. package/src/claude/skills/frontend-development/resources/typescript-standards.md +0 -418
  240. package/src/claude/skills/mobile-development/SKILL.md +0 -218
  241. package/src/claude/skills/mobile-development/references/mobile-android.md +0 -604
  242. package/src/claude/skills/mobile-development/references/mobile-best-practices.md +0 -544
  243. package/src/claude/skills/mobile-development/references/mobile-debugging.md +0 -1089
  244. package/src/claude/skills/mobile-development/references/mobile-frameworks.md +0 -465
  245. package/src/claude/skills/mobile-development/references/mobile-ios.md +0 -496
  246. package/src/claude/skills/mobile-development/references/mobile-mindset.md +0 -542
  247. package/src/claude/skills/react-best-practices/AGENTS.md +0 -2249
  248. package/src/claude/skills/react-best-practices/README.md +0 -123
  249. package/src/claude/skills/react-best-practices/SKILL.md +0 -128
  250. package/src/claude/skills/react-best-practices/metadata.json +0 -15
  251. package/src/claude/skills/react-best-practices/rules/_sections.md +0 -46
  252. package/src/claude/skills/react-best-practices/rules/_template.md +0 -28
  253. package/src/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  254. package/src/claude/skills/react-best-practices/rules/advanced-use-latest.md +0 -49
  255. package/src/claude/skills/react-best-practices/rules/async-api-routes.md +0 -38
  256. package/src/claude/skills/react-best-practices/rules/async-defer-await.md +0 -80
  257. package/src/claude/skills/react-best-practices/rules/async-dependencies.md +0 -36
  258. package/src/claude/skills/react-best-practices/rules/async-parallel.md +0 -28
  259. package/src/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  260. package/src/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  261. package/src/claude/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  262. package/src/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  263. package/src/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  264. package/src/claude/skills/react-best-practices/rules/bundle-preload.md +0 -50
  265. package/src/claude/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  266. package/src/claude/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  267. package/src/claude/skills/react-best-practices/rules/js-batch-dom-css.md +0 -82
  268. package/src/claude/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  269. package/src/claude/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  270. package/src/claude/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  271. package/src/claude/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  272. package/src/claude/skills/react-best-practices/rules/js-early-exit.md +0 -50
  273. package/src/claude/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  274. package/src/claude/skills/react-best-practices/rules/js-index-maps.md +0 -37
  275. package/src/claude/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  276. package/src/claude/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  277. package/src/claude/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  278. package/src/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  279. package/src/claude/skills/react-best-practices/rules/rendering-activity.md +0 -26
  280. package/src/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  281. package/src/claude/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  282. package/src/claude/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  283. package/src/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  284. package/src/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  285. package/src/claude/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  286. package/src/claude/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  287. package/src/claude/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  288. package/src/claude/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  289. package/src/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  290. package/src/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  291. package/src/claude/skills/react-best-practices/rules/rerender-memo.md +0 -44
  292. package/src/claude/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  293. package/src/claude/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  294. package/src/claude/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  295. package/src/claude/skills/react-best-practices/rules/server-cache-react.md +0 -26
  296. package/src/claude/skills/react-best-practices/rules/server-parallel-fetching.md +0 -79
  297. package/src/claude/skills/react-best-practices/rules/server-serialization.md +0 -38
@@ -1,70 +0,0 @@
1
- # Helm Advanced - Templates & Hooks
2
-
3
- ## Template Variables
4
- ```yaml
5
- # templates/deployment.yaml
6
- apiVersion: apps/v1
7
- kind: Deployment
8
- version: "1.0.0"
9
- spec:
10
- replicas: {{ .Values.replicaCount }}
11
- template:
12
- spec:
13
- containers:
14
- - name: {{ .Chart.Name }}
15
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
16
- {{- if .Values.resources }}
17
- resources:
18
- {{- toYaml .Values.resources | nindent 10 }}
19
- {{- end }}
20
- ```
21
-
22
- ## Helper Templates
23
- ```yaml
24
- # templates/_helpers.tpl
25
- {{- define "mychart.fullname" -}}
26
- {{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }}
27
- {{- end }}
28
-
29
- {{- define "mychart.labels" -}}
30
- app.kubernetes.io/name: {{ .Chart.Name }}
31
- app.kubernetes.io/instance: {{ .Release.Name }}
32
- {{- end }}
33
- ```
34
-
35
- ## Hooks
36
- ```yaml
37
- apiVersion: batch/v1
38
- kind: Job
39
- version: "1.0.0"
40
- spec:
41
- template:
42
- spec:
43
- containers:
44
- - name: post-install
45
- command: ["/bin/sh", "-c", "echo 'Done'"]
46
- restartPolicy: Never
47
- ```
48
-
49
- Hook types: `pre-install`, `post-install`, `pre-upgrade`, `post-upgrade`
50
-
51
- ## Packaging
52
- ```bash
53
- helm package mychart
54
- helm repo index . --url https://charts.example.com
55
- helm push mychart-1.0.0.tgz oci://registry.example.com/helm
56
- helm repo add myrepo https://charts.example.com
57
- helm install myapp myrepo/mychart
58
- ```
59
-
60
- ## Commands
61
-
62
- | Command | Purpose |
63
- |---------|---------|
64
- | `helm create` | Create |
65
- | `helm lint` | Validate |
66
- | `helm template` | Render |
67
- | `helm install` | Deploy |
68
- | `helm upgrade` | Update |
69
- | `helm rollback` | Revert |
70
- | `helm uninstall` | Remove |
@@ -1,81 +0,0 @@
1
- # Helm Package Management
2
-
3
- ## Core Concepts
4
-
5
- - **Chart:** Helm package with K8s resource definitions
6
- - **Repository:** Collection of charts
7
- - **Release:** Deployed instance of a chart
8
- - **Values:** Configuration that parameterizes charts
9
-
10
- ## Chart Structure
11
-
12
- ```
13
- mychart/
14
- ├── Chart.yaml # Metadata
15
- ├── values.yaml # Default values
16
- ├── charts/ # Dependencies
17
- ├── templates/
18
- │ ├── deployment.yaml
19
- │ ├── service.yaml
20
- │ ├── _helpers.tpl # Template helpers
21
- │ └── NOTES.txt
22
- └── values.schema.json # Validation (optional)
23
- ```
24
-
25
- ## Essential Commands
26
-
27
- ```bash
28
- helm create mychart # Create chart
29
- helm lint mychart # Validate
30
- helm template myrelease ./mychart # Render locally
31
- helm install myrelease ./mychart --dry-run --debug # Preview
32
-
33
- helm install myrelease ./mychart
34
- helm install myrelease ./mychart -f values-prod.yaml
35
- helm install myrelease ./mychart --set replicaCount=3
36
-
37
- helm upgrade myrelease ./mychart
38
- helm rollback myrelease 1
39
- helm list
40
- helm uninstall myrelease
41
- ```
42
-
43
- ## Multi-Environment
44
-
45
- ```bash
46
- # Files: values.yaml, values-dev.yaml, values-prod.yaml
47
- helm install myapp ./mychart -f values.yaml -f values-prod.yaml
48
- helm install myapp ./mychart --set replicaCount=3 --set image.tag=v1.2.3
49
- ```
50
-
51
- ## values.yaml Example
52
-
53
- ```yaml
54
- replicaCount: 2
55
- image:
56
- repository: myapp
57
- tag: "1.0.0"
58
- pullPolicy: IfNotPresent
59
- service:
60
- type: ClusterIP
61
- port: 8080
62
- resources:
63
- limits: { cpu: 500m, memory: 512Mi }
64
- requests: { cpu: 250m, memory: 256Mi }
65
- ```
66
-
67
- ## Dependencies
68
-
69
- ```yaml
70
- # Chart.yaml
71
- dependencies:
72
- - name: postgresql
73
- version: "12.1.0"
74
- repository: "https://charts.bitnami.com/bitnami"
75
- ```
76
-
77
- ```bash
78
- helm dependency update mychart
79
- ```
80
-
81
- See `kubernetes-helm-advanced.md` for templates, hooks, and packaging.
@@ -1,74 +0,0 @@
1
- # kubectl Essential Commands
2
-
3
- ## Cluster & Node
4
- ```bash
5
- kubectl cluster-info
6
- kubectl get nodes
7
- kubectl describe node <node-name>
8
- kubectl top nodes
9
- kubectl drain <node-name> --ignore-daemonsets
10
- kubectl uncordon <node-name>
11
- ```
12
-
13
- ## Pod Operations
14
- ```bash
15
- kubectl get pods -A # All namespaces
16
- kubectl get pods -o wide # Extended info
17
- kubectl describe pod <pod-name>
18
- kubectl logs <pod-name>
19
- kubectl logs -f <pod-name> # Follow
20
- kubectl logs --previous <pod-name> # Previous crash
21
- kubectl exec -it <pod-name> -- /bin/bash
22
- ```
23
-
24
- ## Deployment
25
- ```bash
26
- kubectl apply -f manifest.yaml
27
- kubectl apply -f ./manifests/
28
- kubectl apply -f manifest.yaml --dry-run=client -o yaml # Preview
29
- kubectl set image deployment/myapp app=myapp:v2
30
- kubectl delete -f manifest.yaml
31
- ```
32
-
33
- ## Service & Network
34
- ```bash
35
- kubectl port-forward service/myapp 8080:8080
36
- kubectl get svc
37
- kubectl exec -it <pod-name> -- curl http://service:8080
38
- kubectl exec -it <pod-name> -- nslookup kubernetes.default
39
- ```
40
-
41
- ## Debugging (Get → Describe → Logs)
42
- ```bash
43
- kubectl get pods -o wide
44
- kubectl get events -n <ns> --sort-by='.lastTimestamp'
45
- kubectl describe pod <pod-name>
46
- kubectl logs <pod-name> -c <container>
47
- ```
48
-
49
- ## Output & Filtering
50
- ```bash
51
- kubectl get pods -o json
52
- kubectl get pods -o yaml
53
- kubectl get pods -l app=myapp,tier=frontend
54
- kubectl get pods --field-selector=status.phase=Running
55
- kubectl get pods -w # Watch
56
- ```
57
-
58
- ## Flags
59
-
60
- | Flag | Purpose |
61
- |------|---------|
62
- | `-n` | Namespace |
63
- | `-A` | All namespaces |
64
- | `-o` | Output format |
65
- | `-l` | Label selector |
66
- | `-w` | Watch |
67
-
68
- ## Aliases
69
- ```bash
70
- alias k='kubectl'
71
- alias kgp='kubectl get pods'
72
- alias kd='kubectl describe'
73
- alias kl='kubectl logs'
74
- ```
@@ -1,94 +0,0 @@
1
- # Kubernetes Security Advanced
2
-
3
- ## ClusterRole (cluster-wide)
4
-
5
- ```yaml
6
- apiVersion: rbac.authorization.k8s.io/v1
7
- kind: ClusterRole
8
- version: "1.0.0"
9
- rules:
10
- - apiGroups: [""]
11
- resources: ["secrets"]
12
- verbs: ["get"]
13
- resourceNames: ["app-credentials"] # Restrict to specific
14
-
15
- ---
16
- apiVersion: rbac.authorization.k8s.io/v1
17
- kind: ClusterRoleBinding
18
- version: "1.0.0"
19
- subjects:
20
- - kind: User
21
- name: admin@example.com
22
- apiGroup: rbac.authorization.k8s.io
23
- roleRef:
24
- kind: ClusterRole
25
- name: cluster-admin
26
- apiGroup: rbac.authorization.k8s.io
27
- ```
28
-
29
- ## Secrets Management
30
-
31
- ```yaml
32
- apiVersion: v1
33
- kind: Secret
34
- version: "1.0.0"
35
- type: Opaque
36
- stringData:
37
- username: admin
38
- password: secretpassword
39
- ```
40
-
41
- ### Mount as env
42
- ```yaml
43
- env:
44
- - name: DB_PASSWORD
45
- valueFrom:
46
- secretKeyRef:
47
- name: db-credentials
48
- key: password
49
- ```
50
-
51
- ### Mount as volume
52
- ```yaml
53
- volumeMounts:
54
- - name: secret-volume
55
- mountPath: /etc/secrets
56
- readOnly: true
57
- volumes:
58
- - name: secret-volume
59
- secret:
60
- secretName: db-credentials
61
- ```
62
-
63
- ## Allow DNS (Required for most apps)
64
-
65
- ```yaml
66
- apiVersion: networking.k8s.io/v1
67
- kind: NetworkPolicy
68
- version: "1.0.0"
69
- spec:
70
- podSelector: {}
71
- policyTypes: [Egress]
72
- egress:
73
- - to:
74
- - namespaceSelector:
75
- matchLabels:
76
- name: kube-system
77
- ports:
78
- - { protocol: UDP, port: 53 }
79
- ```
80
-
81
- ## Security Checklist
82
-
83
- - [ ] RBAC with least-privilege roles
84
- - [ ] Pod Security Standards (restricted)
85
- - [ ] Network policies (default-deny + explicit allow)
86
- - [ ] Run containers as non-root
87
- - [ ] Read-only root filesystem
88
- - [ ] Drop all capabilities
89
- - [ ] Secrets for sensitive data
90
- - [ ] Image scanning enabled
91
- - [ ] Private container registry
92
- - [ ] Resource quotas and limits
93
- - [ ] Audit logging enabled
94
- - [ ] Regular credential rotation
@@ -1,89 +0,0 @@
1
- # Kubernetes Security
2
-
3
- ## RBAC (Role-Based Access Control)
4
-
5
- ### Role (namespace-scoped)
6
- ```yaml
7
- apiVersion: rbac.authorization.k8s.io/v1
8
- kind: Role
9
- version: "1.0.0"
10
- rules:
11
- - apiGroups: [""]
12
- resources: ["pods", "pods/log"]
13
- verbs: ["get", "list", "watch"]
14
- ```
15
-
16
- ### RoleBinding
17
- ```yaml
18
- apiVersion: rbac.authorization.k8s.io/v1
19
- kind: RoleBinding
20
- version: "1.0.0"
21
- subjects:
22
- - kind: ServiceAccount
23
- name: my-app-sa
24
- namespace: default
25
- roleRef:
26
- kind: Role
27
- name: pod-reader
28
- apiGroup: rbac.authorization.k8s.io
29
- ```
30
-
31
- ### Verify Permissions
32
- ```bash
33
- kubectl auth can-i get pods --as=system:serviceaccount:default:my-sa
34
- kubectl get roles,rolebindings -n default
35
- ```
36
-
37
- ## Pod Security (Restricted)
38
-
39
- ```yaml
40
- spec:
41
- securityContext:
42
- runAsNonRoot: true
43
- runAsUser: 1000
44
- seccompProfile:
45
- type: RuntimeDefault
46
- containers:
47
- - name: app
48
- securityContext:
49
- allowPrivilegeEscalation: false
50
- readOnlyRootFilesystem: true
51
- capabilities:
52
- drop: ["ALL"]
53
- ```
54
-
55
- Enable on namespace:
56
- ```bash
57
- kubectl label namespace default \
58
- pod-security.kubernetes.io/enforce=restricted
59
- ```
60
-
61
- ## Network Policies
62
-
63
- ### Default Deny
64
- ```yaml
65
- apiVersion: networking.k8s.io/v1
66
- kind: NetworkPolicy
67
- version: "1.0.0"
68
- spec:
69
- podSelector: {}
70
- policyTypes: [Ingress, Egress]
71
- ```
72
-
73
- ### Allow Specific
74
- ```yaml
75
- apiVersion: networking.k8s.io/v1
76
- kind: NetworkPolicy
77
- version: "1.0.0"
78
- spec:
79
- podSelector:
80
- matchLabels: { app: backend }
81
- ingress:
82
- - from:
83
- - podSelector:
84
- matchLabels: { app: frontend }
85
- ports:
86
- - { protocol: TCP, port: 8080 }
87
- ```
88
-
89
- See `kubernetes-security-advanced.md` for secrets, ClusterRoles, and checklist.
@@ -1,74 +0,0 @@
1
- # Kubernetes Troubleshooting Advanced
2
-
3
- ## Node Issues
4
- ```bash
5
- kubectl describe node <node-name> | grep -A 5 "Conditions:"
6
- kubectl top node <node-name>
7
- kubectl top pods -A --sort-by=memory
8
- kubectl drain <node-name> --ignore-daemonsets
9
- kubectl uncordon <node-name>
10
- ```
11
-
12
- ## CrashLoopBackOff
13
- ```bash
14
- kubectl logs <pod-name> --previous
15
- kubectl describe pod <pod-name>
16
- kubectl get pod <pod-name> -o yaml | grep -A 5 resources:
17
- ```
18
-
19
- ## HPA
20
- ```yaml
21
- apiVersion: autoscaling/v2
22
- kind: HorizontalPodAutoscaler
23
- spec:
24
- scaleTargetRef:
25
- apiVersion: apps/v1
26
- kind: Deployment
27
- name: myapp
28
- minReplicas: 2
29
- maxReplicas: 10
30
- metrics:
31
- - type: Resource
32
- resource:
33
- name: cpu
34
- target:
35
- type: Utilization
36
- averageUtilization: 70
37
- ```
38
-
39
- ## Anti-Patterns
40
-
41
- **Using `latest` tag:**
42
- ```yaml
43
- # ❌ image: myapp:latest
44
- # ✅ image: myapp:v1.2.3
45
- ```
46
-
47
- **Missing resources:**
48
- ```yaml
49
- # ✅ Always set
50
- resources:
51
- requests: { memory: "256Mi", cpu: "250m" }
52
- limits: { memory: "512Mi", cpu: "500m" }
53
- ```
54
-
55
- **Missing health checks:**
56
- ```yaml
57
- livenessProbe:
58
- httpGet: { path: /health, port: 8080 }
59
- readinessProbe:
60
- httpGet: { path: /ready, port: 8080 }
61
- ```
62
-
63
- **Running as root:**
64
- ```yaml
65
- securityContext:
66
- runAsNonRoot: true
67
- runAsUser: 1000
68
- ```
69
-
70
- ## Monitoring
71
- ```bash
72
- helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
73
- helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring
74
- ```
@@ -1,49 +0,0 @@
1
- # Kubernetes Troubleshooting
2
-
3
- ## Debugging Workflow
4
-
5
- ```bash
6
- # 1. Overview
7
- kubectl get pods -o wide
8
- kubectl get events -n <namespace> --sort-by='.lastTimestamp'
9
-
10
- # 2. Details
11
- kubectl describe pod <pod-name>
12
-
13
- # 3. Logs
14
- kubectl logs <pod-name>
15
- kubectl logs <pod-name> --previous # Crashed instance
16
- kubectl logs <pod-name> -c <container>
17
- ```
18
-
19
- ## Common Pod States
20
-
21
- | State | Cause | Solution |
22
- |-------|-------|----------|
23
- | Pending | No node resources | Check node capacity |
24
- | ContainerCreating | Image pulling | Check image URI |
25
- | CrashLoopBackOff | Container exits | Check logs, health checks |
26
- | ImagePullBackOff | Failed image pull | Verify credentials |
27
- | OOMKilled (137) | Out of memory | Increase memory limit |
28
-
29
- ## Service & Network
30
-
31
- ```bash
32
- kubectl exec -it <pod-name> -- nslookup kubernetes.default
33
- kubectl exec -it <pod-name> -- curl http://myservice:8080
34
- kubectl get endpoints <service-name>
35
- kubectl port-forward service/myservice 8080:8080
36
- kubectl get networkpolicies -A
37
- ```
38
-
39
- ## Quick Fixes
40
-
41
- | Problem | Command |
42
- |---------|---------|
43
- | Pod stuck | `kubectl delete pod <name> --grace-period=0 --force` |
44
- | High CPU | `kubectl top pods -A --sort-by=cpu` |
45
- | High memory | `kubectl top pods -A --sort-by=memory` |
46
- | Restart | `kubectl rollout restart deployment/<name>` |
47
- | Rollback | `kubectl rollout undo deployment/<name>` |
48
-
49
- See `kubernetes-troubleshooting-advanced.md` for node issues, HPA, anti-patterns.
@@ -1,75 +0,0 @@
1
- # Kubernetes Workflows Advanced
2
-
3
- ## CI/CD Pipeline
4
- ```yaml
5
- # GitHub Actions
6
- name: Build and Deploy
7
- on:
8
- push:
9
- branches: [main]
10
-
11
- jobs:
12
- build:
13
- runs-on: ubuntu-latest
14
- steps:
15
- - uses: actions/checkout@v3
16
- - run: docker build . -t $REGISTRY/$IMAGE:${{ github.sha }}
17
- - run: docker push $REGISTRY/$IMAGE:${{ github.sha }}
18
-
19
- deploy:
20
- needs: build
21
- steps:
22
- - uses: actions/checkout@v3
23
- with:
24
- repository: myorg/gitops-repo
25
- token: ${{ secrets.GITOPS_TOKEN }}
26
- - run: |
27
- sed -i 's|image:.*|image: $REGISTRY/$IMAGE:${{ github.sha }}|' k8s/deployment.yaml
28
- git commit -am "Update image" && git push
29
- ```
30
-
31
- ## Kustomize
32
-
33
- ```
34
- kustomize/
35
- ├── base/
36
- │ ├── kustomization.yaml
37
- │ └── deployment.yaml
38
- └── overlays/
39
- └── prod/
40
- └── kustomization.yaml
41
- ```
42
-
43
- ### Base
44
- ```yaml
45
- apiVersion: kustomize.config.k8s.io/v1beta1
46
- kind: Kustomization
47
- resources:
48
- - deployment.yaml
49
- commonLabels:
50
- app: myapp
51
- ```
52
-
53
- ### Prod Overlay
54
- ```yaml
55
- apiVersion: kustomize.config.k8s.io/v1beta1
56
- kind: Kustomization
57
- bases:
58
- - ../../base
59
- replicas:
60
- - name: myapp
61
- count: 5
62
- ```
63
-
64
- ```bash
65
- kubectl apply -k overlays/prod/
66
- ```
67
-
68
- ## Flux CD
69
- ```bash
70
- flux bootstrap github \
71
- --owner=myorg \
72
- --repository=fleet-infra \
73
- --branch=main \
74
- --path=clusters/my-cluster
75
- ```
@@ -1,76 +0,0 @@
1
- # Kubernetes Workflows
2
-
3
- ## GitOps Architecture
4
-
5
- ```
6
- Git Repository (desired state)
7
- │ Watches
8
- ▼
9
- GitOps Agent (Argo CD / Flux)
10
- │ Syncs
11
- ▼
12
- Kubernetes Cluster (actual state)
13
- ```
14
-
15
- **Benefits:** Single source of truth, auditable, automated, easy rollback
16
-
17
- ## Argo CD Setup
18
-
19
- ```bash
20
- kubectl create namespace argocd
21
- kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
22
- kubectl port-forward svc/argocd-server -n argocd 8080:443
23
- kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
24
- ```
25
-
26
- ### Application Manifest
27
- ```yaml
28
- apiVersion: argoproj.io/v1alpha1
29
- kind: Application
30
- version: blue # Change to 'green' to switch
31
- spec:
32
- project: default
33
- source:
34
- repoURL: https://github.com/myorg/myapp
35
- targetRevision: HEAD
36
- path: k8s/manifests
37
- destination:
38
- server: https://kubernetes.default.svc
39
- namespace: default
40
- syncPolicy:
41
- automated:
42
- prune: true
43
- selfHeal: true
44
- ```
45
-
46
- ## Deployment Patterns
47
-
48
- ### Rolling Update
49
- ```yaml
50
- spec:
51
- strategy:
52
- type: RollingUpdate
53
- rollingUpdate:
54
- maxSurge: 1
55
- maxUnavailable: 0
56
- ```
57
-
58
- ### Blue-Green
59
- ```yaml
60
- # Two deployments: myapp-blue, myapp-green
61
- # Service selector switches between versions
62
- selector:
63
- app: myapp
64
- version: blue # Change to 'green' to switch
65
- ```
66
-
67
- ### Canary (with Istio)
68
- ```yaml
69
- route:
70
- - destination: { host: myapp, subset: v1 }
71
- weight: 90
72
- - destination: { host: myapp, subset: v2 }
73
- weight: 10 # 10% canary
74
- ```
75
-
76
- See `kubernetes-workflows-advanced.md` for CI/CD, Kustomize patterns.