javi-forge 1.2.0 → 1.3.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 (228) hide show
  1. package/ci-local/ci-local.sh +20 -8
  2. package/package.json +1 -1
  3. package/ai-config/.skillignore +0 -15
  4. package/ai-config/AUTO_INVOKE.md +0 -300
  5. package/ai-config/agents/_TEMPLATE.md +0 -93
  6. package/ai-config/agents/business/api-designer.md +0 -1657
  7. package/ai-config/agents/business/business-analyst.md +0 -1331
  8. package/ai-config/agents/business/product-strategist.md +0 -206
  9. package/ai-config/agents/business/project-manager.md +0 -178
  10. package/ai-config/agents/business/requirements-analyst.md +0 -1277
  11. package/ai-config/agents/business/technical-writer.md +0 -1679
  12. package/ai-config/agents/creative/ux-designer.md +0 -205
  13. package/ai-config/agents/data-ai/ai-engineer.md +0 -487
  14. package/ai-config/agents/data-ai/analytics-engineer.md +0 -953
  15. package/ai-config/agents/data-ai/data-engineer.md +0 -173
  16. package/ai-config/agents/data-ai/data-scientist.md +0 -672
  17. package/ai-config/agents/data-ai/mlops-engineer.md +0 -814
  18. package/ai-config/agents/data-ai/prompt-engineer.md +0 -772
  19. package/ai-config/agents/development/angular-expert.md +0 -620
  20. package/ai-config/agents/development/backend-architect.md +0 -795
  21. package/ai-config/agents/development/database-specialist.md +0 -212
  22. package/ai-config/agents/development/frontend-specialist.md +0 -686
  23. package/ai-config/agents/development/fullstack-engineer.md +0 -668
  24. package/ai-config/agents/development/golang-pro.md +0 -338
  25. package/ai-config/agents/development/java-enterprise.md +0 -400
  26. package/ai-config/agents/development/javascript-pro.md +0 -422
  27. package/ai-config/agents/development/nextjs-pro.md +0 -474
  28. package/ai-config/agents/development/python-pro.md +0 -570
  29. package/ai-config/agents/development/react-pro.md +0 -487
  30. package/ai-config/agents/development/rust-pro.md +0 -246
  31. package/ai-config/agents/development/spring-boot-4-expert.md +0 -326
  32. package/ai-config/agents/development/typescript-pro.md +0 -336
  33. package/ai-config/agents/development/vue-specialist.md +0 -605
  34. package/ai-config/agents/infrastructure/cloud-architect.md +0 -472
  35. package/ai-config/agents/infrastructure/deployment-manager.md +0 -358
  36. package/ai-config/agents/infrastructure/devops-engineer.md +0 -455
  37. package/ai-config/agents/infrastructure/incident-responder.md +0 -519
  38. package/ai-config/agents/infrastructure/kubernetes-expert.md +0 -705
  39. package/ai-config/agents/infrastructure/monitoring-specialist.md +0 -674
  40. package/ai-config/agents/infrastructure/performance-engineer.md +0 -658
  41. package/ai-config/agents/orchestrator.md +0 -241
  42. package/ai-config/agents/quality/accessibility-auditor.md +0 -1204
  43. package/ai-config/agents/quality/code-reviewer-compact.md +0 -123
  44. package/ai-config/agents/quality/code-reviewer.md +0 -363
  45. package/ai-config/agents/quality/dependency-manager.md +0 -743
  46. package/ai-config/agents/quality/e2e-test-specialist.md +0 -1005
  47. package/ai-config/agents/quality/performance-tester.md +0 -1086
  48. package/ai-config/agents/quality/security-auditor.md +0 -133
  49. package/ai-config/agents/quality/test-engineer.md +0 -453
  50. package/ai-config/agents/specialists/api-designer.md +0 -87
  51. package/ai-config/agents/specialists/backend-architect.md +0 -73
  52. package/ai-config/agents/specialists/code-reviewer.md +0 -77
  53. package/ai-config/agents/specialists/db-optimizer.md +0 -75
  54. package/ai-config/agents/specialists/devops-engineer.md +0 -83
  55. package/ai-config/agents/specialists/documentation-writer.md +0 -78
  56. package/ai-config/agents/specialists/frontend-developer.md +0 -75
  57. package/ai-config/agents/specialists/performance-analyst.md +0 -82
  58. package/ai-config/agents/specialists/refactor-specialist.md +0 -74
  59. package/ai-config/agents/specialists/security-auditor.md +0 -74
  60. package/ai-config/agents/specialists/test-engineer.md +0 -81
  61. package/ai-config/agents/specialists/ux-consultant.md +0 -76
  62. package/ai-config/agents/specialized/agent-generator.md +0 -1190
  63. package/ai-config/agents/specialized/blockchain-developer.md +0 -149
  64. package/ai-config/agents/specialized/code-migrator.md +0 -892
  65. package/ai-config/agents/specialized/context-manager.md +0 -978
  66. package/ai-config/agents/specialized/documentation-writer.md +0 -1078
  67. package/ai-config/agents/specialized/ecommerce-expert.md +0 -1756
  68. package/ai-config/agents/specialized/embedded-engineer.md +0 -1714
  69. package/ai-config/agents/specialized/error-detective.md +0 -1034
  70. package/ai-config/agents/specialized/fintech-specialist.md +0 -1659
  71. package/ai-config/agents/specialized/freelance-project-planner-v2.md +0 -1988
  72. package/ai-config/agents/specialized/freelance-project-planner-v3.md +0 -2136
  73. package/ai-config/agents/specialized/freelance-project-planner-v4.md +0 -4503
  74. package/ai-config/agents/specialized/freelance-project-planner.md +0 -722
  75. package/ai-config/agents/specialized/game-developer.md +0 -1963
  76. package/ai-config/agents/specialized/healthcare-dev.md +0 -1620
  77. package/ai-config/agents/specialized/mobile-developer.md +0 -188
  78. package/ai-config/agents/specialized/parallel-plan-executor.md +0 -506
  79. package/ai-config/agents/specialized/plan-executor.md +0 -485
  80. package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +0 -485
  81. package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +0 -3493
  82. package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +0 -778
  83. package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +0 -918
  84. package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +0 -1537
  85. package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +0 -2633
  86. package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +0 -5610
  87. package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +0 -335
  88. package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +0 -215
  89. package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +0 -260
  90. package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +0 -379
  91. package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +0 -355
  92. package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +0 -279
  93. package/ai-config/agents/specialized/template-writer.md +0 -347
  94. package/ai-config/agents/specialized/test-runner.md +0 -99
  95. package/ai-config/agents/specialized/vibekanban-smart-worker.md +0 -244
  96. package/ai-config/agents/specialized/wave-executor.md +0 -138
  97. package/ai-config/agents/specialized/workflow-optimizer.md +0 -1114
  98. package/ai-config/commands/git/changelog.md +0 -32
  99. package/ai-config/commands/git/ci-local.md +0 -70
  100. package/ai-config/commands/git/commit.md +0 -35
  101. package/ai-config/commands/git/fix-issue.md +0 -23
  102. package/ai-config/commands/git/pr-create.md +0 -42
  103. package/ai-config/commands/git/pr-review.md +0 -50
  104. package/ai-config/commands/git/worktree.md +0 -39
  105. package/ai-config/commands/refactoring/cleanup.md +0 -24
  106. package/ai-config/commands/refactoring/dead-code.md +0 -40
  107. package/ai-config/commands/refactoring/extract.md +0 -31
  108. package/ai-config/commands/testing/e2e.md +0 -30
  109. package/ai-config/commands/testing/tdd.md +0 -36
  110. package/ai-config/commands/testing/test-coverage.md +0 -30
  111. package/ai-config/commands/testing/test-fix.md +0 -24
  112. package/ai-config/commands/workflow/generate-agents-md.md +0 -85
  113. package/ai-config/commands/workflow/planning.md +0 -47
  114. package/ai-config/commands/workflows/compound.md +0 -89
  115. package/ai-config/commands/workflows/diagnose.md +0 -70
  116. package/ai-config/commands/workflows/discover.md +0 -86
  117. package/ai-config/commands/workflows/plan.md +0 -77
  118. package/ai-config/commands/workflows/review.md +0 -78
  119. package/ai-config/commands/workflows/work.md +0 -75
  120. package/ai-config/config.yaml +0 -18
  121. package/ai-config/hooks/_TEMPLATE.md +0 -96
  122. package/ai-config/hooks/block-dangerous-commands.md +0 -75
  123. package/ai-config/hooks/commit-guard.md +0 -90
  124. package/ai-config/hooks/context-loader.md +0 -73
  125. package/ai-config/hooks/improve-prompt.md +0 -91
  126. package/ai-config/hooks/learning-log.md +0 -72
  127. package/ai-config/hooks/model-router.md +0 -86
  128. package/ai-config/hooks/secret-scanner.md +0 -64
  129. package/ai-config/hooks/skill-validator.md +0 -102
  130. package/ai-config/hooks/task-artifact.md +0 -114
  131. package/ai-config/hooks/validate-workflow.md +0 -100
  132. package/ai-config/prompts/base.md +0 -71
  133. package/ai-config/prompts/modes/debug.md +0 -34
  134. package/ai-config/prompts/modes/deploy.md +0 -40
  135. package/ai-config/prompts/modes/research.md +0 -32
  136. package/ai-config/prompts/modes/review.md +0 -33
  137. package/ai-config/prompts/review-policy.md +0 -79
  138. package/ai-config/skills/_TEMPLATE.md +0 -157
  139. package/ai-config/skills/backend/api-gateway/SKILL.md +0 -254
  140. package/ai-config/skills/backend/bff-concepts/SKILL.md +0 -239
  141. package/ai-config/skills/backend/bff-spring/SKILL.md +0 -364
  142. package/ai-config/skills/backend/chi-router/SKILL.md +0 -396
  143. package/ai-config/skills/backend/error-handling/SKILL.md +0 -255
  144. package/ai-config/skills/backend/exceptions-spring/SKILL.md +0 -323
  145. package/ai-config/skills/backend/fastapi/SKILL.md +0 -302
  146. package/ai-config/skills/backend/gateway-spring/SKILL.md +0 -390
  147. package/ai-config/skills/backend/go-backend/SKILL.md +0 -457
  148. package/ai-config/skills/backend/gradle-multimodule/SKILL.md +0 -274
  149. package/ai-config/skills/backend/graphql-concepts/SKILL.md +0 -352
  150. package/ai-config/skills/backend/graphql-spring/SKILL.md +0 -398
  151. package/ai-config/skills/backend/grpc-concepts/SKILL.md +0 -283
  152. package/ai-config/skills/backend/grpc-spring/SKILL.md +0 -445
  153. package/ai-config/skills/backend/jwt-auth/SKILL.md +0 -412
  154. package/ai-config/skills/backend/notifications-concepts/SKILL.md +0 -259
  155. package/ai-config/skills/backend/recommendations-concepts/SKILL.md +0 -261
  156. package/ai-config/skills/backend/search-concepts/SKILL.md +0 -263
  157. package/ai-config/skills/backend/search-spring/SKILL.md +0 -375
  158. package/ai-config/skills/backend/spring-boot-4/SKILL.md +0 -172
  159. package/ai-config/skills/backend/websockets/SKILL.md +0 -532
  160. package/ai-config/skills/data-ai/ai-ml/SKILL.md +0 -423
  161. package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +0 -195
  162. package/ai-config/skills/data-ai/analytics-spring/SKILL.md +0 -340
  163. package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +0 -440
  164. package/ai-config/skills/data-ai/langchain/SKILL.md +0 -238
  165. package/ai-config/skills/data-ai/mlflow/SKILL.md +0 -302
  166. package/ai-config/skills/data-ai/onnx-inference/SKILL.md +0 -290
  167. package/ai-config/skills/data-ai/powerbi/SKILL.md +0 -352
  168. package/ai-config/skills/data-ai/pytorch/SKILL.md +0 -274
  169. package/ai-config/skills/data-ai/scikit-learn/SKILL.md +0 -321
  170. package/ai-config/skills/data-ai/vector-db/SKILL.md +0 -301
  171. package/ai-config/skills/database/graph-databases/SKILL.md +0 -218
  172. package/ai-config/skills/database/graph-spring/SKILL.md +0 -361
  173. package/ai-config/skills/database/pgx-postgres/SKILL.md +0 -512
  174. package/ai-config/skills/database/redis-cache/SKILL.md +0 -343
  175. package/ai-config/skills/database/sqlite-embedded/SKILL.md +0 -388
  176. package/ai-config/skills/database/timescaledb/SKILL.md +0 -320
  177. package/ai-config/skills/docs/api-documentation/SKILL.md +0 -293
  178. package/ai-config/skills/docs/docs-spring/SKILL.md +0 -377
  179. package/ai-config/skills/docs/mustache-templates/SKILL.md +0 -190
  180. package/ai-config/skills/docs/technical-docs/SKILL.md +0 -447
  181. package/ai-config/skills/frontend/astro-ssr/SKILL.md +0 -441
  182. package/ai-config/skills/frontend/frontend-design/SKILL.md +0 -54
  183. package/ai-config/skills/frontend/frontend-web/SKILL.md +0 -368
  184. package/ai-config/skills/frontend/mantine-ui/SKILL.md +0 -396
  185. package/ai-config/skills/frontend/tanstack-query/SKILL.md +0 -439
  186. package/ai-config/skills/frontend/zod-validation/SKILL.md +0 -417
  187. package/ai-config/skills/frontend/zustand-state/SKILL.md +0 -350
  188. package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +0 -244
  189. package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +0 -378
  190. package/ai-config/skills/infrastructure/devops-infra/SKILL.md +0 -435
  191. package/ai-config/skills/infrastructure/docker-containers/SKILL.md +0 -420
  192. package/ai-config/skills/infrastructure/kubernetes/SKILL.md +0 -456
  193. package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +0 -546
  194. package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +0 -474
  195. package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +0 -315
  196. package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +0 -504
  197. package/ai-config/skills/mobile/mobile-ionic/SKILL.md +0 -448
  198. package/ai-config/skills/prompt-improver/SKILL.md +0 -125
  199. package/ai-config/skills/quality/ghagga-review/SKILL.md +0 -216
  200. package/ai-config/skills/references/hooks-patterns/SKILL.md +0 -238
  201. package/ai-config/skills/references/mcp-servers/SKILL.md +0 -275
  202. package/ai-config/skills/references/plugins-reference/SKILL.md +0 -110
  203. package/ai-config/skills/references/skills-reference/SKILL.md +0 -420
  204. package/ai-config/skills/references/subagent-templates/SKILL.md +0 -193
  205. package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +0 -410
  206. package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +0 -408
  207. package/ai-config/skills/systems-iot/rust-systems/SKILL.md +0 -386
  208. package/ai-config/skills/systems-iot/tokio-async/SKILL.md +0 -324
  209. package/ai-config/skills/testing/playwright-e2e/SKILL.md +0 -289
  210. package/ai-config/skills/testing/testcontainers/SKILL.md +0 -299
  211. package/ai-config/skills/testing/vitest-testing/SKILL.md +0 -381
  212. package/ai-config/skills/workflow/ci-local-guide/SKILL.md +0 -118
  213. package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +0 -299
  214. package/ai-config/skills/workflow/claude-md-improver/SKILL.md +0 -158
  215. package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +0 -117
  216. package/ai-config/skills/workflow/git-github/SKILL.md +0 -334
  217. package/ai-config/skills/workflow/git-github/references/examples.md +0 -160
  218. package/ai-config/skills/workflow/git-workflow/SKILL.md +0 -214
  219. package/ai-config/skills/workflow/ide-plugins/SKILL.md +0 -277
  220. package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +0 -401
  221. package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +0 -199
  222. package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +0 -100
  223. package/ai-config/skills/workflow/verification-before-completion/SKILL.md +0 -73
  224. package/ai-config/skills/workflow/wave-workflow/SKILL.md +0 -178
  225. package/schemas/agent.schema.json +0 -34
  226. package/schemas/ai-config.schema.json +0 -28
  227. package/schemas/plugin.schema.json +0 -62
  228. package/schemas/skill.schema.json +0 -44
