@techwavedev/agi-agent-kit 1.1.5 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @techwavedev/agi-agent-kit might be problematic. Click here for more details.

Files changed (237) hide show
  1. package/CHANGELOG.md +140 -0
  2. package/README.md +190 -12
  3. package/bin/init.js +30 -2
  4. package/package.json +6 -3
  5. package/templates/base/AGENTS.md +54 -23
  6. package/templates/base/README.md +325 -0
  7. package/templates/base/directives/memory_integration.md +95 -0
  8. package/templates/base/execution/memory_manager.py +309 -0
  9. package/templates/base/execution/session_boot.py +218 -0
  10. package/templates/base/execution/session_init.py +320 -0
  11. package/templates/base/skill-creator/LICENSE.txt +0 -0
  12. package/templates/base/skill-creator/references/output-patterns.md +0 -0
  13. package/templates/base/skill-creator/references/workflows.md +0 -0
  14. package/templates/base/skill-creator/scripts/init_skill.py +0 -0
  15. package/templates/base/skill-creator/scripts/package_skill.py +0 -0
  16. package/templates/base/skill-creator/scripts/quick_validate.py +0 -0
  17. package/templates/skills/core/documentation/SKILL.md +0 -0
  18. package/templates/skills/core/documentation/references/best_practices.md +0 -0
  19. package/templates/skills/core/documentation/scripts/analyze_code.py +0 -0
  20. package/templates/skills/core/documentation/scripts/detect_changes.py +0 -0
  21. package/templates/skills/core/documentation/scripts/generate_changelog.py +0 -0
  22. package/templates/skills/core/documentation/scripts/sync_docs.py +0 -0
  23. package/templates/skills/core/documentation/scripts/update_skill_docs.py +0 -0
  24. package/templates/skills/core/pdf-reader/SKILL.md +0 -0
  25. package/templates/skills/core/pdf-reader/references/pdf_libraries.md +0 -0
  26. package/templates/skills/core/pdf-reader/scripts/extract_text.py +0 -0
  27. package/templates/skills/core/qdrant-memory/SKILL.md +0 -0
  28. package/templates/skills/core/qdrant-memory/references/advanced_patterns.md +0 -0
  29. package/templates/skills/core/qdrant-memory/references/collection_schemas.md +0 -0
  30. package/templates/skills/core/qdrant-memory/references/complete_guide.md +0 -0
  31. package/templates/skills/core/qdrant-memory/references/embedding_models.md +0 -0
  32. package/templates/skills/core/qdrant-memory/scripts/__pycache__/embedding_utils.cpython-314.pyc +0 -0
  33. package/templates/skills/core/qdrant-memory/scripts/__pycache__/init_collection.cpython-314.pyc +0 -0
  34. package/templates/skills/core/qdrant-memory/scripts/benchmark_token_savings.py +0 -0
  35. package/templates/skills/core/qdrant-memory/scripts/embedding_utils.py +0 -0
  36. package/templates/skills/core/qdrant-memory/scripts/hybrid_search.py +0 -0
  37. package/templates/skills/core/qdrant-memory/scripts/init_collection.py +0 -0
  38. package/templates/skills/core/qdrant-memory/scripts/memory_retrieval.py +0 -0
  39. package/templates/skills/core/qdrant-memory/scripts/semantic_cache.py +0 -0
  40. package/templates/skills/core/qdrant-memory/scripts/test_skill.py +0 -0
  41. package/templates/skills/core/webcrawler/references/advanced_crawling.md +0 -0
  42. package/templates/skills/core/webcrawler/scripts/crawl_docs.py +0 -0
  43. package/templates/skills/core/webcrawler/scripts/extract_page.py +0 -0
  44. package/templates/skills/core/webcrawler/scripts/filter_docs.py +0 -0
  45. package/templates/skills/ec/README.md +31 -0
  46. package/templates/skills/ec/aws/SKILL.md +1020 -0
  47. package/templates/skills/ec/aws/defaults.yaml +13 -0
  48. package/templates/skills/ec/aws/references/common_patterns.md +80 -0
  49. package/templates/skills/ec/aws/references/mcp_servers.md +98 -0
  50. package/templates/skills/ec/aws-terraform/SKILL.md +349 -0
  51. package/templates/skills/ec/aws-terraform/references/best_practices.md +394 -0
  52. package/templates/skills/ec/aws-terraform/references/checkov_reference.md +337 -0
  53. package/templates/skills/ec/aws-terraform/scripts/configure_mcp.py +150 -0
  54. package/templates/skills/ec/confluent-kafka/SKILL.md +655 -0
  55. package/templates/skills/ec/confluent-kafka/references/ansible_playbooks.md +792 -0
  56. package/templates/skills/ec/confluent-kafka/references/ec_deployment.md +579 -0
  57. package/templates/skills/ec/confluent-kafka/references/kraft_migration.md +490 -0
  58. package/templates/skills/ec/confluent-kafka/references/troubleshooting.md +778 -0
  59. package/templates/skills/ec/confluent-kafka/references/upgrade_7x_to_8x.md +488 -0
  60. package/templates/skills/ec/confluent-kafka/scripts/kafka_health_check.py +435 -0
  61. package/templates/skills/ec/confluent-kafka/scripts/upgrade_preflight.py +568 -0
  62. package/templates/skills/ec/confluent-kafka/scripts/validate_config.py +455 -0
  63. package/templates/skills/ec/consul/SKILL.md +427 -0
  64. package/templates/skills/ec/consul/references/acl_setup.md +168 -0
  65. package/templates/skills/ec/consul/references/ha_config.md +196 -0
  66. package/templates/skills/ec/consul/references/troubleshooting.md +267 -0
  67. package/templates/skills/ec/consul/references/upgrades.md +213 -0
  68. package/templates/skills/ec/consul/scripts/consul_health_report.py +530 -0
  69. package/templates/skills/ec/consul/scripts/consul_status.py +264 -0
  70. package/templates/skills/ec/consul/scripts/generate_values.py +170 -0
  71. package/templates/skills/ec/documentation/SKILL.md +351 -0
  72. package/templates/skills/ec/documentation/references/best_practices.md +201 -0
  73. package/templates/skills/ec/documentation/scripts/analyze_code.py +307 -0
  74. package/templates/skills/ec/documentation/scripts/detect_changes.py +460 -0
  75. package/templates/skills/ec/documentation/scripts/generate_changelog.py +312 -0
  76. package/templates/skills/ec/documentation/scripts/sync_docs.py +272 -0
  77. package/templates/skills/ec/documentation/scripts/update_skill_docs.py +366 -0
  78. package/templates/skills/ec/gitlab/SKILL.md +529 -0
  79. package/templates/skills/ec/gitlab/references/agent_installation.md +416 -0
  80. package/templates/skills/ec/gitlab/references/api_reference.md +508 -0
  81. package/templates/skills/ec/gitlab/references/gitops_flux.md +465 -0
  82. package/templates/skills/ec/gitlab/references/troubleshooting.md +518 -0
  83. package/templates/skills/ec/gitlab/scripts/generate_agent_values.py +329 -0
  84. package/templates/skills/ec/gitlab/scripts/gitlab_agent_status.py +414 -0
  85. package/templates/skills/ec/jira/SKILL.md +484 -0
  86. package/templates/skills/ec/jira/references/jql_reference.md +148 -0
  87. package/templates/skills/ec/jira/scripts/add_comment.py +91 -0
  88. package/templates/skills/ec/jira/scripts/bulk_log_work.py +124 -0
  89. package/templates/skills/ec/jira/scripts/create_ticket.py +162 -0
  90. package/templates/skills/ec/jira/scripts/get_ticket.py +191 -0
  91. package/templates/skills/ec/jira/scripts/jira_client.py +383 -0
  92. package/templates/skills/ec/jira/scripts/log_work.py +154 -0
  93. package/templates/skills/ec/jira/scripts/search_tickets.py +104 -0
  94. package/templates/skills/ec/jira/scripts/update_comment.py +67 -0
  95. package/templates/skills/ec/jira/scripts/update_ticket.py +161 -0
  96. package/templates/skills/ec/karpenter/SKILL.md +301 -0
  97. package/templates/skills/ec/karpenter/references/ec2nodeclasses.md +421 -0
  98. package/templates/skills/ec/karpenter/references/migration.md +396 -0
  99. package/templates/skills/ec/karpenter/references/nodepools.md +400 -0
  100. package/templates/skills/ec/karpenter/references/troubleshooting.md +359 -0
  101. package/templates/skills/ec/karpenter/scripts/generate_ec2nodeclass.py +187 -0
  102. package/templates/skills/ec/karpenter/scripts/generate_nodepool.py +245 -0
  103. package/templates/skills/ec/karpenter/scripts/karpenter_status.py +359 -0
  104. package/templates/skills/ec/opensearch/SKILL.md +720 -0
  105. package/templates/skills/ec/opensearch/references/ml_neural_search.md +576 -0
  106. package/templates/skills/ec/opensearch/references/operator.md +532 -0
  107. package/templates/skills/ec/opensearch/references/query_dsl.md +532 -0
  108. package/templates/skills/ec/opensearch/scripts/configure_mcp.py +148 -0
  109. package/templates/skills/ec/victoriametrics/SKILL.md +598 -0
  110. package/templates/skills/ec/victoriametrics/references/kubernetes.md +531 -0
  111. package/templates/skills/ec/victoriametrics/references/prometheus_migration.md +333 -0
  112. package/templates/skills/ec/victoriametrics/references/troubleshooting.md +442 -0
  113. package/templates/skills/knowledge/SKILLS_CATALOG.md +1066 -0
  114. package/templates/skills/knowledge/api-patterns/SKILL.md +0 -0
  115. package/templates/skills/knowledge/api-patterns/api-style.md +0 -0
  116. package/templates/skills/knowledge/api-patterns/auth.md +0 -0
  117. package/templates/skills/knowledge/api-patterns/documentation.md +0 -0
  118. package/templates/skills/knowledge/api-patterns/graphql.md +0 -0
  119. package/templates/skills/knowledge/api-patterns/rate-limiting.md +0 -0
  120. package/templates/skills/knowledge/api-patterns/response.md +0 -0
  121. package/templates/skills/knowledge/api-patterns/rest.md +0 -0
  122. package/templates/skills/knowledge/api-patterns/scripts/api_validator.py +0 -0
  123. package/templates/skills/knowledge/api-patterns/security-testing.md +0 -0
  124. package/templates/skills/knowledge/api-patterns/trpc.md +0 -0
  125. package/templates/skills/knowledge/api-patterns/versioning.md +0 -0
  126. package/templates/skills/knowledge/app-builder/SKILL.md +0 -0
  127. package/templates/skills/knowledge/app-builder/agent-coordination.md +0 -0
  128. package/templates/skills/knowledge/app-builder/feature-building.md +0 -0
  129. package/templates/skills/knowledge/app-builder/project-detection.md +0 -0
  130. package/templates/skills/knowledge/app-builder/scaffolding.md +0 -0
  131. package/templates/skills/knowledge/app-builder/tech-stack.md +0 -0
  132. package/templates/skills/knowledge/app-builder/templates/SKILL.md +0 -0
  133. package/templates/skills/knowledge/app-builder/templates/astro-static/TEMPLATE.md +0 -0
  134. package/templates/skills/knowledge/app-builder/templates/chrome-extension/TEMPLATE.md +0 -0
  135. package/templates/skills/knowledge/app-builder/templates/cli-tool/TEMPLATE.md +0 -0
  136. package/templates/skills/knowledge/app-builder/templates/electron-desktop/TEMPLATE.md +0 -0
  137. package/templates/skills/knowledge/app-builder/templates/express-api/TEMPLATE.md +0 -0
  138. package/templates/skills/knowledge/app-builder/templates/flutter-app/TEMPLATE.md +0 -0
  139. package/templates/skills/knowledge/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -0
  140. package/templates/skills/knowledge/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -0
  141. package/templates/skills/knowledge/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -0
  142. package/templates/skills/knowledge/app-builder/templates/nextjs-static/TEMPLATE.md +0 -0
  143. package/templates/skills/knowledge/app-builder/templates/nuxt-app/TEMPLATE.md +0 -0
  144. package/templates/skills/knowledge/app-builder/templates/python-fastapi/TEMPLATE.md +0 -0
  145. package/templates/skills/knowledge/app-builder/templates/react-native-app/TEMPLATE.md +0 -0
  146. package/templates/skills/knowledge/architecture/SKILL.md +0 -0
  147. package/templates/skills/knowledge/architecture/context-discovery.md +0 -0
  148. package/templates/skills/knowledge/architecture/examples.md +0 -0
  149. package/templates/skills/knowledge/architecture/pattern-selection.md +0 -0
  150. package/templates/skills/knowledge/architecture/patterns-reference.md +0 -0
  151. package/templates/skills/knowledge/architecture/trade-off-analysis.md +0 -0
  152. package/templates/skills/knowledge/bash-linux/SKILL.md +0 -0
  153. package/templates/skills/knowledge/behavioral-modes/SKILL.md +0 -0
  154. package/templates/skills/knowledge/brainstorming/SKILL.md +0 -0
  155. package/templates/skills/knowledge/brainstorming/dynamic-questioning.md +0 -0
  156. package/templates/skills/knowledge/clean-code/SKILL.md +0 -0
  157. package/templates/skills/knowledge/code-review-checklist/SKILL.md +0 -0
  158. package/templates/skills/knowledge/database-design/SKILL.md +0 -0
  159. package/templates/skills/knowledge/database-design/database-selection.md +0 -0
  160. package/templates/skills/knowledge/database-design/indexing.md +0 -0
  161. package/templates/skills/knowledge/database-design/migrations.md +0 -0
  162. package/templates/skills/knowledge/database-design/optimization.md +0 -0
  163. package/templates/skills/knowledge/database-design/orm-selection.md +0 -0
  164. package/templates/skills/knowledge/database-design/schema-design.md +0 -0
  165. package/templates/skills/knowledge/database-design/scripts/schema_validator.py +0 -0
  166. package/templates/skills/knowledge/deployment-procedures/SKILL.md +0 -0
  167. package/templates/skills/knowledge/documentation-templates/SKILL.md +0 -0
  168. package/templates/skills/knowledge/frontend-design/SKILL.md +0 -0
  169. package/templates/skills/knowledge/frontend-design/animation-guide.md +0 -0
  170. package/templates/skills/knowledge/frontend-design/color-system.md +0 -0
  171. package/templates/skills/knowledge/frontend-design/decision-trees.md +0 -0
  172. package/templates/skills/knowledge/frontend-design/motion-graphics.md +0 -0
  173. package/templates/skills/knowledge/frontend-design/scripts/accessibility_checker.py +0 -0
  174. package/templates/skills/knowledge/frontend-design/scripts/ux_audit.py +0 -0
  175. package/templates/skills/knowledge/frontend-design/typography-system.md +0 -0
  176. package/templates/skills/knowledge/frontend-design/ux-psychology.md +0 -0
  177. package/templates/skills/knowledge/frontend-design/visual-effects.md +0 -0
  178. package/templates/skills/knowledge/game-development/2d-games/SKILL.md +0 -0
  179. package/templates/skills/knowledge/game-development/3d-games/SKILL.md +0 -0
  180. package/templates/skills/knowledge/game-development/SKILL.md +0 -0
  181. package/templates/skills/knowledge/game-development/game-art/SKILL.md +0 -0
  182. package/templates/skills/knowledge/game-development/game-audio/SKILL.md +0 -0
  183. package/templates/skills/knowledge/game-development/game-design/SKILL.md +0 -0
  184. package/templates/skills/knowledge/game-development/mobile-games/SKILL.md +0 -0
  185. package/templates/skills/knowledge/game-development/multiplayer/SKILL.md +0 -0
  186. package/templates/skills/knowledge/game-development/pc-games/SKILL.md +0 -0
  187. package/templates/skills/knowledge/game-development/vr-ar/SKILL.md +0 -0
  188. package/templates/skills/knowledge/game-development/web-games/SKILL.md +0 -0
  189. package/templates/skills/knowledge/geo-fundamentals/SKILL.md +0 -0
  190. package/templates/skills/knowledge/geo-fundamentals/scripts/geo_checker.py +0 -0
  191. package/templates/skills/knowledge/i18n-localization/SKILL.md +0 -0
  192. package/templates/skills/knowledge/i18n-localization/scripts/i18n_checker.py +0 -0
  193. package/templates/skills/knowledge/intelligent-routing/SKILL.md +237 -164
  194. package/templates/skills/knowledge/jira/scripts/__pycache__/jira_client.cpython-314.pyc +0 -0
  195. package/templates/skills/knowledge/lint-and-validate/SKILL.md +0 -0
  196. package/templates/skills/knowledge/lint-and-validate/scripts/lint_runner.py +0 -0
  197. package/templates/skills/knowledge/lint-and-validate/scripts/type_coverage.py +0 -0
  198. package/templates/skills/knowledge/mcp-builder/SKILL.md +0 -0
  199. package/templates/skills/knowledge/mobile-design/SKILL.md +0 -0
  200. package/templates/skills/knowledge/mobile-design/decision-trees.md +0 -0
  201. package/templates/skills/knowledge/mobile-design/mobile-backend.md +0 -0
  202. package/templates/skills/knowledge/mobile-design/mobile-color-system.md +0 -0
  203. package/templates/skills/knowledge/mobile-design/mobile-debugging.md +0 -0
  204. package/templates/skills/knowledge/mobile-design/mobile-design-thinking.md +0 -0
  205. package/templates/skills/knowledge/mobile-design/mobile-navigation.md +0 -0
  206. package/templates/skills/knowledge/mobile-design/mobile-performance.md +0 -0
  207. package/templates/skills/knowledge/mobile-design/mobile-testing.md +0 -0
  208. package/templates/skills/knowledge/mobile-design/mobile-typography.md +0 -0
  209. package/templates/skills/knowledge/mobile-design/platform-android.md +0 -0
  210. package/templates/skills/knowledge/mobile-design/platform-ios.md +0 -0
  211. package/templates/skills/knowledge/mobile-design/scripts/mobile_audit.py +0 -0
  212. package/templates/skills/knowledge/mobile-design/touch-psychology.md +0 -0
  213. package/templates/skills/knowledge/nextjs-best-practices/SKILL.md +0 -0
  214. package/templates/skills/knowledge/nodejs-best-practices/SKILL.md +0 -0
  215. package/templates/skills/knowledge/parallel-agents/SKILL.md +345 -73
  216. package/templates/skills/knowledge/performance-profiling/SKILL.md +0 -0
  217. package/templates/skills/knowledge/performance-profiling/scripts/lighthouse_audit.py +0 -0
  218. package/templates/skills/knowledge/plan-writing/SKILL.md +0 -0
  219. package/templates/skills/knowledge/plugin-discovery/SKILL.md +582 -0
  220. package/templates/skills/knowledge/plugin-discovery/scripts/platform_setup.py +1083 -0
  221. package/templates/skills/knowledge/powershell-windows/SKILL.md +0 -0
  222. package/templates/skills/knowledge/python-patterns/SKILL.md +0 -0
  223. package/templates/skills/knowledge/react-patterns/SKILL.md +0 -0
  224. package/templates/skills/knowledge/red-team-tactics/SKILL.md +0 -0
  225. package/templates/skills/knowledge/seo-fundamentals/SKILL.md +0 -0
  226. package/templates/skills/knowledge/seo-fundamentals/scripts/seo_checker.py +0 -0
  227. package/templates/skills/knowledge/server-management/SKILL.md +0 -0
  228. package/templates/skills/knowledge/systematic-debugging/SKILL.md +0 -0
  229. package/templates/skills/knowledge/tailwind-patterns/SKILL.md +0 -0
  230. package/templates/skills/knowledge/tdd-workflow/SKILL.md +0 -0
  231. package/templates/skills/knowledge/testing-patterns/SKILL.md +0 -0
  232. package/templates/skills/knowledge/testing-patterns/scripts/test_runner.py +0 -0
  233. package/templates/skills/knowledge/vulnerability-scanner/SKILL.md +0 -0
  234. package/templates/skills/knowledge/vulnerability-scanner/checklists.md +0 -0
  235. package/templates/skills/knowledge/vulnerability-scanner/scripts/security_scan.py +0 -0
  236. package/templates/skills/knowledge/webapp-testing/SKILL.md +0 -0
  237. package/templates/skills/knowledge/webapp-testing/scripts/playwright_runner.py +0 -0
