container-superposition 0.1.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.
Files changed (327) hide show
  1. package/README.md +843 -0
  2. package/dist/scripts/init.d.ts +3 -0
  3. package/dist/scripts/init.d.ts.map +1 -0
  4. package/dist/scripts/init.js +1190 -0
  5. package/dist/scripts/init.js.map +1 -0
  6. package/dist/scripts/migrate-to-manifests.d.ts +12 -0
  7. package/dist/scripts/migrate-to-manifests.d.ts.map +1 -0
  8. package/dist/scripts/migrate-to-manifests.js +230 -0
  9. package/dist/scripts/migrate-to-manifests.js.map +1 -0
  10. package/dist/tool/questionnaire/composer.d.ts +6 -0
  11. package/dist/tool/questionnaire/composer.d.ts.map +1 -0
  12. package/dist/tool/questionnaire/composer.js +1232 -0
  13. package/dist/tool/questionnaire/composer.js.map +1 -0
  14. package/dist/tool/readme/markdown-parser.d.ts +30 -0
  15. package/dist/tool/readme/markdown-parser.d.ts.map +1 -0
  16. package/dist/tool/readme/markdown-parser.js +139 -0
  17. package/dist/tool/readme/markdown-parser.js.map +1 -0
  18. package/dist/tool/readme/readme-generator.d.ts +9 -0
  19. package/dist/tool/readme/readme-generator.d.ts.map +1 -0
  20. package/dist/tool/readme/readme-generator.js +422 -0
  21. package/dist/tool/readme/readme-generator.js.map +1 -0
  22. package/dist/tool/schema/custom-loader.d.ts +17 -0
  23. package/dist/tool/schema/custom-loader.d.ts.map +1 -0
  24. package/dist/tool/schema/custom-loader.js +149 -0
  25. package/dist/tool/schema/custom-loader.js.map +1 -0
  26. package/dist/tool/schema/overlay-loader.d.ts +47 -0
  27. package/dist/tool/schema/overlay-loader.d.ts.map +1 -0
  28. package/dist/tool/schema/overlay-loader.js +252 -0
  29. package/dist/tool/schema/overlay-loader.js.map +1 -0
  30. package/dist/tool/schema/types.d.ts +212 -0
  31. package/dist/tool/schema/types.d.ts.map +1 -0
  32. package/dist/tool/schema/types.js +5 -0
  33. package/dist/tool/schema/types.js.map +1 -0
  34. package/docs/README.md +308 -0
  35. package/docs/architecture.md +233 -0
  36. package/docs/creating-overlays.md +549 -0
  37. package/docs/custom-patches.md +540 -0
  38. package/docs/dependencies.md +279 -0
  39. package/docs/examples/custom-patches-example.md +85 -0
  40. package/docs/examples.md +576 -0
  41. package/docs/messaging-comparison.md +265 -0
  42. package/docs/messaging-quick-start.md +385 -0
  43. package/docs/observability-workflow.md +537 -0
  44. package/docs/overlay-manifest-refactoring.md +214 -0
  45. package/docs/overlay-metadata-archive.md +54 -0
  46. package/docs/overlays.md +523 -0
  47. package/docs/presets-architecture.md +498 -0
  48. package/docs/presets.md +366 -0
  49. package/docs/publishing.md +476 -0
  50. package/docs/quick-reference.md +326 -0
  51. package/docs/ux.md +170 -0
  52. package/features/README.md +85 -0
  53. package/features/cross-distro-packages/README.md +146 -0
  54. package/features/cross-distro-packages/devcontainer-feature.json +20 -0
  55. package/features/cross-distro-packages/install.sh +58 -0
  56. package/features/local-secrets-manager/devcontainer-feature.json +18 -0
  57. package/features/local-secrets-manager/install.sh +127 -0
  58. package/features/project-scaffolder/devcontainer-feature.json +24 -0
  59. package/features/project-scaffolder/install.sh +100 -0
  60. package/features/team-conventions/devcontainer-feature.json +24 -0
  61. package/features/team-conventions/install.sh +93 -0
  62. package/overlays/.registry/README.md +14 -0
  63. package/overlays/.registry/base-images.yml +26 -0
  64. package/overlays/.registry/base-templates.yml +7 -0
  65. package/overlays/README.md +155 -0
  66. package/overlays/alertmanager/.env.example +5 -0
  67. package/overlays/alertmanager/README.md +465 -0
  68. package/overlays/alertmanager/alert-rules.yml +56 -0
  69. package/overlays/alertmanager/alertmanager.yml +42 -0
  70. package/overlays/alertmanager/devcontainer.patch.json +12 -0
  71. package/overlays/alertmanager/docker-compose.yml +20 -0
  72. package/overlays/alertmanager/overlay.yml +17 -0
  73. package/overlays/alertmanager/setup.sh +53 -0
  74. package/overlays/alertmanager/verify.sh +31 -0
  75. package/overlays/aws-cli/README.md +473 -0
  76. package/overlays/aws-cli/devcontainer.patch.json +13 -0
  77. package/overlays/aws-cli/overlay.yml +13 -0
  78. package/overlays/azure-cli/README.md +551 -0
  79. package/overlays/azure-cli/devcontainer.patch.json +8 -0
  80. package/overlays/azure-cli/overlay.yml +13 -0
  81. package/overlays/bun/README.md +312 -0
  82. package/overlays/bun/devcontainer.patch.json +41 -0
  83. package/overlays/bun/overlay.yml +16 -0
  84. package/overlays/bun/setup.sh +79 -0
  85. package/overlays/bun/verify.sh +30 -0
  86. package/overlays/codex/README.md +128 -0
  87. package/overlays/codex/devcontainer.patch.json +3 -0
  88. package/overlays/codex/overlay.yml +14 -0
  89. package/overlays/codex/setup.sh +24 -0
  90. package/overlays/codex/verify.sh +30 -0
  91. package/overlays/commitlint/README.md +333 -0
  92. package/overlays/commitlint/devcontainer.patch.json +8 -0
  93. package/overlays/commitlint/overlay.yml +16 -0
  94. package/overlays/commitlint/setup.sh +234 -0
  95. package/overlays/direnv/README.md +504 -0
  96. package/overlays/direnv/devcontainer.patch.json +6 -0
  97. package/overlays/direnv/overlay.yml +13 -0
  98. package/overlays/direnv/setup.sh +139 -0
  99. package/overlays/docker-in-docker/README.md +534 -0
  100. package/overlays/docker-in-docker/devcontainer.patch.json +10 -0
  101. package/overlays/docker-in-docker/overlay.yml +13 -0
  102. package/overlays/docker-sock/README.md +256 -0
  103. package/overlays/docker-sock/devcontainer.patch.json +9 -0
  104. package/overlays/docker-sock/docker-compose.yml +8 -0
  105. package/overlays/docker-sock/overlay.yml +13 -0
  106. package/overlays/dotnet/README.md +147 -0
  107. package/overlays/dotnet/devcontainer.patch.json +51 -0
  108. package/overlays/dotnet/global-tools.txt +24 -0
  109. package/overlays/dotnet/overlay.yml +13 -0
  110. package/overlays/dotnet/setup.sh +51 -0
  111. package/overlays/dotnet/verify.sh +26 -0
  112. package/overlays/gcloud/README.md +269 -0
  113. package/overlays/gcloud/devcontainer.patch.json +14 -0
  114. package/overlays/gcloud/overlay.yml +14 -0
  115. package/overlays/gcloud/verify.sh +52 -0
  116. package/overlays/git-helpers/README.md +168 -0
  117. package/overlays/git-helpers/devcontainer.patch.json +33 -0
  118. package/overlays/git-helpers/overlay.yml +15 -0
  119. package/overlays/git-helpers/setup.sh +91 -0
  120. package/overlays/go/README.md +293 -0
  121. package/overlays/go/devcontainer.patch.json +43 -0
  122. package/overlays/go/overlay.yml +15 -0
  123. package/overlays/go/setup.sh +33 -0
  124. package/overlays/go/verify.sh +40 -0
  125. package/overlays/grafana/.env.example +9 -0
  126. package/overlays/grafana/README.md +462 -0
  127. package/overlays/grafana/dashboard-provider.yml +11 -0
  128. package/overlays/grafana/dashboards/observability-overview.json +263 -0
  129. package/overlays/grafana/devcontainer.patch.json +12 -0
  130. package/overlays/grafana/docker-compose.yml +27 -0
  131. package/overlays/grafana/grafana-datasources.yml +57 -0
  132. package/overlays/grafana/overlay.yml +21 -0
  133. package/overlays/grafana/verify.sh +34 -0
  134. package/overlays/jaeger/.env.example +7 -0
  135. package/overlays/jaeger/README.md +867 -0
  136. package/overlays/jaeger/devcontainer.patch.json +12 -0
  137. package/overlays/jaeger/docker-compose.yml +17 -0
  138. package/overlays/jaeger/overlay.yml +19 -0
  139. package/overlays/java/README.md +267 -0
  140. package/overlays/java/devcontainer.patch.json +44 -0
  141. package/overlays/java/overlay.yml +16 -0
  142. package/overlays/java/setup.sh +41 -0
  143. package/overlays/java/verify.sh +42 -0
  144. package/overlays/just/README.md +443 -0
  145. package/overlays/just/devcontainer.patch.json +3 -0
  146. package/overlays/just/overlay.yml +13 -0
  147. package/overlays/just/setup.sh +182 -0
  148. package/overlays/kubectl-helm/README.md +660 -0
  149. package/overlays/kubectl-helm/devcontainer.patch.json +10 -0
  150. package/overlays/kubectl-helm/overlay.yml +13 -0
  151. package/overlays/loki/.env.example +5 -0
  152. package/overlays/loki/README.md +1156 -0
  153. package/overlays/loki/devcontainer.patch.json +12 -0
  154. package/overlays/loki/docker-compose.yml +18 -0
  155. package/overlays/loki/loki-config.yaml +45 -0
  156. package/overlays/loki/overlay.yml +17 -0
  157. package/overlays/minio/.env.example +9 -0
  158. package/overlays/minio/README.md +639 -0
  159. package/overlays/minio/devcontainer.patch.json +30 -0
  160. package/overlays/minio/docker-compose.yml +28 -0
  161. package/overlays/minio/overlay.yml +18 -0
  162. package/overlays/minio/setup.sh +61 -0
  163. package/overlays/minio/verify.sh +64 -0
  164. package/overlays/mkdocs/README.md +309 -0
  165. package/overlays/mkdocs/devcontainer.patch.json +24 -0
  166. package/overlays/mkdocs/overlay.yml +15 -0
  167. package/overlays/modern-cli-tools/README.md +556 -0
  168. package/overlays/modern-cli-tools/devcontainer.patch.json +3 -0
  169. package/overlays/modern-cli-tools/overlay.yml +13 -0
  170. package/overlays/modern-cli-tools/setup.sh +153 -0
  171. package/overlays/mongodb/.env.example +9 -0
  172. package/overlays/mongodb/README.md +481 -0
  173. package/overlays/mongodb/devcontainer.patch.json +32 -0
  174. package/overlays/mongodb/docker-compose.yml +44 -0
  175. package/overlays/mongodb/overlay.yml +17 -0
  176. package/overlays/mongodb/verify.sh +48 -0
  177. package/overlays/mysql/.env.example +11 -0
  178. package/overlays/mysql/README.md +542 -0
  179. package/overlays/mysql/devcontainer.patch.json +34 -0
  180. package/overlays/mysql/docker-compose.yml +55 -0
  181. package/overlays/mysql/overlay.yml +16 -0
  182. package/overlays/mysql/verify.sh +48 -0
  183. package/overlays/nats/.env.example +5 -0
  184. package/overlays/nats/README.md +762 -0
  185. package/overlays/nats/devcontainer.patch.json +24 -0
  186. package/overlays/nats/docker-compose.yml +31 -0
  187. package/overlays/nats/overlay.yml +18 -0
  188. package/overlays/nats/verify.sh +50 -0
  189. package/overlays/ngrok/README.md +503 -0
  190. package/overlays/ngrok/devcontainer.patch.json +3 -0
  191. package/overlays/ngrok/overlay.yml +14 -0
  192. package/overlays/ngrok/setup.sh +125 -0
  193. package/overlays/nodejs/README.md +192 -0
  194. package/overlays/nodejs/devcontainer.patch.json +49 -0
  195. package/overlays/nodejs/global-packages.txt +16 -0
  196. package/overlays/nodejs/overlay.yml +14 -0
  197. package/overlays/nodejs/setup.sh +46 -0
  198. package/overlays/nodejs/verify.sh +32 -0
  199. package/overlays/otel-collector/.env.example +9 -0
  200. package/overlays/otel-collector/README.md +1257 -0
  201. package/overlays/otel-collector/devcontainer.patch.json +28 -0
  202. package/overlays/otel-collector/docker-compose.yml +22 -0
  203. package/overlays/otel-collector/otel-collector-config.yaml +68 -0
  204. package/overlays/otel-collector/overlay.yml +21 -0
  205. package/overlays/otel-collector/setup.sh +49 -0
  206. package/overlays/otel-demo-nodejs/.env.example +2 -0
  207. package/overlays/otel-demo-nodejs/Dockerfile-otel-demo-nodejs +17 -0
  208. package/overlays/otel-demo-nodejs/README.md +409 -0
  209. package/overlays/otel-demo-nodejs/devcontainer.patch.json +12 -0
  210. package/overlays/otel-demo-nodejs/docker-compose.yml +19 -0
  211. package/overlays/otel-demo-nodejs/overlay.yml +23 -0
  212. package/overlays/otel-demo-nodejs/package-otel-demo-nodejs.json +20 -0
  213. package/overlays/otel-demo-nodejs/server-otel-demo-nodejs.js +259 -0
  214. package/overlays/otel-demo-nodejs/tracing-otel-demo-nodejs.js +57 -0
  215. package/overlays/otel-demo-nodejs/verify.sh +31 -0
  216. package/overlays/otel-demo-python/.env.example +2 -0
  217. package/overlays/otel-demo-python/Dockerfile-otel-demo-python +16 -0
  218. package/overlays/otel-demo-python/README.md +82 -0
  219. package/overlays/otel-demo-python/app-otel-demo-python.py +208 -0
  220. package/overlays/otel-demo-python/devcontainer.patch.json +12 -0
  221. package/overlays/otel-demo-python/docker-compose.yml +19 -0
  222. package/overlays/otel-demo-python/overlay.yml +23 -0
  223. package/overlays/otel-demo-python/requirements-otel-demo-python.txt +4 -0
  224. package/overlays/otel-demo-python/verify.sh +31 -0
  225. package/overlays/playwright/README.md +629 -0
  226. package/overlays/playwright/devcontainer.patch.json +9 -0
  227. package/overlays/playwright/overlay.yml +13 -0
  228. package/overlays/postgres/.env.example +6 -0
  229. package/overlays/postgres/README.md +602 -0
  230. package/overlays/postgres/devcontainer.patch.json +21 -0
  231. package/overlays/postgres/docker-compose.yml +22 -0
  232. package/overlays/postgres/overlay.yml +15 -0
  233. package/overlays/postgres/verify.sh +45 -0
  234. package/overlays/powershell/README.md +314 -0
  235. package/overlays/powershell/devcontainer.patch.json +22 -0
  236. package/overlays/powershell/overlay.yml +13 -0
  237. package/overlays/powershell/setup.sh +29 -0
  238. package/overlays/powershell/verify.sh +38 -0
  239. package/overlays/pre-commit/README.md +263 -0
  240. package/overlays/pre-commit/devcontainer.patch.json +9 -0
  241. package/overlays/pre-commit/overlay.yml +16 -0
  242. package/overlays/pre-commit/setup.sh +129 -0
  243. package/overlays/presets/docs-site.yml +118 -0
  244. package/overlays/presets/fullstack.yml +181 -0
  245. package/overlays/presets/microservice.yml +118 -0
  246. package/overlays/presets/web-api.yml +109 -0
  247. package/overlays/prometheus/.env.example +5 -0
  248. package/overlays/prometheus/README.md +1246 -0
  249. package/overlays/prometheus/devcontainer.patch.json +12 -0
  250. package/overlays/prometheus/docker-compose.yml +22 -0
  251. package/overlays/prometheus/overlay.yml +17 -0
  252. package/overlays/prometheus/prometheus.yml +12 -0
  253. package/overlays/prometheus/verify.sh +34 -0
  254. package/overlays/promtail/.env.example +2 -0
  255. package/overlays/promtail/README.md +357 -0
  256. package/overlays/promtail/devcontainer.patch.json +5 -0
  257. package/overlays/promtail/docker-compose.yml +16 -0
  258. package/overlays/promtail/overlay.yml +17 -0
  259. package/overlays/promtail/promtail-config.yaml +60 -0
  260. package/overlays/promtail/verify.sh +31 -0
  261. package/overlays/pulumi/README.md +472 -0
  262. package/overlays/pulumi/devcontainer.patch.json +13 -0
  263. package/overlays/pulumi/overlay.yml +14 -0
  264. package/overlays/pulumi/verify.sh +31 -0
  265. package/overlays/python/README.md +919 -0
  266. package/overlays/python/devcontainer.patch.json +41 -0
  267. package/overlays/python/overlay.yml +12 -0
  268. package/overlays/python/requirements-overlay.txt +13 -0
  269. package/overlays/python/setup.sh +47 -0
  270. package/overlays/python/verify.sh +32 -0
  271. package/overlays/rabbitmq/.env.example +7 -0
  272. package/overlays/rabbitmq/README.md +680 -0
  273. package/overlays/rabbitmq/devcontainer.patch.json +28 -0
  274. package/overlays/rabbitmq/docker-compose.yml +30 -0
  275. package/overlays/rabbitmq/overlay.yml +18 -0
  276. package/overlays/rabbitmq/verify.sh +41 -0
  277. package/overlays/redis/.env.example +4 -0
  278. package/overlays/redis/README.md +776 -0
  279. package/overlays/redis/devcontainer.patch.json +21 -0
  280. package/overlays/redis/docker-compose.yml +21 -0
  281. package/overlays/redis/overlay.yml +15 -0
  282. package/overlays/redis/verify.sh +41 -0
  283. package/overlays/redpanda/.env.example +10 -0
  284. package/overlays/redpanda/README.md +703 -0
  285. package/overlays/redpanda/devcontainer.patch.json +37 -0
  286. package/overlays/redpanda/docker-compose.yml +67 -0
  287. package/overlays/redpanda/overlay.yml +21 -0
  288. package/overlays/redpanda/verify.sh +48 -0
  289. package/overlays/rust/README.md +299 -0
  290. package/overlays/rust/devcontainer.patch.json +39 -0
  291. package/overlays/rust/overlay.yml +15 -0
  292. package/overlays/rust/setup.sh +36 -0
  293. package/overlays/rust/verify.sh +51 -0
  294. package/overlays/sqlite/README.md +584 -0
  295. package/overlays/sqlite/devcontainer.patch.json +14 -0
  296. package/overlays/sqlite/overlay.yml +15 -0
  297. package/overlays/sqlite/setup.sh +27 -0
  298. package/overlays/sqlite/verify.sh +43 -0
  299. package/overlays/sqlserver/.env.example +6 -0
  300. package/overlays/sqlserver/README.md +592 -0
  301. package/overlays/sqlserver/devcontainer.patch.json +22 -0
  302. package/overlays/sqlserver/docker-compose.yml +32 -0
  303. package/overlays/sqlserver/overlay.yml +17 -0
  304. package/overlays/sqlserver/verify.sh +30 -0
  305. package/overlays/tempo/.env.example +5 -0
  306. package/overlays/tempo/README.md +273 -0
  307. package/overlays/tempo/devcontainer.patch.json +12 -0
  308. package/overlays/tempo/docker-compose.yml +20 -0
  309. package/overlays/tempo/overlay.yml +20 -0
  310. package/overlays/tempo/tempo-config.yaml +32 -0
  311. package/overlays/tempo/verify.sh +31 -0
  312. package/overlays/terraform/README.md +389 -0
  313. package/overlays/terraform/devcontainer.patch.json +15 -0
  314. package/overlays/terraform/overlay.yml +14 -0
  315. package/overlays/terraform/verify.sh +63 -0
  316. package/package.json +74 -0
  317. package/templates/README.md +285 -0
  318. package/templates/compose/.devcontainer/devcontainer.json +46 -0
  319. package/templates/compose/.devcontainer/docker-compose.yml +12 -0
  320. package/templates/compose/README.md +20 -0
  321. package/templates/plain/.devcontainer/devcontainer.json +35 -0
  322. package/templates/plain/README.md +21 -0
  323. package/tool/README.md +281 -0
  324. package/tool/schema/base-images.schema.json +43 -0
  325. package/tool/schema/base-templates.schema.json +34 -0
  326. package/tool/schema/config.schema.json +71 -0
  327. package/tool/schema/overlay-manifest.schema.json +86 -0