@@ -1,435 +0,0 @@
1
- ---
2
- name: devops-infra
3
- description: >
4
- DevOps patterns with Docker multi-stage builds, Kubernetes manifests, GitHub Actions CI/CD, and Terraform.
5
- Trigger: DevOps, CI/CD, GitHub Actions, Kubernetes, K8s, Terraform, Docker, Helm, deployment, infrastructure
6
- tools:
7
- - Read
8
- - Write
9
- - Bash
10
- - Grep
11
- metadata:
12
- author: plataforma-industrial
13
- version: "2.0"
14
- tags: [devops, docker, kubernetes, github-actions, terraform, ci-cd]
15
- updated: "2026-02"
16
- ---
17
-
18
- # DevOps & Infrastructure
19
-
20
- Production-ready DevOps patterns for containerization, orchestration, and CI/CD.
21
-
22
- ## Stack
23
-
24
- ```yaml
25
- docker: "25.0"
26
- docker-compose: "2.24"
27
- kubernetes: "1.29"
28
- kubectl: "1.29"
29
- helm: "3.14"
30
- terraform: "1.7"
31
- ```
32
-
33
- ## Rust Multi-Stage Dockerfile
34
-
35
- ```dockerfile
36
- FROM rust:1.76-slim-bookworm AS builder
37
-
38
- RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
39
-
40
- WORKDIR /app
41
- COPY Cargo.toml Cargo.lock ./
42
- RUN mkdir src && echo "fn main() {}" > src/main.rs && cargo build --release && rm -rf src
43
-
44
- COPY src ./src
45
- RUN touch src/main.rs && cargo build --release
46
-
47
- FROM gcr.io/distroless/cc-debian12
48
- WORKDIR /app
49
- COPY --from=builder /app/target/release/app /app/app
50
- EXPOSE 8080
51
- ENTRYPOINT ["/app/app"]
52
- ```
53
-
54
- ## Go Multi-Stage Dockerfile
55
-
56
- ```dockerfile
57
- FROM golang:1.22-bookworm AS builder
58
-
59
- WORKDIR /app
60
- COPY go.mod go.sum ./
61
- RUN go mod download
62
-
63
- COPY . .
64
- RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -o /app/api ./cmd/api
65
-
66
- FROM gcr.io/distroless/static-debian12
67
- COPY --from=builder /app/api /app/api
68
- USER nonroot:nonroot
69
- EXPOSE 8080
70
- ENTRYPOINT ["/app/api"]
71
- ```
72
-
73
- ## Python Dockerfile
74
-
75
- ```dockerfile
76
- FROM python:3.11-slim-bookworm AS builder
77
-
78
- WORKDIR /app
79
- COPY pyproject.toml ./
80
- RUN pip install --no-cache-dir build && python -m build --wheel
81
-
82
- FROM python:3.11-slim-bookworm
83
- WORKDIR /app
84
- COPY --from=builder /app/dist/*.whl ./
85
- RUN pip install --no-cache-dir *.whl && rm *.whl
86
- COPY src/ ./src/
87
- USER nobody
88
- EXPOSE 8000
89
- CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
90
- ```
91
-
92
- ## Docker Compose Dev
93
-
94
- ```yaml
95
- version: "3.9"
96
-
97
- services:
98
- postgres:
99
- image: postgres:16-alpine
100
- environment:
101
- POSTGRES_USER: app
102
- POSTGRES_PASSWORD: app
103
- POSTGRES_DB: app
104
- ports:
105
- - "5432:5432"
106
- volumes:
107
- - postgres_data:/var/lib/postgresql/data
108
- healthcheck:
109
- test: ["CMD-SHELL", "pg_isready -U app"]
110
- interval: 5s
111
-
112
- redis:
113
- image: redis:7-alpine
114
- ports:
115
- - "6379:6379"
116
- volumes:
117
- - redis_data:/data
118
- healthcheck:
119
- test: ["CMD", "redis-cli", "ping"]
120
-
121
- api:
122
- build:
123
- context: .
124
- dockerfile: Dockerfile.dev
125
- ports:
126
- - "8080:8080"
127
- environment:
128
- - DATABASE_URL=postgres://app:app@postgres:5432/app
129
- - REDIS_URL=redis://redis:6379
130
- volumes:
131
- - ./src:/app/src
132
- depends_on:
133
- postgres:
134
- condition: service_healthy
135
- redis:
136
- condition: service_healthy
137
-
138
- volumes:
139
- postgres_data:
140
- redis_data:
141
- ```
142
-
143
- ## Kubernetes Deployment
144
-
145
- ```yaml
146
- apiVersion: apps/v1
147
- kind: Deployment
148
- metadata:
149
- name: api
150
- namespace: app
151
- spec:
152
- replicas: 3
153
- selector:
154
- matchLabels:
155
- app: api
156
- strategy:
157
- type: RollingUpdate
158
- rollingUpdate:
159
- maxSurge: 1
160
- maxUnavailable: 0
161
- template:
162
- metadata:
163
- labels:
164
- app: api
165
- annotations:
166
- prometheus.io/scrape: "true"
167
- prometheus.io/port: "8080"
168
- spec:
169
- securityContext:
170
- runAsNonRoot: true
171
- runAsUser: 65534
172
- containers:
173
- - name: api
174
- image: ghcr.io/org/api:latest
175
- ports:
176
- - containerPort: 8080
177
- env:
178
- - name: DATABASE_URL
179
- valueFrom:
180
- secretKeyRef:
181
- name: app-secrets
182
- key: DATABASE_URL
183
- resources:
184
- requests:
185
- cpu: "100m"
186
- memory: "128Mi"
187
- limits:
188
- cpu: "500m"
189
- memory: "512Mi"
190
- livenessProbe:
191
- httpGet:
192
- path: /health/live
193
- port: 8080
194
- initialDelaySeconds: 10
195
- periodSeconds: 15
196
- readinessProbe:
197
- httpGet:
198
- path: /health/ready
199
- port: 8080
200
- initialDelaySeconds: 5
201
- periodSeconds: 10
202
- securityContext:
203
- allowPrivilegeEscalation: false
204
- readOnlyRootFilesystem: true
205
- ---
206
- apiVersion: v1
207
- kind: Service
208
- metadata:
209
- name: api
210
- namespace: app
211
- spec:
212
- type: ClusterIP
213
- ports:
214
- - port: 80
215
- targetPort: 8080
216
- selector:
217
- app: api
218
- ---
219
- apiVersion: autoscaling/v2
220
- kind: HorizontalPodAutoscaler
221
- metadata:
222
- name: api
223
- namespace: app
224
- spec:
225
- scaleTargetRef:
226
- apiVersion: apps/v1
227
- kind: Deployment
228
- name: api
229
- minReplicas: 3
230
- maxReplicas: 10
231
- metrics:
232
- - type: Resource
233
- resource:
234
- name: cpu
235
- target:
236
- type: Utilization
237
- averageUtilization: 70
238
- ```
239
-
240
- ## GitHub Actions CI
241
-
242
- ```yaml
243
- name: CI
244
-
245
- on:
246
- push:
247
- branches: [main, develop]
248
- pull_request:
249
- branches: [main]
250
-
251
- jobs:
252
- test:
253
- runs-on: ubuntu-latest
254
- steps:
255
- - uses: actions/checkout@v4
256
-
257
- - name: Setup Go
258
- uses: actions/setup-go@v5
259
- with:
260
- go-version: "1.22"
261
-
262
- - name: Lint
263
- uses: golangci/golangci-lint-action@v4
264
-
265
- - name: Test
266
- run: go test -race -coverprofile=coverage.out ./...
267
-
268
- build:
269
- needs: test
270
- runs-on: ubuntu-latest
271
- steps:
272
- - uses: actions/checkout@v4
273
-
274
- - name: Set up Docker Buildx
275
- uses: docker/setup-buildx-action@v3
276
-
277
- - name: Build
278
- uses: docker/build-push-action@v5
279
- with:
280
- context: .
281
- push: false
282
- tags: app:${{ github.sha }}
283
- cache-from: type=gha
284
- cache-to: type=gha,mode=max
285
- ```
286
-
287
- ## GitHub Actions CD
288
-
289
- ```yaml
290
- name: CD
291
-
292
- on:
293
- push:
294
- tags:
295
- - "v*"
296
-
297
- env:
298
- REGISTRY: ghcr.io
299
-
300
- jobs:
301
- deploy:
302
- runs-on: ubuntu-latest
303
- permissions:
304
- contents: read
305
- packages: write
306
- steps:
307
- - uses: actions/checkout@v4
308
-
309
- - name: Login to Registry
310
- uses: docker/login-action@v3
311
- with:
312
- registry: ${{ env.REGISTRY }}
313
- username: ${{ github.actor }}
314
- password: ${{ secrets.GITHUB_TOKEN }}
315
-
316
- - name: Build and push
317
- uses: docker/build-push-action@v5
318
- with:
319
- context: .
320
- push: true
321
- tags: |
322
- ${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }}
323
- ${{ env.REGISTRY }}/${{ github.repository }}:latest
324
-
325
- - name: Deploy to Kubernetes
326
- run: |
327
- echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > kubeconfig
328
- kubectl --kubeconfig=kubeconfig set image deployment/api api=${{ env.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }}
329
- kubectl --kubeconfig=kubeconfig rollout status deployment/api
330
- ```
331
-
332
- ## Terraform GKE Module
333
-
334
- ```hcl
335
- variable "project_id" { type = string }
336
- variable "region" { type = string }
337
- variable "cluster_name" { type = string }
338
-
339
- resource "google_container_cluster" "primary" {
340
- name = var.cluster_name
341
- location = var.region
342
- project = var.project_id
343
-
344
- remove_default_node_pool = true
345
- initial_node_count = 1
346
-
347
- workload_identity_config {
348
- workload_pool = "${var.project_id}.svc.id.goog"
349
- }
350
-
351
- release_channel {
352
- channel = "REGULAR"
353
- }
354
- }
355
-
356
- resource "google_container_node_pool" "primary" {
357
- name = "primary"
358
- cluster = google_container_cluster.primary.name
359
- location = var.region
360
-
361
- autoscaling {
362
- min_node_count = 1
363
- max_node_count = 10
364
- }
365
-
366
- node_config {
367
- machine_type = "e2-standard-4"
368
- disk_size_gb = 100
369
-
370
- workload_metadata_config {
371
- mode = "GKE_METADATA"
372
- }
373
- }
374
- }
375
-
376
- output "cluster_endpoint" {
377
- value = google_container_cluster.primary.endpoint
378
- }
379
- ```
380
-
381
- ## OpenTelemetry Collector
382
-
383
- ```yaml
384
- receivers:
385
- otlp:
386
- protocols:
387
- grpc:
388
- endpoint: 0.0.0.0:4317
389
- http:
390
- endpoint: 0.0.0.0:4318
391
-
392
- processors:
393
- batch:
394
- timeout: 10s
395
- memory_limiter:
396
- check_interval: 1s
397
- limit_mib: 1000
398
-
399
- exporters:
400
- prometheus:
401
- endpoint: "0.0.0.0:8889"
402
- otlp/jaeger:
403
- endpoint: jaeger:4317
404
- tls:
405
- insecure: true
406
-
407
- service:
408
- pipelines:
409
- traces:
410
- receivers: [otlp]
411
- processors: [memory_limiter, batch]
412
- exporters: [otlp/jaeger]
413
- metrics:
414
- receivers: [otlp]
415
- processors: [memory_limiter, batch]
416
- exporters: [prometheus]
417
- ```
418
-
419
- ## Conventions
420
-
421
- | Element | Convention | Example |
422
- |---------|------------|---------|
423
- | Docker images | kebab-case | `edge-api`, `cloud-api` |
424
- | K8s resources | kebab-case | `api-deployment` |
425
- | K8s namespaces | kebab-case | `app-prod` |
426
- | Terraform vars | snake_case | `project_id` |
427
- | Workflows | kebab-case | `ci.yml`, `cd.yml` |
428
- | Env vars | SCREAMING_SNAKE | `DATABASE_URL` |
429
-
430
- ## Related Skills
431
-
432
- - `kubernetes`: Container orchestration
433
- - `docker-containers`: Multi-stage builds
434
- - `git-workflow`: Branch strategies
435
- - `opentelemetry`: Observability setup