@@ -0,0 +1,531 @@
1
+ # VictoriaMetrics Kubernetes/EKS Reference
2
+
3
+ Complete guide for deploying VictoriaMetrics on Kubernetes and Amazon EKS.
4
+
5
+ ## Helm Charts
6
+
7
+ ### Repository Setup
8
+
9
+ ```bash
10
+ helm repo add vm https://victoriametrics.github.io/helm-charts/
11
+ helm repo update
12
+ ```
13
+
14
+ ### Available Charts
15
+
16
+ | Chart | Use Case |
17
+ | ---------------------------- | --------------------------------------- |
18
+ | `victoria-metrics-single` | Single-node deployment |
19
+ | `victoria-metrics-cluster` | Cluster deployment |
20
+ | `victoria-metrics-agent` | vmagent only |
21
+ | `victoria-metrics-alert` | vmalert only |
22
+ | `victoria-metrics-auth` | vmauth proxy |
23
+ | `victoria-metrics-operator` | Kubernetes Operator |
24
+ | `victoria-metrics-k8s-stack` | Full stack (like kube-prometheus-stack) |
25
+
26
+ ---
27
+
28
+ ## Single-Node on EKS
29
+
30
+ ### Basic Installation
31
+
32
+ ```bash
33
+ helm install vmsingle vm/victoria-metrics-single \
34
+ --namespace monitoring \
35
+ --create-namespace \
36
+ --set server.persistentVolume.enabled=true \
37
+ --set server.persistentVolume.size=100Gi \
38
+ --set server.persistentVolume.storageClass=gp3 \
39
+ --set server.retentionPeriod=90d
40
+ ```
41
+
42
+ ### Production Values
43
+
44
+ ```yaml
45
+ # values-single-eks.yaml
46
+ server:
47
+ persistentVolume:
48
+ enabled: true
49
+ size: 200Gi
50
+ storageClass: gp3
51
+
52
+ resources:
53
+ requests:
54
+ cpu: "1000m"
55
+ memory: "4Gi"
56
+ limits:
57
+ cpu: "4000m"
58
+ memory: "8Gi"
59
+
60
+ extraArgs:
61
+ retentionPeriod: 90d
62
+ dedup.minScrapeInterval: 15s
63
+ search.maxConcurrentRequests: "16"
64
+ memory.allowedPercent: "80"
65
+
66
+ nodeSelector:
67
+ node-type: monitoring
68
+
69
+ tolerations:
70
+ - key: "monitoring"
71
+ operator: "Equal"
72
+ value: "true"
73
+ effect: "NoSchedule"
74
+
75
+ affinity:
76
+ podAntiAffinity:
77
+ requiredDuringSchedulingIgnoredDuringExecution:
78
+ - labelSelector:
79
+ matchLabels:
80
+ app: victoriametrics
81
+ topologyKey: "kubernetes.io/hostname"
82
+ ```
83
+
84
+ ---
85
+
86
+ ## Cluster on EKS
87
+
88
+ ### Installation
89
+
90
+ ```bash
91
+ helm install vmcluster vm/victoria-metrics-cluster \
92
+ --namespace monitoring \
93
+ --create-namespace \
94
+ -f values-cluster-eks.yaml
95
+ ```
96
+
97
+ ### Production Values
98
+
99
+ ```yaml
100
+ # values-cluster-eks.yaml
101
+ vminsert:
102
+ replicaCount: 3
103
+
104
+ resources:
105
+ requests:
106
+ cpu: "500m"
107
+ memory: "512Mi"
108
+ limits:
109
+ cpu: "2000m"
110
+ memory: "2Gi"
111
+
112
+ extraArgs:
113
+ maxLabelsPerTimeseries: "50"
114
+
115
+ podAntiAffinity:
116
+ requiredDuringSchedulingIgnoredDuringExecution:
117
+ - labelSelector:
118
+ matchLabels:
119
+ app: vminsert
120
+ topologyKey: "topology.kubernetes.io/zone"
121
+
122
+ vmselect:
123
+ replicaCount: 3
124
+
125
+ resources:
126
+ requests:
127
+ cpu: "500m"
128
+ memory: "1Gi"
129
+ limits:
130
+ cpu: "4000m"
131
+ memory: "8Gi"
132
+
133
+ extraArgs:
134
+ search.maxConcurrentRequests: "32"
135
+ search.maxQueueDuration: "30s"
136
+ search.maxQueryDuration: "60s"
137
+ dedup.minScrapeInterval: "15s"
138
+
139
+ podAntiAffinity:
140
+ requiredDuringSchedulingIgnoredDuringExecution:
141
+ - labelSelector:
142
+ matchLabels:
143
+ app: vmselect
144
+ topologyKey: "topology.kubernetes.io/zone"
145
+
146
+ vmstorage:
147
+ replicaCount: 3
148
+
149
+ persistentVolume:
150
+ enabled: true
151
+ size: 500Gi
152
+ storageClass: gp3
153
+
154
+ resources:
155
+ requests:
156
+ cpu: "1000m"
157
+ memory: "4Gi"
158
+ limits:
159
+ cpu: "4000m"
160
+ memory: "16Gi"
161
+
162
+ extraArgs:
163
+ retentionPeriod: "90d"
164
+ dedup.minScrapeInterval: "15s"
165
+ storage.minFreeDiskSpaceBytes: "10GB"
166
+
167
+ podAntiAffinity:
168
+ requiredDuringSchedulingIgnoredDuringExecution:
169
+ - labelSelector:
170
+ matchLabels:
171
+ app: vmstorage
172
+ topologyKey: "topology.kubernetes.io/zone"
173
+
174
+ nodeSelector:
175
+ node-type: storage
176
+ ```
177
+
178
+ ---
179
+
180
+ ## VictoriaMetrics Operator
181
+
182
+ ### Installation
183
+
184
+ ```bash
185
+ helm install vm-operator vm/victoria-metrics-operator \
186
+ --namespace monitoring \
187
+ --create-namespace \
188
+ --set operator.disable_prometheus_converter=false
189
+ ```
190
+
191
+ ### VMCluster CRD
192
+
193
+ ```yaml
194
+ apiVersion: operator.victoriametrics.com/v1beta1
195
+ kind: VMCluster
196
+ metadata:
197
+ name: production
198
+ namespace: monitoring
199
+ spec:
200
+ retentionPeriod: "90d"
201
+ replicationFactor: 2
202
+
203
+ vmstorage:
204
+ replicaCount: 3
205
+ storageDataPath: /vm-data
206
+ storage:
207
+ volumeClaimTemplate:
208
+ spec:
209
+ storageClassName: gp3
210
+ resources:
211
+ requests:
212
+ storage: 500Gi
213
+ resources:
214
+ limits:
215
+ cpu: "4"
216
+ memory: "16Gi"
217
+ requests:
218
+ cpu: "1"
219
+ memory: "4Gi"
220
+ affinity:
221
+ podAntiAffinity:
222
+ requiredDuringSchedulingIgnoredDuringExecution:
223
+ - labelSelector:
224
+ matchLabels:
225
+ app.kubernetes.io/name: vmstorage
226
+ topologyKey: topology.kubernetes.io/zone
227
+
228
+ vmselect:
229
+ replicaCount: 3
230
+ cacheMountPath: /cache
231
+ extraArgs:
232
+ search.maxConcurrentRequests: "32"
233
+ resources:
234
+ limits:
235
+ cpu: "4"
236
+ memory: "8Gi"
237
+ requests:
238
+ cpu: "500m"
239
+ memory: "1Gi"
240
+
241
+ vminsert:
242
+ replicaCount: 3
243
+ resources:
244
+ limits:
245
+ cpu: "2"
246
+ memory: "2Gi"
247
+ requests:
248
+ cpu: "500m"
249
+ memory: "512Mi"
250
+ ```
251
+
252
+ ### VMAgent CRD
253
+
254
+ ```yaml
255
+ apiVersion: operator.victoriametrics.com/v1beta1
256
+ kind: VMAgent
257
+ metadata:
258
+ name: vmagent
259
+ namespace: monitoring
260
+ spec:
261
+ replicaCount: 2
262
+
263
+ selectAllByDefault: true
264
+
265
+ remoteWrite:
266
+ - url: http://vminsert-production.monitoring:8480/insert/0/prometheus/api/v1/write
267
+
268
+ extraArgs:
269
+ promscrape.cluster.membersCount: "2"
270
+
271
+ resources:
272
+ requests:
273
+ cpu: "250m"
274
+ memory: "256Mi"
275
+ limits:
276
+ cpu: "1000m"
277
+ memory: "1Gi"
278
+
279
+ scrapeInterval: 30s
280
+ ```
281
+
282
+ ### VMAlert CRD
283
+
284
+ ```yaml
285
+ apiVersion: operator.victoriametrics.com/v1beta1
286
+ kind: VMAlert
287
+ metadata:
288
+ name: vmalert
289
+ namespace: monitoring
290
+ spec:
291
+ replicaCount: 2
292
+
293
+ datasource:
294
+ url: http://vmselect-production.monitoring:8481/select/0/prometheus
295
+
296
+ remoteWrite:
297
+ url: http://vminsert-production.monitoring:8480/insert/0/prometheus
298
+
299
+ remoteRead:
300
+ url: http://vmselect-production.monitoring:8481/select/0/prometheus
301
+
302
+ notifiers:
303
+ - url: http://alertmanager.monitoring:9093
304
+
305
+ selectAllByDefault: true
306
+
307
+ resources:
308
+ requests:
309
+ cpu: "100m"
310
+ memory: "128Mi"
311
+ limits:
312
+ cpu: "500m"
313
+ memory: "512Mi"
314
+ ```
315
+
316
+ ---
317
+
318
+ ## vmagent DaemonSet (EKS)
319
+
320
+ For node-level scraping:
321
+
322
+ ```yaml
323
+ apiVersion: apps/v1
324
+ kind: DaemonSet
325
+ metadata:
326
+ name: vmagent-node
327
+ namespace: monitoring
328
+ spec:
329
+ selector:
330
+ matchLabels:
331
+ app: vmagent-node
332
+ template:
333
+ metadata:
334
+ labels:
335
+ app: vmagent-node
336
+ spec:
337
+ serviceAccountName: vmagent
338
+ containers:
339
+ - name: vmagent
340
+ image: victoriametrics/vmagent:v1.102.0
341
+ args:
342
+ - -promscrape.config=/config/prometheus.yml
343
+ - -remoteWrite.url=http://vminsert:8480/insert/0/prometheus/api/v1/write
344
+ - -remoteWrite.tmpDataPath=/tmp/vmagent
345
+ ports:
346
+ - containerPort: 8429
347
+ volumeMounts:
348
+ - name: config
349
+ mountPath: /config
350
+ - name: tmpdata
351
+ mountPath: /tmp/vmagent
352
+ resources:
353
+ requests:
354
+ cpu: "100m"
355
+ memory: "128Mi"
356
+ limits:
357
+ cpu: "500m"
358
+ memory: "512Mi"
359
+ volumes:
360
+ - name: config
361
+ configMap:
362
+ name: vmagent-config
363
+ - name: tmpdata
364
+ emptyDir: {}
365
+ ```
366
+
367
+ ---
368
+
369
+ ## Storage Classes (EKS)
370
+
371
+ ### GP3 StorageClass
372
+
373
+ ```yaml
374
+ apiVersion: storage.k8s.io/v1
375
+ kind: StorageClass
376
+ metadata:
377
+ name: gp3
378
+ provisioner: ebs.csi.aws.com
379
+ parameters:
380
+ type: gp3
381
+ iops: "3000"
382
+ throughput: "125"
383
+ fsType: ext4
384
+ reclaimPolicy: Retain
385
+ allowVolumeExpansion: true
386
+ volumeBindingMode: WaitForFirstConsumer
387
+ ```
388
+
389
+ ### IO2 for High Performance
390
+
391
+ ```yaml
392
+ apiVersion: storage.k8s.io/v1
393
+ kind: StorageClass
394
+ metadata:
395
+ name: io2-high-iops
396
+ provisioner: ebs.csi.aws.com
397
+ parameters:
398
+ type: io2
399
+ iops: "10000"
400
+ fsType: ext4
401
+ reclaimPolicy: Retain
402
+ allowVolumeExpansion: true
403
+ volumeBindingMode: WaitForFirstConsumer
404
+ ```
405
+
406
+ ---
407
+
408
+ ## Service Mesh Integration
409
+
410
+ ### Istio
411
+
412
+ ```yaml
413
+ apiVersion: networking.istio.io/v1beta1
414
+ kind: VirtualService
415
+ metadata:
416
+ name: victoriametrics
417
+ namespace: monitoring
418
+ spec:
419
+ hosts:
420
+ - victoriametrics.example.com
421
+ gateways:
422
+ - monitoring-gateway
423
+ http:
424
+ - match:
425
+ - uri:
426
+ prefix: /
427
+ route:
428
+ - destination:
429
+ host: vmselect
430
+ port:
431
+ number: 8481
432
+ ```
433
+
434
+ ---
435
+
436
+ ## Ingress (ALB)
437
+
438
+ ```yaml
439
+ apiVersion: networking.k8s.io/v1
440
+ kind: Ingress
441
+ metadata:
442
+ name: victoriametrics
443
+ namespace: monitoring
444
+ annotations:
445
+ kubernetes.io/ingress.class: alb
446
+ alb.ingress.kubernetes.io/scheme: internal
447
+ alb.ingress.kubernetes.io/target-type: ip
448
+ alb.ingress.kubernetes.io/healthcheck-path: /health
449
+ spec:
450
+ rules:
451
+ - host: vm.internal.example.com
452
+ http:
453
+ paths:
454
+ - path: /
455
+ pathType: Prefix
456
+ backend:
457
+ service:
458
+ name: vmselect
459
+ port:
460
+ number: 8481
461
+ ```
462
+
463
+ ---
464
+
465
+ ## Monitoring the Stack
466
+
467
+ ### ServiceMonitor for Prometheus Operator Compatibility
468
+
469
+ ```yaml
470
+ apiVersion: monitoring.coreos.com/v1
471
+ kind: ServiceMonitor
472
+ metadata:
473
+ name: victoriametrics
474
+ namespace: monitoring
475
+ spec:
476
+ selector:
477
+ matchLabels:
478
+ app: victoriametrics
479
+ endpoints:
480
+ - port: http
481
+ interval: 30s
482
+ path: /metrics
483
+ ```
484
+
485
+ ---
486
+
487
+ ## Backup to S3 (EKS)
488
+
489
+ ### IRSA Setup
490
+
491
+ ```yaml
492
+ apiVersion: v1
493
+ kind: ServiceAccount
494
+ metadata:
495
+ name: vmbackup
496
+ namespace: monitoring
497
+ annotations:
498
+ eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT_ID:role/vmbackup-role
499
+ ```
500
+
501
+ ### CronJob for Backup
502
+
503
+ ```yaml
504
+ apiVersion: batch/v1
505
+ kind: CronJob
506
+ metadata:
507
+ name: vmbackup
508
+ namespace: monitoring
509
+ spec:
510
+ schedule: "0 2 * * *" # Daily at 2 AM
511
+ jobTemplate:
512
+ spec:
513
+ template:
514
+ spec:
515
+ serviceAccountName: vmbackup
516
+ containers:
517
+ - name: vmbackup
518
+ image: victoriametrics/vmbackup:v1.102.0
519
+ args:
520
+ - -storageDataPath=/vm-data
521
+ - -snapshot.createURL=http://vmstorage:8482/snapshot/create
522
+ - -dst=s3://my-bucket/vmbackups/$(date +%Y%m%d)
523
+ volumeMounts:
524
+ - name: vm-data
525
+ mountPath: /vm-data
526
+ volumes:
527
+ - name: vm-data
528
+ persistentVolumeClaim:
529
+ claimName: vmstorage-data
530
+ restartPolicy: OnFailure
531
+ ```