blockmine 1.24.0 → 1.27.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 (476) hide show
  1. package/CHANGELOG.md +76 -1
  2. package/README.en.md +427 -0
  3. package/README.md +40 -0
  4. package/backend/package.json +2 -2
  5. package/backend/prisma/migrations/20260328173000_add_plugin_source_ref/migration.sql +2 -0
  6. package/backend/prisma/migrations/migration_lock.toml +2 -2
  7. package/backend/prisma/schema.prisma +2 -0
  8. package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
  9. package/backend/src/api/routes/apiKeys.js +8 -0
  10. package/backend/src/api/routes/bots.js +271 -9
  11. package/backend/src/api/routes/eventGraphs.js +151 -1
  12. package/backend/src/api/routes/health.js +38 -0
  13. package/backend/src/api/routes/nodeRegistry.js +63 -0
  14. package/backend/src/api/routes/plugins.js +254 -29
  15. package/backend/src/api/routes/servers.js +14 -2
  16. package/backend/src/container.js +11 -8
  17. package/backend/src/core/BotCommandLoader.js +161 -0
  18. package/backend/src/core/BotConnection.js +125 -0
  19. package/backend/src/core/BotEventHandlers.js +234 -0
  20. package/backend/src/core/BotIPCHandler.js +445 -0
  21. package/backend/src/core/BotManager.js +15 -7
  22. package/backend/src/core/BotProcess.js +169 -140
  23. package/backend/src/core/EventGraphManager.js +7 -3
  24. package/backend/src/core/GraphDebugHandler.js +229 -0
  25. package/backend/src/core/GraphDebugIPC.js +117 -0
  26. package/backend/src/core/GraphExecutionEngine.js +545 -978
  27. package/backend/src/core/GraphTraversal.js +80 -0
  28. package/backend/src/core/GraphValidation.js +73 -0
  29. package/backend/src/core/NodeDefinition.js +138 -0
  30. package/backend/src/core/NodeRegistry.js +153 -141
  31. package/backend/src/core/PluginLoader.js +83 -3
  32. package/backend/src/core/PluginManager.js +346 -35
  33. package/backend/src/core/RewindSignal.js +9 -0
  34. package/backend/src/core/config/ConfigValidator.js +72 -0
  35. package/backend/src/core/config/FeatureFlags.js +52 -0
  36. package/backend/src/core/config/__tests__/ConfigValidator.test.js +232 -0
  37. package/backend/src/core/domain/entities/Bot.js +39 -0
  38. package/backend/src/core/domain/entities/Command.js +41 -0
  39. package/backend/src/core/domain/entities/EventGraph.js +39 -0
  40. package/backend/src/core/domain/entities/Plugin.js +45 -0
  41. package/backend/src/core/domain/entities/User.js +40 -0
  42. package/backend/src/core/domain/services/DependencyResolver.js +168 -0
  43. package/backend/src/core/domain/services/GraphValidator.js +117 -0
  44. package/backend/src/core/domain/services/PermissionChecker.js +34 -0
  45. package/backend/src/core/domain/services/__tests__/DependencyResolver.test.js +126 -0
  46. package/backend/src/core/domain/valueObjects/BotConfig.js +27 -0
  47. package/backend/src/core/domain/valueObjects/DependencyGraph.js +86 -0
  48. package/backend/src/core/domain/valueObjects/PluginManifest.js +36 -0
  49. package/backend/src/core/errors/BaseError.js +29 -0
  50. package/backend/src/core/errors/ErrorHandler.js +81 -0
  51. package/backend/src/core/errors/__tests__/ErrorHandler.test.js +188 -0
  52. package/backend/src/core/errors/index.js +68 -0
  53. package/backend/src/core/infrastructure/BatchingUtility.js +66 -0
  54. package/backend/src/core/infrastructure/CircuitBreaker.js +103 -0
  55. package/backend/src/core/infrastructure/ConnectionPool.js +81 -0
  56. package/backend/src/core/infrastructure/RateLimiter.js +64 -0
  57. package/backend/src/core/infrastructure/__tests__/BatchingUtility.test.js +86 -0
  58. package/backend/src/core/infrastructure/__tests__/CircuitBreaker.test.js +156 -0
  59. package/backend/src/core/infrastructure/__tests__/ConnectionPool.test.js +146 -0
  60. package/backend/src/core/infrastructure/__tests__/RateLimiter.test.js +171 -0
  61. package/backend/src/core/ipc/botApiFactory.js +72 -0
  62. package/backend/src/core/ipc/ipcMessageTypes.js +115 -0
  63. package/backend/src/core/logging/AuditLogger.js +61 -0
  64. package/backend/src/core/logging/StructuredLogger.js +80 -0
  65. package/backend/src/core/logging/__tests__/StructuredLogger.test.js +213 -0
  66. package/backend/src/core/logging/index.js +7 -0
  67. package/backend/src/core/metrics/MetricsCollector.js +104 -0
  68. package/backend/src/core/metrics/__tests__/MetricsCollector.test.js +131 -0
  69. package/backend/src/core/node-registries/actionsNodes.js +191 -0
  70. package/backend/src/core/node-registries/arraysNodes.js +152 -0
  71. package/backend/src/core/node-registries/botNodes.js +48 -0
  72. package/backend/src/core/node-registries/containerNodes.js +141 -0
  73. package/backend/src/core/node-registries/dataNodes.js +284 -0
  74. package/backend/src/core/node-registries/debugNodes.js +23 -0
  75. package/backend/src/core/node-registries/eventsNodes.js +223 -0
  76. package/backend/src/core/node-registries/flowNodes.js +151 -0
  77. package/backend/src/core/node-registries/furnaceNodes.js +123 -0
  78. package/backend/src/core/node-registries/index.js +108 -0
  79. package/backend/src/core/node-registries/inventory.js +102 -106
  80. package/backend/src/core/node-registries/logicNodes.js +54 -0
  81. package/backend/src/core/node-registries/mathNodes.js +38 -0
  82. package/backend/src/core/node-registries/navigationNodes.js +109 -0
  83. package/backend/src/core/node-registries/objectsNodes.js +90 -0
  84. package/backend/src/core/node-registries/stringsNodes.js +165 -0
  85. package/backend/src/core/node-registries/timeNodes.js +105 -0
  86. package/backend/src/core/node-registries/typeNodes.js +22 -0
  87. package/backend/src/core/node-registries/usersNodes.js +126 -0
  88. package/backend/src/core/nodes/arrays/shuffle.js +14 -0
  89. package/backend/src/core/nodes/bot/get_name.js +8 -0
  90. package/backend/src/core/nodes/bot/stop_bot.js +5 -0
  91. package/backend/src/core/nodes/container/open.js +101 -111
  92. package/backend/src/core/nodes/data/store_read.js +26 -0
  93. package/backend/src/core/nodes/data/store_write.js +23 -0
  94. package/backend/src/core/nodes/event/call_event.js +31 -0
  95. package/backend/src/core/nodes/event/custom_event.js +8 -0
  96. package/backend/src/core/nodes/flow/timer.js +35 -0
  97. package/backend/src/core/nodes/inventory/drop.js +73 -65
  98. package/backend/src/core/nodes/inventory/equip.js +54 -45
  99. package/backend/src/core/nodes/inventory/select_slot.js +48 -46
  100. package/backend/src/core/nodes/navigation/follow.js +54 -51
  101. package/backend/src/core/nodes/navigation/go_to.js +41 -53
  102. package/backend/src/core/nodes/navigation/go_to_entity.js +65 -69
  103. package/backend/src/core/nodes/navigation/go_to_player.js +65 -70
  104. package/backend/src/core/nodes/navigation/stop.js +17 -26
  105. package/backend/src/core/nodes/users/add_to_group.js +24 -0
  106. package/backend/src/core/nodes/users/check_permission.js +26 -0
  107. package/backend/src/core/nodes/users/remove_from_group.js +24 -0
  108. package/backend/src/core/services/BotIPCMessageRouter.js +337 -0
  109. package/backend/src/core/services/BotLifecycleService.js +43 -450
  110. package/backend/src/core/services/CacheManager.js +83 -23
  111. package/backend/src/core/services/CrashRestartManager.js +42 -0
  112. package/backend/src/core/services/DebugSessionManager.js +114 -12
  113. package/backend/src/core/services/EventGraphService.js +69 -0
  114. package/backend/src/core/services/MinecraftBotManager.js +9 -1
  115. package/backend/src/core/services/PluginManagementService.js +84 -0
  116. package/backend/src/core/services/TestModeContext.js +65 -0
  117. package/backend/src/core/services/__tests__/CacheManager.test.js +168 -0
  118. package/backend/src/core/services.js +1 -11
  119. package/backend/src/core/validation/InputValidator.js +167 -0
  120. package/backend/src/core/validation/__tests__/InputValidator.test.js +296 -0
  121. package/backend/src/real-time/botApi/index.js +1 -1
  122. package/backend/src/real-time/socketHandler.js +26 -0
  123. package/backend/src/server.js +21 -6
  124. package/frontend/dist/assets/browser-ponyfill-D8y0Ty7C.js +2 -0
  125. package/frontend/dist/assets/index-CFJLS0dk.css +32 -0
  126. package/frontend/dist/assets/index-D91UGNMG.js +11260 -0
  127. package/frontend/dist/flags/en.svg +32 -0
  128. package/frontend/dist/flags/ru.svg +5 -0
  129. package/frontend/dist/index.html +2 -2
  130. package/frontend/dist/locales/en/admin.json +100 -0
  131. package/frontend/dist/locales/en/api-keys.json +58 -0
  132. package/frontend/dist/locales/en/bots.json +113 -0
  133. package/frontend/dist/locales/en/common.json +53 -0
  134. package/frontend/dist/locales/en/configuration.json +22 -0
  135. package/frontend/dist/locales/en/console.json +10 -0
  136. package/frontend/dist/locales/en/dashboard.json +85 -0
  137. package/frontend/dist/locales/en/dialogs.json +70 -0
  138. package/frontend/dist/locales/en/event-graphs.json +50 -0
  139. package/frontend/dist/locales/en/graph-store.json +70 -0
  140. package/frontend/dist/locales/en/login.json +36 -0
  141. package/frontend/dist/locales/en/management.json +192 -0
  142. package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
  143. package/frontend/dist/locales/en/nodes.json +1132 -0
  144. package/frontend/dist/locales/en/permissions.json +50 -0
  145. package/frontend/dist/locales/en/plugin-detail.json +69 -0
  146. package/frontend/dist/locales/en/plugins.json +329 -0
  147. package/frontend/dist/locales/en/proxies.json +81 -0
  148. package/frontend/dist/locales/en/servers.json +39 -0
  149. package/frontend/dist/locales/en/setup.json +19 -0
  150. package/frontend/dist/locales/en/sidebar.json +195 -0
  151. package/frontend/dist/locales/en/tasks.json +62 -0
  152. package/frontend/dist/locales/en/visual-editor.json +418 -0
  153. package/frontend/dist/locales/en/websocket.json +86 -0
  154. package/frontend/dist/locales/ru/admin.json +100 -0
  155. package/frontend/dist/locales/ru/api-keys.json +58 -0
  156. package/frontend/dist/locales/ru/bots.json +113 -0
  157. package/frontend/dist/locales/ru/common.json +49 -0
  158. package/frontend/dist/locales/ru/configuration.json +22 -0
  159. package/frontend/dist/locales/ru/console.json +10 -0
  160. package/frontend/dist/locales/ru/dashboard.json +85 -0
  161. package/frontend/dist/locales/ru/dialogs.json +70 -0
  162. package/frontend/dist/locales/ru/event-graphs.json +50 -0
  163. package/frontend/dist/locales/ru/graph-store.json +70 -0
  164. package/frontend/dist/locales/ru/login.json +36 -0
  165. package/frontend/dist/locales/ru/management.json +192 -0
  166. package/frontend/dist/locales/ru/minecraft-viewer.json +30 -0
  167. package/frontend/dist/locales/ru/nodes.json +1131 -0
  168. package/frontend/dist/locales/ru/permissions.json +50 -0
  169. package/frontend/dist/locales/ru/plugin-detail.json +49 -0
  170. package/frontend/dist/locales/ru/plugins.json +209 -0
  171. package/frontend/dist/locales/ru/proxies.json +81 -0
  172. package/frontend/dist/locales/ru/servers.json +39 -0
  173. package/frontend/dist/locales/ru/setup.json +19 -0
  174. package/frontend/dist/locales/ru/sidebar.json +195 -0
  175. package/frontend/dist/locales/ru/tasks.json +62 -0
  176. package/frontend/dist/locales/ru/visual-editor.json +420 -0
  177. package/frontend/dist/locales/ru/websocket.json +86 -0
  178. package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
  179. package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
  180. package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
  181. package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
  182. package/frontend/package.json +6 -0
  183. package/nul +12 -0
  184. package/package.json +3 -3
  185. package/screen/3dviewer.png +0 -0
  186. package/screen/console.png +0 -0
  187. package/screen/dashboard.png +0 -0
  188. package/screen/graph_collabe.png +0 -0
  189. package/screen/graph_live_debug.png +0 -0
  190. package/screen/language_selector.png +0 -0
  191. package/screen/management_command.png +0 -0
  192. package/screen/node_debug_trace.png +0 -0
  193. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  194. package/screen/websocket.png +0 -0
  195. package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
  196. package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
  197. package/.claude/agents/README.md +0 -469
  198. package/.claude/agents/auth-route-debugger.md +0 -118
  199. package/.claude/agents/auth-route-tester.md +0 -93
  200. package/.claude/agents/auto-error-resolver.md +0 -97
  201. package/.claude/agents/build-optimizer.md +0 -236
  202. package/.claude/agents/code-architect.md +0 -34
  203. package/.claude/agents/code-architecture-reviewer.md +0 -83
  204. package/.claude/agents/code-explorer.md +0 -51
  205. package/.claude/agents/code-refactor-master.md +0 -94
  206. package/.claude/agents/code-reviewer.md +0 -46
  207. package/.claude/agents/cost-optimizer.md +0 -134
  208. package/.claude/agents/deployment-orchestrator.md +0 -113
  209. package/.claude/agents/documentation-architect.md +0 -82
  210. package/.claude/agents/frontend-error-fixer.md +0 -77
  211. package/.claude/agents/iac-code-generator.md +0 -71
  212. package/.claude/agents/incident-responder.md +0 -346
  213. package/.claude/agents/infrastructure-architect.md +0 -31
  214. package/.claude/agents/kubernetes-specialist.md +0 -56
  215. package/.claude/agents/migration-planner.md +0 -181
  216. package/.claude/agents/network-architect.md +0 -196
  217. package/.claude/agents/plan-reviewer.md +0 -52
  218. package/.claude/agents/refactor-planner.md +0 -63
  219. package/.claude/agents/security-scanner.md +0 -102
  220. package/.claude/agents/web-research-specialist.md +0 -78
  221. package/.claude/commands/cost-analysis.md +0 -315
  222. package/.claude/commands/dev-docs-update.md +0 -55
  223. package/.claude/commands/dev-docs.md +0 -51
  224. package/.claude/commands/feature-dev.md +0 -125
  225. package/.claude/commands/incident-debug.md +0 -247
  226. package/.claude/commands/infra-plan.md +0 -81
  227. package/.claude/commands/migration-plan.md +0 -478
  228. package/.claude/commands/route-research-for-testing.md +0 -37
  229. package/.claude/commands/security-review.md +0 -66
  230. package/.claude/hooks/CONFIG.md +0 -448
  231. package/.claude/hooks/README.md +0 -163
  232. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
  233. package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
  234. package/.claude/hooks/add-skill-activation-banners.ts +0 -132
  235. package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
  236. package/.claude/hooks/error-handling-reminder.sh +0 -12
  237. package/.claude/hooks/error-handling-reminder.ts +0 -222
  238. package/.claude/hooks/k8s-manifest-validator.sh +0 -56
  239. package/.claude/hooks/package-lock.json +0 -556
  240. package/.claude/hooks/package.json +0 -16
  241. package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
  242. package/.claude/hooks/post-tool-use-tracker.sh +0 -183
  243. package/.claude/hooks/security-policy-check.sh +0 -247
  244. package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
  245. package/.claude/hooks/skill-activation-prompt.sh +0 -10
  246. package/.claude/hooks/skill-activation-prompt.ts +0 -141
  247. package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
  248. package/.claude/hooks/terraform-validator.sh +0 -53
  249. package/.claude/hooks/test-input.json +0 -7
  250. package/.claude/hooks/test-skill-activation.ts +0 -427
  251. package/.claude/hooks/trigger-build-resolver.sh +0 -79
  252. package/.claude/hooks/tsc-check.sh +0 -173
  253. package/.claude/hooks/tsconfig.json +0 -19
  254. package/.claude/settings.json +0 -59
  255. package/.claude/settings.local.json +0 -67
  256. package/.claude/skills/README.md +0 -507
  257. package/.claude/skills/api-engineering/SKILL.md +0 -63
  258. package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
  259. package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
  260. package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
  261. package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
  262. package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
  263. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
  264. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
  265. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
  266. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
  267. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
  268. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
  269. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
  270. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
  271. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
  272. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
  273. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
  274. package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
  275. package/.claude/skills/build-engineering/SKILL.md +0 -431
  276. package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
  277. package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
  278. package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
  279. package/.claude/skills/build-engineering/resources/build-security.md +0 -95
  280. package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
  281. package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
  282. package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
  283. package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
  284. package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
  285. package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
  286. package/.claude/skills/cloud-engineering/SKILL.md +0 -675
  287. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
  288. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
  289. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
  290. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
  291. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
  292. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
  293. package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
  294. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
  295. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
  296. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
  297. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
  298. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
  299. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
  300. package/.claude/skills/cybersecurity/SKILL.md +0 -409
  301. package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
  302. package/.claude/skills/database-engineering/SKILL.md +0 -61
  303. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
  304. package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
  305. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
  306. package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
  307. package/.claude/skills/devsecops/SKILL.md +0 -374
  308. package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
  309. package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
  310. package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
  311. package/.claude/skills/devsecops/resources/container-security.md +0 -915
  312. package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
  313. package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
  314. package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
  315. package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
  316. package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
  317. package/.claude/skills/devsecops/resources/security-testing.md +0 -203
  318. package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
  319. package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
  320. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
  321. package/.claude/skills/documentation-as-code/SKILL.md +0 -323
  322. package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
  323. package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
  324. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
  325. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
  326. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
  327. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
  328. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
  329. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
  330. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
  331. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
  332. package/.claude/skills/engineering-management/SKILL.md +0 -356
  333. package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
  334. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
  335. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
  336. package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
  337. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
  338. package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
  339. package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
  340. package/.claude/skills/error-tracking/SKILL.md +0 -379
  341. package/.claude/skills/frontend-design/SKILL.md +0 -42
  342. package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
  343. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
  344. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
  345. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
  346. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
  347. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
  348. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
  349. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
  350. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
  351. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
  352. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
  353. package/.claude/skills/general-it-engineering/SKILL.md +0 -393
  354. package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
  355. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
  356. package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
  357. package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
  358. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
  359. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
  360. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
  361. package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
  362. package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
  363. package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
  364. package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
  365. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
  366. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
  367. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
  368. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
  369. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
  370. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
  371. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
  372. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
  373. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
  374. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
  375. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
  376. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
  377. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
  378. package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
  379. package/.claude/skills/network-engineering/SKILL.md +0 -385
  380. package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
  381. package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
  382. package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
  383. package/.claude/skills/network-engineering/resources/network-security.md +0 -921
  384. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
  385. package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
  386. package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
  387. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
  388. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
  389. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
  390. package/.claude/skills/node-development/SKILL.md +0 -317
  391. package/.claude/skills/observability-engineering/SKILL.md +0 -101
  392. package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
  393. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
  394. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
  395. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
  396. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
  397. package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
  398. package/.claude/skills/platform-engineering/SKILL.md +0 -555
  399. package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
  400. package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
  401. package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
  402. package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
  403. package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
  404. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
  405. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
  406. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
  407. package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
  408. package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
  409. package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
  410. package/.claude/skills/release-engineering/SKILL.md +0 -393
  411. package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
  412. package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
  413. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
  414. package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
  415. package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
  416. package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
  417. package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
  418. package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
  419. package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
  420. package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
  421. package/.claude/skills/route-tester/SKILL.md +0 -392
  422. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  423. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  424. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  425. package/.claude/skills/skill-developer/SKILL.md +0 -430
  426. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  427. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  428. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  429. package/.claude/skills/skill-rules.json +0 -2989
  430. package/.claude/skills/sre/SKILL.md +0 -464
  431. package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
  432. package/.claude/skills/sre/resources/capacity-planning.md +0 -226
  433. package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
  434. package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
  435. package/.claude/skills/sre/resources/incident-management.md +0 -436
  436. package/.claude/skills/sre/resources/observability-stack.md +0 -240
  437. package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
  438. package/.claude/skills/sre/resources/performance-optimization.md +0 -108
  439. package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
  440. package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
  441. package/.claude/skills/sre/resources/toil-reduction.md +0 -145
  442. package/.claude/skills/systems-engineering/SKILL.md +0 -648
  443. package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
  444. package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
  445. package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
  446. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
  447. package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
  448. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
  449. package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
  450. package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
  451. package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
  452. package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
  453. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
  454. package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
  455. package/.claude/skills/technical-leadership/SKILL.md +0 -728
  456. package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
  457. package/backend/package-lock.json +0 -6801
  458. package/backend/src/core/node-registries/actions.js +0 -202
  459. package/backend/src/core/node-registries/arrays.js +0 -155
  460. package/backend/src/core/node-registries/bot.js +0 -23
  461. package/backend/src/core/node-registries/container.js +0 -162
  462. package/backend/src/core/node-registries/data.js +0 -290
  463. package/backend/src/core/node-registries/debug.js +0 -26
  464. package/backend/src/core/node-registries/events.js +0 -201
  465. package/backend/src/core/node-registries/flow.js +0 -139
  466. package/backend/src/core/node-registries/furnace.js +0 -143
  467. package/backend/src/core/node-registries/logic.js +0 -62
  468. package/backend/src/core/node-registries/math.js +0 -42
  469. package/backend/src/core/node-registries/navigation.js +0 -111
  470. package/backend/src/core/node-registries/objects.js +0 -98
  471. package/backend/src/core/node-registries/strings.js +0 -187
  472. package/backend/src/core/node-registries/time.js +0 -113
  473. package/backend/src/core/node-registries/type.js +0 -25
  474. package/backend/src/core/node-registries/users.js +0 -79
  475. package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
  476. package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
