@sylix/coworker 2.0.11 → 2.0.14

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 (169) hide show
  1. package/dist/commands/slash/config.d.ts.map +1 -1
  2. package/dist/commands/slash/config.js +22 -4
  3. package/dist/commands/slash/config.js.map +1 -1
  4. package/dist/core/CoWorkerAgent.d.ts.map +1 -1
  5. package/dist/core/CoWorkerAgent.js +6 -3
  6. package/dist/core/CoWorkerAgent.js.map +1 -1
  7. package/dist/skills/defaults/accessibility/screen-reader-testing.md +545 -0
  8. package/dist/skills/defaults/accessibility/wcag-audit-patterns.md +555 -0
  9. package/dist/skills/defaults/ai-ml/rag.md +276 -0
  10. package/dist/skills/defaults/backend-development/api-design-principles.md +528 -0
  11. package/dist/skills/defaults/backend-development/api-design.md +285 -0
  12. package/dist/skills/defaults/backend-development/architecture-patterns.md +494 -0
  13. package/dist/skills/defaults/backend-development/async-python.md +237 -0
  14. package/dist/skills/defaults/backend-development/auth-implementation-patterns.md +638 -0
  15. package/dist/skills/defaults/backend-development/bazel-build-optimization.md +387 -0
  16. package/dist/skills/defaults/backend-development/billing-automation/SKILL.md +566 -0
  17. package/dist/skills/defaults/backend-development/code-review-excellence.md +538 -0
  18. package/dist/skills/defaults/backend-development/cqrs-implementation.md +554 -0
  19. package/dist/skills/defaults/backend-development/database-design.md +305 -0
  20. package/dist/skills/defaults/backend-development/debugging-strategies.md +536 -0
  21. package/dist/skills/defaults/backend-development/e2e-testing-patterns.md +544 -0
  22. package/dist/skills/defaults/backend-development/error-handling-patterns.md +641 -0
  23. package/dist/skills/defaults/backend-development/fastapi-templates.md +559 -0
  24. package/dist/skills/defaults/backend-development/fastapi.md +309 -0
  25. package/dist/skills/defaults/backend-development/git-advanced-workflows.md +405 -0
  26. package/dist/skills/defaults/backend-development/microservices-patterns.md +595 -0
  27. package/dist/skills/defaults/backend-development/microservices.md +284 -0
  28. package/dist/skills/defaults/backend-development/monorepo-management.md +623 -0
  29. package/dist/skills/defaults/backend-development/nodejs-backend-patterns.md +1048 -0
  30. package/dist/skills/defaults/backend-development/nx-workspace-patterns.md +457 -0
  31. package/dist/skills/defaults/backend-development/paypal-integration/SKILL.md +478 -0
  32. package/dist/skills/defaults/backend-development/pci-compliance/SKILL.md +480 -0
  33. package/dist/skills/defaults/backend-development/python-anti-patterns.md +349 -0
  34. package/dist/skills/defaults/backend-development/python-background-jobs.md +364 -0
  35. package/dist/skills/defaults/backend-development/python-code-style.md +360 -0
  36. package/dist/skills/defaults/backend-development/python-configuration.md +368 -0
  37. package/dist/skills/defaults/backend-development/python-design-patterns.md +296 -0
  38. package/dist/skills/defaults/backend-development/python-error-handling.md +323 -0
  39. package/dist/skills/defaults/backend-development/python-packaging.md +887 -0
  40. package/dist/skills/defaults/backend-development/python-performance-optimization.md +874 -0
  41. package/dist/skills/defaults/backend-development/python-project-structure.md +252 -0
  42. package/dist/skills/defaults/backend-development/python-resilience.md +376 -0
  43. package/dist/skills/defaults/backend-development/python-resource-management.md +421 -0
  44. package/dist/skills/defaults/backend-development/python-type-safety.md +428 -0
  45. package/dist/skills/defaults/backend-development/sql-optimization-patterns.md +509 -0
  46. package/dist/skills/defaults/backend-development/stripe-integration/SKILL.md +522 -0
  47. package/dist/skills/defaults/backend-development/turborepo-caching.md +376 -0
  48. package/dist/skills/defaults/blockchain/defi-protocol-templates.md +430 -0
  49. package/dist/skills/defaults/blockchain/nft-standards.md +364 -0
  50. package/dist/skills/defaults/blockchain/solidity-security.md +514 -0
  51. package/dist/skills/defaults/blockchain/web3-testing.md +360 -0
  52. package/dist/skills/defaults/business/competitive-landscape/SKILL.md +527 -0
  53. package/dist/skills/defaults/business/market-sizing-analysis/SKILL.md +451 -0
  54. package/dist/skills/defaults/business/startup-financial-modeling/SKILL.md +494 -0
  55. package/dist/skills/defaults/business/startup-metrics-framework/SKILL.md +564 -0
  56. package/dist/skills/defaults/business/team-composition-analysis.md +437 -0
  57. package/dist/skills/defaults/compliance/employment-contract-templates/SKILL.md +527 -0
  58. package/dist/skills/defaults/compliance/gdpr-data-handling/SKILL.md +630 -0
  59. package/dist/skills/defaults/data-engineering/airflow-dag-patterns.md +436 -0
  60. package/dist/skills/defaults/data-engineering/airflow.md +519 -0
  61. package/dist/skills/defaults/data-engineering/data-quality.md +583 -0
  62. package/dist/skills/defaults/data-engineering/dbt-transformation-patterns.md +482 -0
  63. package/dist/skills/defaults/data-engineering/dbt.md +556 -0
  64. package/dist/skills/defaults/data-engineering/ml-pipeline-workflow/SKILL.md +247 -0
  65. package/dist/skills/defaults/data-engineering/spark-optimization.md +348 -0
  66. package/dist/skills/defaults/data-engineering/spark.md +411 -0
  67. package/dist/skills/defaults/database/postgresql.md +202 -0
  68. package/dist/skills/defaults/debugging/systematic-debugging.md +249 -0
  69. package/dist/skills/defaults/devops/architecture-decision-records.md +448 -0
  70. package/dist/skills/defaults/devops/changelog-automation.md +580 -0
  71. package/dist/skills/defaults/devops/cicd.md +314 -0
  72. package/dist/skills/defaults/devops/cloud.md +263 -0
  73. package/dist/skills/defaults/devops/code-review-excellence.md +299 -0
  74. package/dist/skills/defaults/devops/cost-optimization.md +295 -0
  75. package/dist/skills/defaults/devops/deployment-pipeline-design.md +356 -0
  76. package/dist/skills/defaults/devops/docker.md +281 -0
  77. package/dist/skills/defaults/devops/git-workflows.md +205 -0
  78. package/dist/skills/defaults/devops/github-actions.md +311 -0
  79. package/dist/skills/defaults/devops/gitlab-ci-patterns.md +266 -0
  80. package/dist/skills/defaults/devops/hybrid-cloud-networking.md +241 -0
  81. package/dist/skills/defaults/devops/istio-traffic-management.md +327 -0
  82. package/dist/skills/defaults/devops/kubernetes.md +339 -0
  83. package/dist/skills/defaults/devops/linkerd-patterns.md +311 -0
  84. package/dist/skills/defaults/devops/multi-cloud-architecture.md +181 -0
  85. package/dist/skills/defaults/devops/observability.md +243 -0
  86. package/dist/skills/defaults/devops/openapi-spec-generation.md +1024 -0
  87. package/dist/skills/defaults/devops/postmortem-writing.md +396 -0
  88. package/dist/skills/defaults/devops/prometheus-configuration.md +265 -0
  89. package/dist/skills/defaults/devops/secrets-management.md +341 -0
  90. package/dist/skills/defaults/devops/service-mesh-observability.md +385 -0
  91. package/dist/skills/defaults/devops/terraform-module-library.md +244 -0
  92. package/dist/skills/defaults/finance/backtesting-frameworks/SKILL.md +663 -0
  93. package/dist/skills/defaults/finance/risk-metrics-calculation/SKILL.md +557 -0
  94. package/dist/skills/defaults/frontend/accessibility-compliance.md +420 -0
  95. package/dist/skills/defaults/frontend/design-system-patterns.md +337 -0
  96. package/dist/skills/defaults/frontend/interaction-design.md +327 -0
  97. package/dist/skills/defaults/frontend/javascript.md +311 -0
  98. package/dist/skills/defaults/frontend/modern-javascript-patterns.md +927 -0
  99. package/dist/skills/defaults/frontend/react-native-design.md +440 -0
  100. package/dist/skills/defaults/frontend/react.md +345 -0
  101. package/dist/skills/defaults/frontend/responsive-design.md +472 -0
  102. package/dist/skills/defaults/frontend/tailwind-design-system.md +337 -0
  103. package/dist/skills/defaults/frontend/typescript-advanced-types.md +724 -0
  104. package/dist/skills/defaults/frontend/typescript.md +334 -0
  105. package/dist/skills/defaults/frontend/visual-design-foundations.md +326 -0
  106. package/dist/skills/defaults/frontend/web-component-design.md +279 -0
  107. package/dist/skills/defaults/game-development/godot-gdscript-patterns.md +188 -0
  108. package/dist/skills/defaults/game-development/unity-ecs-patterns.md +594 -0
  109. package/dist/skills/defaults/kubernetes/gitops-workflow.md +285 -0
  110. package/dist/skills/defaults/kubernetes/gitops.md +280 -0
  111. package/dist/skills/defaults/kubernetes/helm-chart-scaffolding.md +553 -0
  112. package/dist/skills/defaults/kubernetes/helm.md +343 -0
  113. package/dist/skills/defaults/kubernetes/k8s-manifest-generator.md +501 -0
  114. package/dist/skills/defaults/kubernetes/k8s-security-policies.md +342 -0
  115. package/dist/skills/defaults/kubernetes/manifests.md +330 -0
  116. package/dist/skills/defaults/kubernetes/security.md +337 -0
  117. package/dist/skills/defaults/llm-application/embedding-strategies.md +608 -0
  118. package/dist/skills/defaults/llm-application/hybrid-search-implementation.md +570 -0
  119. package/dist/skills/defaults/llm-application/hybrid-search.md +570 -0
  120. package/dist/skills/defaults/llm-application/langchain-architecture.md +666 -0
  121. package/dist/skills/defaults/llm-application/langchain.md +259 -0
  122. package/dist/skills/defaults/llm-application/llm-evaluation.md +695 -0
  123. package/dist/skills/defaults/llm-application/prompt-engineering-patterns.md +449 -0
  124. package/dist/skills/defaults/llm-application/prompt-engineering.md +219 -0
  125. package/dist/skills/defaults/llm-application/rag-implementation.md +434 -0
  126. package/dist/skills/defaults/llm-application/similarity-search-patterns.md +560 -0
  127. package/dist/skills/defaults/llm-application/similarity-search.md +560 -0
  128. package/dist/skills/defaults/llm-application/vector-index-tuning.md +523 -0
  129. package/dist/skills/defaults/mobile/mobile-android-design.md +440 -0
  130. package/dist/skills/defaults/mobile/mobile-ios-design.md +266 -0
  131. package/dist/skills/defaults/monitoring/distributed-tracing.md +436 -0
  132. package/dist/skills/defaults/monitoring/grafana-dashboards.md +370 -0
  133. package/dist/skills/defaults/monitoring/prometheus-configuration.md +379 -0
  134. package/dist/skills/defaults/monitoring/slo-implementation.md +323 -0
  135. package/dist/skills/defaults/refactoring/code-refactoring.md +349 -0
  136. package/dist/skills/defaults/security/anti-reversing-techniques/SKILL.md +559 -0
  137. package/dist/skills/defaults/security/auditor.md +168 -0
  138. package/dist/skills/defaults/security/binary-analysis-patterns/SKILL.md +438 -0
  139. package/dist/skills/defaults/security/memory-forensics/SKILL.md +483 -0
  140. package/dist/skills/defaults/security/mtls-configuration.md +349 -0
  141. package/dist/skills/defaults/security/protocol-reverse-engineering/SKILL.md +520 -0
  142. package/dist/skills/defaults/security/sast-configuration.md +182 -0
  143. package/dist/skills/defaults/security/security.md +313 -0
  144. package/dist/skills/defaults/security/stride-analysis.md +273 -0
  145. package/dist/skills/defaults/security/threat-mitigation-mapping.md +290 -0
  146. package/dist/skills/defaults/systems/bash-defensive-patterns/SKILL.md +539 -0
  147. package/dist/skills/defaults/systems/bats-testing-patterns/SKILL.md +631 -0
  148. package/dist/skills/defaults/systems/go-concurrency-patterns.md +657 -0
  149. package/dist/skills/defaults/systems/memory-safety-patterns.md +605 -0
  150. package/dist/skills/defaults/systems/rust-async-patterns.md +519 -0
  151. package/dist/skills/defaults/systems/shellcheck-configuration/SKILL.md +456 -0
  152. package/dist/skills/defaults/team-collaboration/multi-reviewer-patterns.md +126 -0
  153. package/dist/skills/defaults/team-collaboration/parallel-feature-development.md +151 -0
  154. package/dist/skills/defaults/testing/javascript-testing-patterns.md +1021 -0
  155. package/dist/skills/defaults/testing/python-testing-patterns.md +351 -0
  156. package/dist/skills/defaults/testing/testing.md +332 -0
  157. package/dist/skills/defaults/workflows/context-driven-development.md +384 -0
  158. package/dist/skills/defaults/workflows/track-management.md +592 -0
  159. package/dist/skills/defaults/workflows/workflow-patterns.md +622 -0
  160. package/dist/skills/index.d.ts +11 -0
  161. package/dist/skills/index.d.ts.map +1 -0
  162. package/dist/skills/index.js +129 -0
  163. package/dist/skills/index.js.map +1 -0
  164. package/dist/utils/character.js +4 -4
  165. package/dist/utils/character.js.map +1 -1
  166. package/dist/utils/inputbar.d.ts.map +1 -1
  167. package/dist/utils/inputbar.js +7 -0
  168. package/dist/utils/inputbar.js.map +1 -1
  169. package/package.json +1 -1