@@ -0,0 +1,660 @@
1
+ # kubectl + Helm Overlay
2
+
3
+ Kubernetes command-line tools for managing containerized applications and Helm package manager for Kubernetes.
4
+
5
+ ## Features
6
+
7
+ - **kubectl** - Kubernetes command-line interface
8
+ - **Helm 3** - Kubernetes package manager
9
+ - **Auto-completion** - Command completion for kubectl and helm
10
+ - **Multiple cluster support** - Switch between different Kubernetes contexts
11
+ - **YAML validation** - Kubernetes manifest validation
12
+
13
+ ## Getting Started
14
+
15
+ ### Connecting to a Cluster
16
+
17
+ Before using kubectl, you need to configure access to your Kubernetes cluster.
18
+
19
+ #### Local Clusters
20
+
21
+ ```bash
22
+ # For minikube
23
+ minikube start
24
+ kubectl config use-context minikube
25
+
26
+ # For kind (Kubernetes in Docker)
27
+ kind create cluster
28
+ kubectl config use-context kind-kind
29
+
30
+ # For Docker Desktop
31
+ kubectl config use-context docker-desktop
32
+ ```
33
+
34
+ #### Cloud-Managed Clusters
35
+
36
+ ```bash
37
+ # AWS EKS (requires aws-cli overlay)
38
+ aws eks update-kubeconfig --region us-east-1 --name my-cluster
39
+
40
+ # Google GKE (requires gcloud overlay)
41
+ gcloud container clusters get-credentials my-cluster --zone us-central1-a
42
+
43
+ # Azure AKS (requires azure-cli overlay)
44
+ az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
45
+ ```
46
+
47
+ #### Manual Configuration
48
+
49
+ Add cluster to `~/.kube/config`:
50
+
51
+ ```yaml
52
+ apiVersion: v1
53
+ kind: Config
54
+ clusters:
55
+ - cluster:
56
+ certificate-authority-data: <base64-cert>
57
+ server: https://kubernetes.example.com:6443
58
+ name: my-cluster
59
+ contexts:
60
+ - context:
61
+ cluster: my-cluster
62
+ user: my-user
63
+ name: my-cluster-context
64
+ current-context: my-cluster-context
65
+ users:
66
+ - name: my-user
67
+ user:
68
+ token: <bearer-token>
69
+ ```
70
+
71
+ ## kubectl Common Commands
72
+
73
+ ### Cluster Information
74
+
75
+ ```bash
76
+ # View cluster info
77
+ kubectl cluster-info
78
+
79
+ # View cluster nodes
80
+ kubectl get nodes
81
+
82
+ # View node details
83
+ kubectl describe node <node-name>
84
+
85
+ # Get cluster version
86
+ kubectl version
87
+ ```
88
+
89
+ ### Working with Contexts
90
+
91
+ ```bash
92
+ # List contexts
93
+ kubectl config get-contexts
94
+
95
+ # View current context
96
+ kubectl config current-context
97
+
98
+ # Switch context
99
+ kubectl config use-context my-cluster
100
+
101
+ # Set default namespace for context
102
+ kubectl config set-context --current --namespace=my-namespace
103
+ ```
104
+
105
+ ### Pods
106
+
107
+ ```bash
108
+ # List pods in current namespace
109
+ kubectl get pods
110
+
111
+ # List pods in all namespaces
112
+ kubectl get pods --all-namespaces
113
+ kubectl get pods -A
114
+
115
+ # Get pod details
116
+ kubectl describe pod my-pod
117
+
118
+ # View pod logs
119
+ kubectl logs my-pod
120
+
121
+ # Follow pod logs
122
+ kubectl logs -f my-pod
123
+
124
+ # Logs from specific container in pod
125
+ kubectl logs my-pod -c my-container
126
+
127
+ # Execute command in pod
128
+ kubectl exec -it my-pod -- bash
129
+
130
+ # Execute in specific container
131
+ kubectl exec -it my-pod -c my-container -- sh
132
+
133
+ # Port forward to pod
134
+ kubectl port-forward my-pod 8080:80
135
+ ```
136
+
137
+ ### Deployments
138
+
139
+ ```bash
140
+ # List deployments
141
+ kubectl get deployments
142
+
143
+ # Create deployment
144
+ kubectl create deployment my-app --image=nginx:latest
145
+
146
+ # Get deployment details
147
+ kubectl describe deployment my-app
148
+
149
+ # Scale deployment
150
+ kubectl scale deployment my-app --replicas=3
151
+
152
+ # Update deployment image
153
+ kubectl set image deployment/my-app nginx=nginx:1.21
154
+
155
+ # Rollout status
156
+ kubectl rollout status deployment/my-app
157
+
158
+ # Rollout history
159
+ kubectl rollout history deployment/my-app
160
+
161
+ # Rollback to previous version
162
+ kubectl rollout undo deployment/my-app
163
+
164
+ # Rollback to specific revision
165
+ kubectl rollout undo deployment/my-app --to-revision=2
166
+ ```
167
+
168
+ ### Services
169
+
170
+ ```bash
171
+ # List services
172
+ kubectl get services
173
+ kubectl get svc
174
+
175
+ # Expose deployment as service
176
+ kubectl expose deployment my-app --port=80 --target-port=8080 --type=LoadBalancer
177
+
178
+ # Get service details
179
+ kubectl describe service my-app
180
+
181
+ # Port forward to service
182
+ kubectl port-forward service/my-app 8080:80
183
+ ```
184
+
185
+ ### ConfigMaps and Secrets
186
+
187
+ ```bash
188
+ # Create ConfigMap from literal
189
+ kubectl create configmap my-config --from-literal=key1=value1
190
+
191
+ # Create ConfigMap from file
192
+ kubectl create configmap my-config --from-file=config.yaml
193
+
194
+ # List ConfigMaps
195
+ kubectl get configmaps
196
+
197
+ # View ConfigMap
198
+ kubectl describe configmap my-config
199
+
200
+ # Create Secret
201
+ kubectl create secret generic my-secret --from-literal=password=s3cr3t
202
+
203
+ # Create Secret from file
204
+ kubectl create secret generic my-secret --from-file=ssh-key=/path/to/key
205
+
206
+ # List secrets
207
+ kubectl get secrets
208
+
209
+ # View secret (base64 encoded)
210
+ kubectl get secret my-secret -o yaml
211
+ ```
212
+
213
+ ### Namespaces
214
+
215
+ ```bash
216
+ # List namespaces
217
+ kubectl get namespaces
218
+ kubectl get ns
219
+
220
+ # Create namespace
221
+ kubectl create namespace my-namespace
222
+
223
+ # Delete namespace (deletes all resources)
224
+ kubectl delete namespace my-namespace
225
+
226
+ # Set default namespace
227
+ kubectl config set-context --current --namespace=my-namespace
228
+ ```
229
+
230
+ ### Applying Manifests
231
+
232
+ ```bash
233
+ # Apply YAML file
234
+ kubectl apply -f deployment.yaml
235
+
236
+ # Apply multiple files
237
+ kubectl apply -f deployment.yaml -f service.yaml
238
+
239
+ # Apply directory
240
+ kubectl apply -f ./manifests/
241
+
242
+ # Delete resources from file
243
+ kubectl delete -f deployment.yaml
244
+
245
+ # Dry run (validate without applying)
246
+ kubectl apply -f deployment.yaml --dry-run=client
247
+ kubectl apply -f deployment.yaml --dry-run=server
248
+ ```
249
+
250
+ ### Resource Debugging
251
+
252
+ ```bash
253
+ # Get events
254
+ kubectl get events --sort-by=.metadata.creationTimestamp
255
+
256
+ # Get events for specific resource
257
+ kubectl get events --field-selector involvedObject.name=my-pod
258
+
259
+ # View resource usage
260
+ kubectl top nodes
261
+ kubectl top pods
262
+
263
+ # Describe any resource
264
+ kubectl describe <resource-type> <resource-name>
265
+
266
+ # Get resource in YAML format
267
+ kubectl get pod my-pod -o yaml
268
+
269
+ # Get resource in JSON format
270
+ kubectl get pod my-pod -o json
271
+
272
+ # Use JSONPath queries
273
+ kubectl get pods -o jsonpath='{.items[*].metadata.name}'
274
+ ```
275
+
276
+ ## Helm Common Commands
277
+
278
+ ### Repository Management
279
+
280
+ ```bash
281
+ # Add repository
282
+ helm repo add stable https://charts.helm.sh/stable
283
+ helm repo add bitnami https://charts.bitnami.com/bitnami
284
+
285
+ # Update repositories
286
+ helm repo update
287
+
288
+ # List repositories
289
+ helm repo list
290
+
291
+ # Search for charts
292
+ helm search repo nginx
293
+
294
+ # Search Helm Hub
295
+ helm search hub wordpress
296
+ ```
297
+
298
+ ### Installing Charts
299
+
300
+ ```bash
301
+ # Install chart
302
+ helm install my-release bitnami/nginx
303
+
304
+ # Install with custom values
305
+ helm install my-release bitnami/nginx --set replicaCount=3
306
+
307
+ # Install with values file
308
+ helm install my-release bitnami/nginx -f values.yaml
309
+
310
+ # Install in specific namespace
311
+ helm install my-release bitnami/nginx --namespace my-namespace --create-namespace
312
+
313
+ # Dry run (template without installing)
314
+ helm install my-release bitnami/nginx --dry-run --debug
315
+ ```
316
+
317
+ ### Managing Releases
318
+
319
+ ```bash
320
+ # List releases
321
+ helm list
322
+
323
+ # List releases in all namespaces
324
+ helm list --all-namespaces
325
+
326
+ # Get release status
327
+ helm status my-release
328
+
329
+ # Upgrade release
330
+ helm upgrade my-release bitnami/nginx
331
+
332
+ # Upgrade with new values
333
+ helm upgrade my-release bitnami/nginx -f new-values.yaml
334
+
335
+ # Upgrade or install (if doesn't exist)
336
+ helm upgrade --install my-release bitnami/nginx
337
+
338
+ # Rollback release
339
+ helm rollback my-release
340
+
341
+ # Rollback to specific revision
342
+ helm rollback my-release 2
343
+
344
+ # Uninstall release
345
+ helm uninstall my-release
346
+
347
+ # Uninstall but keep history
348
+ helm uninstall my-release --keep-history
349
+ ```
350
+
351
+ ### Working with Charts
352
+
353
+ ```bash
354
+ # Show chart values
355
+ helm show values bitnami/nginx
356
+
357
+ # Show chart readme
358
+ helm show readme bitnami/nginx
359
+
360
+ # Show all chart information
361
+ helm show all bitnami/nginx
362
+
363
+ # Download chart
364
+ helm pull bitnami/nginx
365
+
366
+ # Download and extract chart
367
+ helm pull bitnami/nginx --untar
368
+
369
+ # Template chart (render locally)
370
+ helm template my-release bitnami/nginx
371
+
372
+ # Template with values
373
+ helm template my-release bitnami/nginx -f values.yaml
374
+ ```
375
+
376
+ ### Creating Charts
377
+
378
+ ```bash
379
+ # Create new chart
380
+ helm create my-chart
381
+
382
+ # Lint chart
383
+ helm lint my-chart/
384
+
385
+ # Package chart
386
+ helm package my-chart/
387
+
388
+ # Install local chart
389
+ helm install my-release ./my-chart
390
+
391
+ # Test release
392
+ helm test my-release
393
+ ```
394
+
395
+ ## Configuration
396
+
397
+ ### kubectl Config File
398
+
399
+ Location: `~/.kube/config`
400
+
401
+ ```yaml
402
+ apiVersion: v1
403
+ kind: Config
404
+ clusters:
405
+ - cluster:
406
+ certificate-authority-data: ...
407
+ server: https://kubernetes.example.com:6443
408
+ name: production
409
+ - cluster:
410
+ server: https://dev.kubernetes.example.com:6443
411
+ name: development
412
+ contexts:
413
+ - context:
414
+ cluster: production
415
+ namespace: default
416
+ user: admin
417
+ name: prod-context
418
+ - context:
419
+ cluster: development
420
+ namespace: dev
421
+ user: developer
422
+ name: dev-context
423
+ current-context: dev-context
424
+ users:
425
+ - name: admin
426
+ user:
427
+ client-certificate-data: ...
428
+ client-key-data: ...
429
+ - name: developer
430
+ user:
431
+ token: ...
432
+ ```
433
+
434
+ ### Helm Values Files
435
+
436
+ **values.yaml:**
437
+
438
+ ```yaml
439
+ replicaCount: 3
440
+
441
+ image:
442
+ repository: nginx
443
+ tag: '1.21'
444
+ pullPolicy: IfNotPresent
445
+
446
+ service:
447
+ type: LoadBalancer
448
+ port: 80
449
+
450
+ ingress:
451
+ enabled: true
452
+ hosts:
453
+ - host: myapp.example.com
454
+ paths:
455
+ - path: /
456
+ pathType: Prefix
457
+
458
+ resources:
459
+ limits:
460
+ cpu: 100m
461
+ memory: 128Mi
462
+ requests:
463
+ cpu: 100m
464
+ memory: 128Mi
465
+ ```
466
+
467
+ ## Use Cases
468
+
469
+ ### Application Deployment
470
+
471
+ - Deploy containerized applications
472
+ - Manage multi-tier applications with Helm charts
473
+ - Roll out updates and rollback when needed
474
+
475
+ ### Cluster Management
476
+
477
+ - Monitor cluster health
478
+ - Scale applications
479
+ - Manage resources across namespaces
480
+
481
+ ### Development Workflows
482
+
483
+ - Port forward for local testing
484
+ - Debug pods and containers
485
+ - View logs and events
486
+
487
+ ### CI/CD Integration
488
+
489
+ - Automated deployments
490
+ - Helm chart releases
491
+ - Environment-specific configurations
492
+
493
+ ## Best Practices
494
+
495
+ ### kubectl
496
+
497
+ 1. **Use namespaces** - Organize resources logically
498
+ 2. **Label resources** - Enable better filtering and selection
499
+ 3. **Use declarative configs** - Prefer `kubectl apply` over `kubectl create`
500
+ 4. **Version control manifests** - Track changes in git
501
+ 5. **Use dry-run** - Validate before applying
502
+ 6. **Set resource limits** - Prevent resource starvation
503
+ 7. **Use health checks** - Configure liveness and readiness probes
504
+
505
+ ### Helm
506
+
507
+ 1. **Use values files** - Don't hardcode in templates
508
+ 2. **Version charts** - Use semantic versioning
509
+ 3. **Lint charts** - Run `helm lint` before packaging
510
+ 4. **Document values** - Add comments in values.yaml
511
+ 5. **Test releases** - Use `helm test` for validation
512
+ 6. **Use dependencies** - Leverage existing charts
513
+ 7. **Keep charts simple** - Don't over-template
514
+
515
+ ## Security Considerations
516
+
517
+ ### RBAC (Role-Based Access Control)
518
+
519
+ ```bash
520
+ # Create service account
521
+ kubectl create serviceaccount my-service-account
522
+
523
+ # Create role
524
+ kubectl create role pod-reader \
525
+ --verb=get,list,watch \
526
+ --resource=pods
527
+
528
+ # Bind role to service account
529
+ kubectl create rolebinding pod-reader-binding \
530
+ --role=pod-reader \
531
+ --serviceaccount=default:my-service-account
532
+ ```
533
+
534
+ ### Secrets Management
535
+
536
+ ⚠️ **Best Practices:**
537
+
538
+ 1. **Never commit secrets to git**
539
+ 2. **Use external secret management** (Vault, AWS Secrets Manager)
540
+ 3. **Encrypt secrets at rest** - Enable encryption in etcd
541
+ 4. **Use RBAC** - Limit who can read secrets
542
+ 5. **Rotate secrets regularly**
543
+
544
+ ```bash
545
+ # Create secret from file (not in git)
546
+ kubectl create secret generic db-password --from-file=./password.txt
547
+
548
+ # Use sealed secrets (encrypted in git)
549
+ # Requires sealed-secrets controller
550
+ kubeseal -f secret.yaml -w sealed-secret.yaml
551
+ ```
552
+
553
+ ## Troubleshooting
554
+
555
+ ### kubectl/helm command not found
556
+
557
+ Rebuild container:
558
+
559
+ - **VS Code:** `Cmd+Shift+P` → "Dev Containers: Rebuild Container"
560
+
561
+ ### Connection refused
562
+
563
+ ```bash
564
+ # Verify cluster is accessible
565
+ kubectl cluster-info
566
+
567
+ # Check kubeconfig
568
+ kubectl config view
569
+
570
+ # Test specific context
571
+ kubectl config use-context my-cluster
572
+ kubectl get nodes
573
+ ```
574
+
575
+ ### Authentication errors
576
+
577
+ ```bash
578
+ # Verify credentials
579
+ kubectl auth can-i get pods
580
+
581
+ # Update cluster credentials (cloud providers)
582
+ aws eks update-kubeconfig --name my-cluster # EKS
583
+ gcloud container clusters get-credentials my-cluster # GKE
584
+ az aks get-credentials --name my-cluster # AKS
585
+ ```
586
+
587
+ ### Pod not starting
588
+
589
+ ```bash
590
+ # Check pod status
591
+ kubectl get pods
592
+
593
+ # Describe pod for events
594
+ kubectl describe pod my-pod
595
+
596
+ # Check logs
597
+ kubectl logs my-pod
598
+
599
+ # Check previous logs (if crashed)
600
+ kubectl logs my-pod --previous
601
+ ```
602
+
603
+ ### Helm installation fails
604
+
605
+ ```bash
606
+ # Debug with dry-run
607
+ helm install my-release bitnami/nginx --dry-run --debug
608
+
609
+ # Check release history
610
+ helm history my-release
611
+
612
+ # View rendered templates
613
+ helm template my-release bitnami/nginx
614
+
615
+ # Check values
616
+ helm get values my-release
617
+ ```
618
+
619
+ ## Useful Aliases
620
+
621
+ Add to `.bashrc` or `.zshrc`:
622
+
623
+ ```bash
624
+ # kubectl aliases
625
+ alias k='kubectl'
626
+ alias kgp='kubectl get pods'
627
+ alias kgs='kubectl get svc'
628
+ alias kgd='kubectl get deployments'
629
+ alias kga='kubectl get all'
630
+ alias kdp='kubectl describe pod'
631
+ alias kl='kubectl logs'
632
+ alias kx='kubectl exec -it'
633
+ alias kaf='kubectl apply -f'
634
+ alias kdf='kubectl delete -f'
635
+
636
+ # Helm aliases
637
+ alias h='helm'
638
+ alias hls='helm list'
639
+ alias hi='helm install'
640
+ alias hu='helm upgrade'
641
+ alias hr='helm rollback'
642
+ alias hun='helm uninstall'
643
+ ```
644
+
645
+ ## Related Overlays
646
+
647
+ - **gcloud** - For Google GKE cluster authentication
648
+ - **aws-cli** - For Amazon EKS cluster authentication
649
+ - **azure-cli** - For Azure AKS cluster authentication
650
+ - **docker-sock/docker-in-docker** - For building container images
651
+ - **terraform** - Infrastructure as Code for cluster provisioning
652
+ - **pulumi** - Modern IaC for Kubernetes resources
653
+
654
+ ## Additional Resources
655
+
656
+ - [kubectl Documentation](https://kubernetes.io/docs/reference/kubectl/)
657
+ - [kubectl Cheat Sheet](https://kubernetes.io/docs/reference/kubectl/cheatsheet/)
658
+ - [Helm Documentation](https://helm.sh/docs/)
659
+ - [Helm Charts Repository](https://artifacthub.io/)
660
+ - [Kubernetes Best Practices](https://kubernetes.io/docs/concepts/configuration/overview/)
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
+ "features": {
4
+ "ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {
5
+ "version": "latest",
6
+ "helm": "latest",
7
+ "minikube": "none"
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,13 @@
1
+ id: kubectl-helm
2
+ name: kubectl + Helm
3
+ description: Kubernetes CLI and Helm package manager
4
+ category: cloud
5
+ supports: []
6
+ requires: []
7
+ suggests: []
8
+ conflicts: []
9
+ tags:
10
+ - cloud
11
+ - kubernetes
12
+ - helm
13
+ ports: []
@@ -0,0 +1,5 @@
1
+ # Loki version
2
+ LOKI_VERSION=latest
3
+
4
+ # Loki port
5
+ LOKI_PORT=3100