@@ -1,628 +0,0 @@
1
- # Service Mesh
2
-
3
- Advanced service-to-service communication with Istio and Linkerd, including traffic management, security policies, and observability.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [Istio Architecture](#istio-architecture)
9
- - [Traffic Management](#traffic-management)
10
- - [Security](#security)
11
- - [Observability](#observability)
12
- - [Linkerd](#linkerd)
13
- - [Best Practices](#best-practices)
14
-
15
- ## Overview
16
-
17
- ### What is a Service Mesh?
18
-
19
- ```
20
- Without Service Mesh With Service Mesh
21
- ────────────────── ─────────────────
22
- Service A → Service B Service A → Sidecar Proxy → Sidecar Proxy → Service B
23
- ↓ ↓
24
- Control Plane Control Plane
25
- (Policy, Telemetry, Config)
26
- ```
27
-
28
- ### Benefits
29
-
30
- - **Traffic Management**: Advanced routing, load balancing, retries
31
- - **Security**: mTLS, authorization policies
32
- - **Observability**: Metrics, traces, logs
33
- - **Resilience**: Circuit breaking, timeouts, retries
34
-
35
- ## Istio Architecture
36
-
37
- ### Components
38
-
39
- ```
40
- ┌─────────────────── Control Plane ───────────────────┐
41
- │ │
42
- │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
43
- │ │ Pilot │ │ Citadel │ │ Galley │ │
44
- │ │ (Config)│ │ (Cert) │ │ (Config)│ │
45
- │ └─────────┘ └─────────┘ └─────────┘ │
46
- │ │
47
- └──────────────────────┬───────────────────────────────┘
48
-
49
- ┌─────────────┼─────────────┐
50
- │ │ │
51
- ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
52
- │ Pod │ │ Pod │ │ Pod │
53
- │ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │
54
- │ │ App │ │ │ │ App │ │ │ │ App │ │
55
- │ └─────┘ │ │ └─────┘ │ │ └─────┘ │
56
- │ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │
57
- │ │Envoy│ │ │ │Envoy│ │ │ │Envoy│ │
58
- │ │Proxy│ │ │ │Proxy│ │ │ │Proxy│ │
59
- │ └─────┘ │ │ └─────┘ │ │ └─────┘ │
60
- └─────────┘ └─────────┘ └─────────┘
61
- ```
62
-
63
- ### Installation
64
-
65
- ```bash
66
- # Download Istio
67
- curl -L https://istio.io/downloadIstio | sh -
68
- cd istio-*
69
-
70
- # Install with demo profile
71
- istioctl install --set profile=demo -y
72
-
73
- # Enable sidecar injection for namespace
74
- kubectl label namespace production istio-injection=enabled
75
- ```
76
-
77
- **Production Installation:**
78
- ```yaml
79
- # istio-operator.yaml
80
- apiVersion: install.istio.io/v1alpha1
81
- kind: IstioOperator
82
- metadata:
83
- name: istio-production
84
- spec:
85
- profile: default
86
-
87
- # Control plane resources
88
- components:
89
- pilot:
90
- k8s:
91
- resources:
92
- requests:
93
- cpu: 500m
94
- memory: 2Gi
95
- limits:
96
- cpu: 2000m
97
- memory: 4Gi
98
- replicaCount: 2
99
-
100
- ingressGateways:
101
- - name: istio-ingressgateway
102
- enabled: true
103
- k8s:
104
- resources:
105
- requests:
106
- cpu: 1000m
107
- memory: 1Gi
108
- limits:
109
- cpu: 2000m
110
- memory: 2Gi
111
- replicaCount: 3
112
- service:
113
- type: LoadBalancer
114
-
115
- # Mesh configuration
116
- meshConfig:
117
- accessLogFile: /dev/stdout
118
- enableTracing: true
119
- defaultConfig:
120
- tracing:
121
- sampling: 1.0
122
-
123
- # Values override
124
- values:
125
- global:
126
- mtls:
127
- enabled: true
128
- proxy:
129
- resources:
130
- requests:
131
- cpu: 100m
132
- memory: 128Mi
133
- limits:
134
- cpu: 2000m
135
- memory: 1Gi
136
- ```
137
-
138
- ```bash
139
- istioctl install -f istio-operator.yaml
140
- ```
141
-
142
- ## Traffic Management
143
-
144
- ### Virtual Service
145
-
146
- **Basic Routing:**
147
- ```yaml
148
- apiVersion: networking.istio.io/v1beta1
149
- kind: VirtualService
150
- metadata:
151
- name: api-service
152
- namespace: production
153
- spec:
154
- hosts:
155
- - api-service
156
- http:
157
- - route:
158
- - destination:
159
- host: api-service
160
- subset: v1
161
- ```
162
-
163
- **Weighted Routing (Canary):**
164
- ```yaml
165
- apiVersion: networking.istio.io/v1beta1
166
- kind: VirtualService
167
- metadata:
168
- name: api-service
169
- spec:
170
- hosts:
171
- - api-service
172
- http:
173
- - route:
174
- # 90% to stable version
175
- - destination:
176
- host: api-service
177
- subset: v1
178
- weight: 90
179
-
180
- # 10% to canary version
181
- - destination:
182
- host: api-service
183
- subset: v2
184
- weight: 10
185
- ```
186
-
187
- **Header-based Routing:**
188
- ```yaml
189
- apiVersion: networking.istio.io/v1beta1
190
- kind: VirtualService
191
- metadata:
192
- name: api-service
193
- spec:
194
- hosts:
195
- - api-service
196
- http:
197
- # Route beta users to v2
198
- - match:
199
- - headers:
200
- x-user-type:
201
- exact: beta
202
- route:
203
- - destination:
204
- host: api-service
205
- subset: v2
206
-
207
- # Everyone else to v1
208
- - route:
209
- - destination:
210
- host: api-service
211
- subset: v1
212
- ```
213
-
214
- **URL Rewriting:**
215
- ```yaml
216
- apiVersion: networking.istio.io/v1beta1
217
- kind: VirtualService
218
- metadata:
219
- name: api-service
220
- spec:
221
- hosts:
222
- - api.example.com
223
- http:
224
- - match:
225
- - uri:
226
- prefix: /v1/
227
- rewrite:
228
- uri: /api/
229
- route:
230
- - destination:
231
- host: api-service
232
- ```
233
-
234
- ### Destination Rule
235
-
236
- ```yaml
237
- apiVersion: networking.istio.io/v1beta1
238
- kind: DestinationRule
239
- metadata:
240
- name: api-service
241
- namespace: production
242
- spec:
243
- host: api-service
244
-
245
- # Traffic policy
246
- trafficPolicy:
247
- # Load balancing
248
- loadBalancer:
249
- consistentHash:
250
- httpHeaderName: x-user-id
251
-
252
- # Connection pool
253
- connectionPool:
254
- tcp:
255
- maxConnections: 100
256
- http:
257
- http1MaxPendingRequests: 50
258
- http2MaxRequests: 100
259
- maxRequestsPerConnection: 2
260
-
261
- # Outlier detection (circuit breaker)
262
- outlierDetection:
263
- consecutiveErrors: 5
264
- interval: 30s
265
- baseEjectionTime: 30s
266
- maxEjectionPercent: 50
267
- minHealthPercent: 50
268
-
269
- # Subsets (versions)
270
- subsets:
271
- - name: v1
272
- labels:
273
- version: v1
274
- - name: v2
275
- labels:
276
- version: v2
277
- trafficPolicy:
278
- loadBalancer:
279
- simple: ROUND_ROBIN
280
- ```
281
-
282
- ### Gateway
283
-
284
- **Ingress Gateway:**
285
- ```yaml
286
- apiVersion: networking.istio.io/v1beta1
287
- kind: Gateway
288
- metadata:
289
- name: public-gateway
290
- namespace: istio-system
291
- spec:
292
- selector:
293
- istio: ingressgateway
294
-
295
- servers:
296
- # HTTPS
297
- - port:
298
- number: 443
299
- name: https
300
- protocol: HTTPS
301
- tls:
302
- mode: SIMPLE
303
- credentialName: api-tls-cert
304
- hosts:
305
- - api.example.com
306
-
307
- # HTTP redirect
308
- - port:
309
- number: 80
310
- name: http
311
- protocol: HTTP
312
- hosts:
313
- - api.example.com
314
- tls:
315
- httpsRedirect: true
316
- ```
317
-
318
- **Virtual Service with Gateway:**
319
- ```yaml
320
- apiVersion: networking.istio.io/v1beta1
321
- kind: VirtualService
322
- metadata:
323
- name: api-external
324
- namespace: production
325
- spec:
326
- hosts:
327
- - api.example.com
328
- gateways:
329
- - istio-system/public-gateway
330
- http:
331
- - match:
332
- - uri:
333
- prefix: /api/
334
- route:
335
- - destination:
336
- host: api-service
337
- port:
338
- number: 8080
339
- ```
340
-
341
- ### Retries and Timeouts
342
-
343
- ```yaml
344
- apiVersion: networking.istio.io/v1beta1
345
- kind: VirtualService
346
- metadata:
347
- name: api-service
348
- spec:
349
- hosts:
350
- - api-service
351
- http:
352
- - route:
353
- - destination:
354
- host: api-service
355
- timeout: 10s
356
- retries:
357
- attempts: 3
358
- perTryTimeout: 3s
359
- retryOn: 5xx,reset,connect-failure,refused-stream
360
- ```
361
-
362
- ## Security
363
-
364
- ### Mutual TLS
365
-
366
- **Enable mTLS for namespace:**
367
- ```yaml
368
- apiVersion: security.istio.io/v1beta1
369
- kind: PeerAuthentication
370
- metadata:
371
- name: default
372
- namespace: production
373
- spec:
374
- mtls:
375
- mode: STRICT # STRICT, PERMISSIVE, or DISABLE
376
- ```
377
-
378
- **Service-specific mTLS:**
379
- ```yaml
380
- apiVersion: security.istio.io/v1beta1
381
- kind: PeerAuthentication
382
- metadata:
383
- name: api-service
384
- namespace: production
385
- spec:
386
- selector:
387
- matchLabels:
388
- app: api-service
389
- mtls:
390
- mode: STRICT
391
- portLevelMtls:
392
- 8080:
393
- mode: DISABLE # Disable mTLS for specific port
394
- ```
395
-
396
- ### Authorization Policies
397
-
398
- **Deny All by Default:**
399
- ```yaml
400
- apiVersion: security.istio.io/v1beta1
401
- kind: AuthorizationPolicy
402
- metadata:
403
- name: deny-all
404
- namespace: production
405
- spec:
406
- {}
407
- ```
408
-
409
- **Allow Specific Services:**
410
- ```yaml
411
- apiVersion: security.istio.io/v1beta1
412
- kind: AuthorizationPolicy
413
- metadata:
414
- name: allow-frontend
415
- namespace: production
416
- spec:
417
- selector:
418
- matchLabels:
419
- app: api-service
420
- action: ALLOW
421
- rules:
422
- # Allow from frontend service
423
- - from:
424
- - source:
425
- principals:
426
- - cluster.local/ns/production/sa/frontend
427
- to:
428
- - operation:
429
- methods: ["GET", "POST"]
430
- paths: ["/api/*"]
431
- ```
432
-
433
- **JWT Authentication:**
434
- ```yaml
435
- apiVersion: security.istio.io/v1beta1
436
- kind: RequestAuthentication
437
- metadata:
438
- name: jwt-auth
439
- namespace: production
440
- spec:
441
- selector:
442
- matchLabels:
443
- app: api-service
444
- jwtRules:
445
- - issuer: "https://auth.example.com"
446
- jwksUri: "https://auth.example.com/.well-known/jwks.json"
447
- audiences:
448
- - api.example.com
449
-
450
- ---
451
- apiVersion: security.istio.io/v1beta1
452
- kind: AuthorizationPolicy
453
- metadata:
454
- name: require-jwt
455
- namespace: production
456
- spec:
457
- selector:
458
- matchLabels:
459
- app: api-service
460
- action: ALLOW
461
- rules:
462
- - from:
463
- - source:
464
- requestPrincipals: ["*"]
465
- ```
466
-
467
- ## Observability
468
-
469
- ### Metrics
470
-
471
- **Prometheus Metrics:**
472
- ```yaml
473
- apiVersion: monitoring.coreos.com/v1
474
- kind: ServiceMonitor
475
- metadata:
476
- name: istio-mesh
477
- namespace: istio-system
478
- spec:
479
- selector:
480
- matchLabels:
481
- istio: mixer
482
- endpoints:
483
- - port: prometheus
484
- interval: 15s
485
- ```
486
-
487
- **Custom Metrics:**
488
- ```yaml
489
- apiVersion: telemetry.istio.io/v1alpha1
490
- kind: Telemetry
491
- metadata:
492
- name: custom-metrics
493
- namespace: production
494
- spec:
495
- metrics:
496
- - providers:
497
- - name: prometheus
498
- dimensions:
499
- request_path:
500
- value: request.path
501
- response_code:
502
- value: response.code
503
- ```
504
-
505
- ### Distributed Tracing
506
-
507
- **Enable Tracing:**
508
- ```yaml
509
- apiVersion: telemetry.istio.io/v1alpha1
510
- kind: Telemetry
511
- metadata:
512
- name: tracing
513
- namespace: istio-system
514
- spec:
515
- tracing:
516
- - providers:
517
- - name: jaeger
518
- randomSamplingPercentage: 100.0
519
- customTags:
520
- environment:
521
- literal:
522
- value: production
523
- ```
524
-
525
- ### Access Logs
526
-
527
- ```yaml
528
- apiVersion: telemetry.istio.io/v1alpha1
529
- kind: Telemetry
530
- metadata:
531
- name: access-logs
532
- namespace: production
533
- spec:
534
- accessLogging:
535
- - providers:
536
- - name: envoy
537
- filter:
538
- expression: response.code >= 400
539
- ```
540
-
541
- ## Linkerd
542
-
543
- ### Installation
544
-
545
- ```bash
546
- # Install CLI
547
- curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh
548
-
549
- # Verify cluster
550
- linkerd check --pre
551
-
552
- # Install Linkerd
553
- linkerd install --crds | kubectl apply -f -
554
- linkerd install | kubectl apply -f -
555
-
556
- # Verify installation
557
- linkerd check
558
-
559
- # Enable viz extension
560
- linkerd viz install | kubectl apply -f -
561
- ```
562
-
563
- ### Inject Linkerd Proxy
564
-
565
- **Automatic injection:**
566
- ```bash
567
- kubectl annotate namespace production linkerd.io/inject=enabled
568
- ```
569
-
570
- **Manual injection:**
571
- ```bash
572
- kubectl get deploy api-service -o yaml | linkerd inject - | kubectl apply -f -
573
- ```
574
-
575
- ### Traffic Split
576
-
577
- ```yaml
578
- apiVersion: split.smi-spec.io/v1alpha2
579
- kind: TrafficSplit
580
- metadata:
581
- name: api-service-split
582
- namespace: production
583
- spec:
584
- service: api-service
585
- backends:
586
- - service: api-service-v1
587
- weight: 90
588
- - service: api-service-v2
589
- weight: 10
590
- ```
591
-
592
- ## Best Practices
593
-
594
- ### 1. Start Simple
595
-
596
- Begin with automatic sidecar injection, add policies as needed.
597
-
598
- ### 2. Use Circuit Breakers
599
-
600
- ```yaml
601
- outlierDetection:
602
- consecutiveErrors: 5
603
- interval: 30s
604
- baseEjectionTime: 30s
605
- ```
606
-
607
- ### 3. Enable mTLS Incrementally
608
-
609
- Start with PERMISSIVE mode, move to STRICT after testing.
610
-
611
- ### 4. Monitor Resource Usage
612
-
613
- Service mesh adds overhead. Monitor proxy CPU/memory usage.
614
-
615
- ### 5. Use Observability
616
-
617
- Leverage built-in metrics, traces, and logs for debugging.
618
-
619
- ### 6. Implement Gradual Rollouts
620
-
621
- Use weighted routing for canary deployments.
622
-
623
- ---
624
-
625
- **Related Resources:**
626
- - [container-orchestration.md](container-orchestration.md) - Kubernetes networking
627
- - [platform-security.md](platform-security.md) - Security best practices
628
- - [gitops-automation.md](gitops-automation.md) - Progressive delivery