@@ -0,0 +1,327 @@
1
+ ---
2
+ name: istio-traffic-management
3
+ description: Configure Istio traffic management including routing, load balancing, circuit breakers, and canary deployments. Use when implementing service mesh traffic policies, progressive delivery, or resilience patterns.
4
+ ---
5
+
6
+ # Istio Traffic Management
7
+
8
+ Comprehensive guide to Istio traffic management for production service mesh deployments.
9
+
10
+ ## When to Use This Skill
11
+
12
+ - Configuring service-to-service routing
13
+ - Implementing canary or blue-green deployments
14
+ - Setting up circuit breakers and retries
15
+ - Load balancing configuration
16
+ - Traffic mirroring for testing
17
+ - Fault injection for chaos engineering
18
+
19
+ ## Core Concepts
20
+
21
+ ### 1. Traffic Management Resources
22
+
23
+ | Resource | Purpose | Scope |
24
+ | ------------------- | ----------------------------- | ------------- |
25
+ | **VirtualService** | Route traffic to destinations | Host-based |
26
+ | **DestinationRule** | Define policies after routing | Service-based |
27
+ | **Gateway** | Configure ingress/egress | Cluster edge |
28
+ | **ServiceEntry** | Add external services | Mesh-wide |
29
+
30
+ ### 2. Traffic Flow
31
+
32
+ ```
33
+ Client → Gateway → VirtualService → DestinationRule → Service
34
+ (routing) (policies) (pods)
35
+ ```
36
+
37
+ ## Templates
38
+
39
+ ### Template 1: Basic Routing
40
+
41
+ ```yaml
42
+ apiVersion: networking.istio.io/v1beta1
43
+ kind: VirtualService
44
+ metadata:
45
+ name: reviews-route
46
+ namespace: bookinfo
47
+ spec:
48
+ hosts:
49
+ - reviews
50
+ http:
51
+ - match:
52
+ - headers:
53
+ end-user:
54
+ exact: jason
55
+ route:
56
+ - destination:
57
+ host: reviews
58
+ subset: v2
59
+ - route:
60
+ - destination:
61
+ host: reviews
62
+ subset: v1
63
+ ---
64
+ apiVersion: networking.istio.io/v1beta1
65
+ kind: DestinationRule
66
+ metadata:
67
+ name: reviews-destination
68
+ namespace: bookinfo
69
+ spec:
70
+ host: reviews
71
+ subsets:
72
+ - name: v1
73
+ labels:
74
+ version: v1
75
+ - name: v2
76
+ labels:
77
+ version: v2
78
+ - name: v3
79
+ labels:
80
+ version: v3
81
+ ```
82
+
83
+ ### Template 2: Canary Deployment
84
+
85
+ ```yaml
86
+ apiVersion: networking.istio.io/v1beta1
87
+ kind: VirtualService
88
+ metadata:
89
+ name: my-service-canary
90
+ spec:
91
+ hosts:
92
+ - my-service
93
+ http:
94
+ - route:
95
+ - destination:
96
+ host: my-service
97
+ subset: stable
98
+ weight: 90
99
+ - destination:
100
+ host: my-service
101
+ subset: canary
102
+ weight: 10
103
+ ---
104
+ apiVersion: networking.istio.io/v1beta1
105
+ kind: DestinationRule
106
+ metadata:
107
+ name: my-service-dr
108
+ spec:
109
+ host: my-service
110
+ trafficPolicy:
111
+ connectionPool:
112
+ tcp:
113
+ maxConnections: 100
114
+ http:
115
+ h2UpgradePolicy: UPGRADE
116
+ http1MaxPendingRequests: 100
117
+ http2MaxRequests: 1000
118
+ subsets:
119
+ - name: stable
120
+ labels:
121
+ version: stable
122
+ - name: canary
123
+ labels:
124
+ version: canary
125
+ ```
126
+
127
+ ### Template 3: Circuit Breaker
128
+
129
+ ```yaml
130
+ apiVersion: networking.istio.io/v1beta1
131
+ kind: DestinationRule
132
+ metadata:
133
+ name: circuit-breaker
134
+ spec:
135
+ host: my-service
136
+ trafficPolicy:
137
+ connectionPool:
138
+ tcp:
139
+ maxConnections: 100
140
+ http:
141
+ http1MaxPendingRequests: 100
142
+ http2MaxRequests: 1000
143
+ maxRequestsPerConnection: 10
144
+ maxRetries: 3
145
+ outlierDetection:
146
+ consecutive5xxErrors: 5
147
+ interval: 30s
148
+ baseEjectionTime: 30s
149
+ maxEjectionPercent: 50
150
+ minHealthPercent: 30
151
+ ```
152
+
153
+ ### Template 4: Retry and Timeout
154
+
155
+ ```yaml
156
+ apiVersion: networking.istio.io/v1beta1
157
+ kind: VirtualService
158
+ metadata:
159
+ name: ratings-retry
160
+ spec:
161
+ hosts:
162
+ - ratings
163
+ http:
164
+ - route:
165
+ - destination:
166
+ host: ratings
167
+ timeout: 10s
168
+ retries:
169
+ attempts: 3
170
+ perTryTimeout: 3s
171
+ retryOn: connect-failure,refused-stream,unavailable,cancelled,retriable-4xx,503
172
+ retryRemoteLocalities: true
173
+ ```
174
+
175
+ ### Template 5: Traffic Mirroring
176
+
177
+ ```yaml
178
+ apiVersion: networking.istio.io/v1beta1
179
+ kind: VirtualService
180
+ metadata:
181
+ name: mirror-traffic
182
+ spec:
183
+ hosts:
184
+ - my-service
185
+ http:
186
+ - route:
187
+ - destination:
188
+ host: my-service
189
+ subset: v1
190
+ mirror:
191
+ host: my-service
192
+ subset: v2
193
+ mirrorPercentage:
194
+ value: 100.0
195
+ ```
196
+
197
+ ### Template 6: Fault Injection
198
+
199
+ ```yaml
200
+ apiVersion: networking.istio.io/v1beta1
201
+ kind: VirtualService
202
+ metadata:
203
+ name: fault-injection
204
+ spec:
205
+ hosts:
206
+ - ratings
207
+ http:
208
+ - fault:
209
+ delay:
210
+ percentage:
211
+ value: 10
212
+ fixedDelay: 5s
213
+ abort:
214
+ percentage:
215
+ value: 5
216
+ httpStatus: 503
217
+ route:
218
+ - destination:
219
+ host: ratings
220
+ ```
221
+
222
+ ### Template 7: Ingress Gateway
223
+
224
+ ```yaml
225
+ apiVersion: networking.istio.io/v1beta1
226
+ kind: Gateway
227
+ metadata:
228
+ name: my-gateway
229
+ spec:
230
+ selector:
231
+ istio: ingressgateway
232
+ servers:
233
+ - port:
234
+ number: 443
235
+ name: https
236
+ protocol: HTTPS
237
+ tls:
238
+ mode: SIMPLE
239
+ credentialName: my-tls-secret
240
+ hosts:
241
+ - "*.example.com"
242
+ ---
243
+ apiVersion: networking.istio.io/v1beta1
244
+ kind: VirtualService
245
+ metadata:
246
+ name: my-vs
247
+ spec:
248
+ hosts:
249
+ - "api.example.com"
250
+ gateways:
251
+ - my-gateway
252
+ http:
253
+ - match:
254
+ - uri:
255
+ prefix: /api/v1
256
+ route:
257
+ - destination:
258
+ host: api-service
259
+ port:
260
+ number: 8080
261
+ ```
262
+
263
+ ## Load Balancing Strategies
264
+
265
+ ```yaml
266
+ apiVersion: networking.istio.io/v1beta1
267
+ kind: DestinationRule
268
+ metadata:
269
+ name: load-balancing
270
+ spec:
271
+ host: my-service
272
+ trafficPolicy:
273
+ loadBalancer:
274
+ simple: ROUND_ROBIN # or LEAST_CONN, RANDOM, PASSTHROUGH
275
+ ---
276
+ # Consistent hashing for sticky sessions
277
+ apiVersion: networking.istio.io/v1beta1
278
+ kind: DestinationRule
279
+ metadata:
280
+ name: sticky-sessions
281
+ spec:
282
+ host: my-service
283
+ trafficPolicy:
284
+ loadBalancer:
285
+ consistentHash:
286
+ httpHeaderName: x-user-id
287
+ # or: httpCookie, useSourceIp, httpQueryParameterName
288
+ ```
289
+
290
+ ## Best Practices
291
+
292
+ ### Do's
293
+
294
+ - **Start simple** - Add complexity incrementally
295
+ - **Use subsets** - Version your services clearly
296
+ - **Set timeouts** - Always configure reasonable timeouts
297
+ - **Enable retries** - But with backoff and limits
298
+ - **Monitor** - Use Kiali and Jaeger for visibility
299
+
300
+ ### Don'ts
301
+
302
+ - **Don't over-retry** - Can cause cascading failures
303
+ - **Don't ignore outlier detection** - Enable circuit breakers
304
+ - **Don't mirror to production** - Mirror to test environments
305
+ - **Don't skip canary** - Test with small traffic percentage first
306
+
307
+ ## Debugging Commands
308
+
309
+ ```bash
310
+ # Check VirtualService configuration
311
+ istioctl analyze
312
+
313
+ # View effective routes
314
+ istioctl proxy-config routes deploy/my-app -o json
315
+
316
+ # Check endpoint discovery
317
+ istioctl proxy-config endpoints deploy/my-app
318
+
319
+ # Debug traffic
320
+ istioctl proxy-config log deploy/my-app --level debug
321
+ ```
322
+
323
+ ## Resources
324
+
325
+ - [Istio Traffic Management](https://istio.io/latest/docs/concepts/traffic-management/)
326
+ - [Virtual Service Reference](https://istio.io/latest/docs/reference/config/networking/virtual-service/)
327
+ - [Destination Rule Reference](https://istio.io/latest/docs/reference/config/networking/destination-rule/)
@@ -0,0 +1,339 @@
1
+ ---
2
+ name: kubernetes
3
+ description: Expert Kubernetes architecture for cloud-native infrastructure, GitOps workflows, and enterprise container orchestration.
4
+ ---
5
+
6
+ # Kubernetes Operations — CoWorker Edition
7
+
8
+ Build and manage production Kubernetes clusters with confidence.
9
+
10
+ ## When to Use This Skill
11
+
12
+ - Setting up new Kubernetes clusters
13
+ - Deploying applications to K8s
14
+ - Configuring GitOps workflows
15
+ - Implementing service mesh
16
+ - Managing cluster security
17
+
18
+ ## Core Concepts
19
+
20
+ ### 1. Pod Design
21
+
22
+ ```yaml
23
+ apiVersion: v1
24
+ kind: Pod
25
+ metadata:
26
+ name: api-pod
27
+ labels:
28
+ app: api
29
+ version: v1
30
+ spec:
31
+ containers:
32
+ - name: api
33
+ image: myapp/api:v1.2.3
34
+ ports:
35
+ - containerPort: 8080
36
+ env:
37
+ - name: DATABASE_URL
38
+ valueFrom:
39
+ secretKeyRef:
40
+ name: db-credentials
41
+ key: url
42
+ - name: LOG_LEVEL
43
+ value: "info"
44
+ resources:
45
+ requests:
46
+ memory: "256Mi"
47
+ cpu: "250m"
48
+ limits:
49
+ memory: "512Mi"
50
+ cpu: "500m"
51
+ livenessProbe:
52
+ httpGet:
53
+ path: /health
54
+ port: 8080
55
+ initialDelaySeconds: 30
56
+ periodSeconds: 10
57
+ readinessProbe:
58
+ httpGet:
59
+ path: /ready
60
+ port: 8080
61
+ initialDelaySeconds: 5
62
+ periodSeconds: 5
63
+ ```
64
+
65
+ ### 2. Deployment Strategies
66
+
67
+ ```yaml
68
+ apiVersion: apps/v1
69
+ kind: Deployment
70
+ metadata:
71
+ name: api-deployment
72
+ spec:
73
+ replicas: 3
74
+ selector:
75
+ matchLabels:
76
+ app: api
77
+ strategy:
78
+ type: RollingUpdate
79
+ rollingUpdate:
80
+ maxSurge: 1
81
+ maxUnavailable: 0
82
+ template:
83
+ metadata:
84
+ labels:
85
+ app: api
86
+ version: v2
87
+ spec:
88
+ containers:
89
+ - name: api
90
+ image: myapp/api:v2.0.0
91
+ ---
92
+ # Canary deployment with Ingress
93
+ apiVersion: networking.k8s.io/v1
94
+ kind: Ingress
95
+ metadata:
96
+ name: api-ingress
97
+ annotations:
98
+ nginx.ingress.kubernetes.io/canary: "true"
99
+ spec:
100
+ rules:
101
+ - host: api.example.com
102
+ http:
103
+ paths:
104
+ - path: /
105
+ pathType: Prefix
106
+ backend:
107
+ service:
108
+ name: api-service-v2
109
+ port:
110
+ number: 80
111
+ ```
112
+
113
+ ### 3. Services and Networking
114
+
115
+ ```yaml
116
+ apiVersion: v1
117
+ kind: Service
118
+ metadata:
119
+ name: api-service
120
+ spec:
121
+ type: ClusterIP
122
+ selector:
123
+ app: api
124
+ ports:
125
+ - port: 80
126
+ targetPort: 8080
127
+ ---
128
+ # For external access
129
+ apiVersion: v1
130
+ kind: Service
131
+ metadata:
132
+ name: api-service-lb
133
+ spec:
134
+ type: LoadBalancer
135
+ selector:
136
+ app: api
137
+ ports:
138
+ - port: 80
139
+ targetPort: 8080
140
+ ---
141
+ # Network Policy
142
+ apiVersion: networking.k8s.io/v1
143
+ kind: NetworkPolicy
144
+ metadata:
145
+ name: api-network-policy
146
+ spec:
147
+ podSelector:
148
+ matchLabels:
149
+ app: api
150
+ policyTypes:
151
+ - Ingress
152
+ - Egress
153
+ ingress:
154
+ - from:
155
+ - podSelector:
156
+ matchLabels:
157
+ app: frontend
158
+ ports:
159
+ - protocol: TCP
160
+ port: 8080
161
+ egress:
162
+ - to:
163
+ - podSelector:
164
+ matchLabels:
165
+ app: database
166
+ ports:
167
+ - protocol: TCP
168
+ port: 5432
169
+ ```
170
+
171
+ ### 4. ConfigMaps and Secrets
172
+
173
+ ```yaml
174
+ apiVersion: v1
175
+ kind: ConfigMap
176
+ metadata:
177
+ name: app-config
178
+ data:
179
+ DATABASE_HOST: "postgres.default.svc.cluster.local"
180
+ REDIS_HOST: "redis.default.svc.cluster.local"
181
+ LOG_LEVEL: "info"
182
+ ---
183
+ apiVersion: v1
184
+ kind: Secret
185
+ metadata:
186
+ name: app-secrets
187
+ type: Opaque
188
+ stringData:
189
+ DATABASE_PASSWORD: "changeme"
190
+ API_KEY: "sk-xxx"
191
+ # Or use base64 for opaque secrets:
192
+ # echo -n "password" | base64
193
+ ```
194
+
195
+ ### 5. Helm Charts
196
+
197
+ ```yaml
198
+ # Chart.yaml
199
+ apiVersion: v2
200
+ name: myapp
201
+ version: 1.0.0
202
+ description: My application
203
+ ---
204
+ # values.yaml
205
+ replicaCount: 3
206
+
207
+ image:
208
+ repository: myapp/api
209
+ tag: v1.0.0
210
+ pullPolicy: IfNotPresent
211
+
212
+ service:
213
+ type: ClusterIP
214
+ port: 80
215
+
216
+ resources:
217
+ limits:
218
+ cpu: 500m
219
+ memory: 512Mi
220
+ requests:
221
+ cpu: 250m
222
+ memory: 256Mi
223
+
224
+ ingress:
225
+ enabled: true
226
+ annotations:
227
+ kubernetes.io/ingress.class: nginx
228
+ hosts:
229
+ - host: api.example.com
230
+ paths:
231
+ - path: /
232
+ pathType: Prefix
233
+ ---
234
+ # deployment.yaml (template)
235
+ apiVersion: apps/v1
236
+ kind: Deployment
237
+ metadata:
238
+ name: {{ include "myapp.fullname" . }}
239
+ spec:
240
+ replicas: {{ .Values.replicaCount }}
241
+ selector:
242
+ matchLabels:
243
+ {{- include "myapp.selectorLabels" . | nindent 6 }}
244
+ template:
245
+ metadata:
246
+ labels:
247
+ {{- include "myapp.selectorLabels" . | nindent 8 }}
248
+ spec:
249
+ containers:
250
+ - name: {{ .Chart.Name }}
251
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
252
+ ports:
253
+ - name: http
254
+ containerPort: 80
255
+ resources:
256
+ {{- toYaml .Values.resources | nindent 12 }}
257
+ ```
258
+
259
+ ### 6. GitOps with ArgoCD
260
+
261
+ ```yaml
262
+ apiVersion: argoproj.io/v1alpha1
263
+ kind: Application
264
+ metadata:
265
+ name: myapp
266
+ namespace: argocd
267
+ spec:
268
+ project: default
269
+ source:
270
+ repoURL: https://github.com/myorg/myapp-gitops
271
+ targetRevision: main
272
+ path: k8s/overlays/production
273
+ destination:
274
+ server: https://kubernetes.default.svc
275
+ namespace: production
276
+ syncPolicy:
277
+ automated:
278
+ prune: true
279
+ selfHeal: true
280
+ syncOptions:
281
+ - CreateNamespace=true
282
+ ```
283
+
284
+ ### 7. Resource Management
285
+
286
+ ```yaml
287
+ apiVersion: v1
288
+ kind: ResourceQuota
289
+ metadata:
290
+ name: compute-quota
291
+ spec:
292
+ hard:
293
+ requests.cpu: "4"
294
+ requests.memory: 8Gi
295
+ limits.cpu: "8"
296
+ limits.memory: 16Gi
297
+ pods: "20"
298
+ ---
299
+ apiVersion: v1
300
+ kind: LimitRange
301
+ metadata:
302
+ name: compute-limits
303
+ spec:
304
+ limits:
305
+ - max:
306
+ cpu: "2"
307
+ memory: 1Gi
308
+ min:
309
+ cpu: 100m
310
+ memory: 128Mi
311
+ default:
312
+ cpu: 500m
313
+ memory: 512Mi
314
+ defaultRequest:
315
+ cpu: 200m
316
+ memory: 256Mi
317
+ type: Container
318
+ ```
319
+
320
+ ## Best Practices
321
+
322
+ 1. **Use Deployments** - Never use bare pods
323
+ 2. **Resource limits** - Always set requests and limits
324
+ 3. **Liveness/Readiness** - Health checks for reliability
325
+ 4. **Secrets management** - Use external secrets operators
326
+ 5. **Network policies** - Default deny, allow explicit
327
+ 6. **GitOps** - ArgoCD or Flux for deployments
328
+ 7. **RBAC** - Least privilege principle
329
+ 8. **Monitoring** - Prometheus + Grafana + Loki
330
+
331
+ ## Common Mistakes
332
+
333
+ - No resource limits (OOMKilled)
334
+ - Missing health probes
335
+ - Running as root
336
+ - No network policies
337
+ - Bare pods in production
338
+ - Hard-coded secrets
339
+ - Not using namespaces