blockmine 1.20.0 → 1.22.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 (434) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +55 -0
  55. package/.claude/settings.local.json +28 -3
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +90 -39
  255. package/README.md +94 -0
  256. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  257. package/backend/jest.config.js +59 -0
  258. package/backend/package-lock.json +6129 -0
  259. package/backend/package.json +16 -4
  260. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  261. package/backend/prisma/schema.prisma +33 -0
  262. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  263. package/backend/src/__tests__/core/UserService.test.js +875 -0
  264. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  265. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  266. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  267. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  268. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  269. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  270. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  271. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  272. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  273. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  274. package/backend/src/__tests__/services/BotLifecycleService.test.js +411 -0
  275. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  276. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  277. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  278. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  279. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  280. package/backend/src/__tests__/setup.js +25 -0
  281. package/backend/src/api/routes/apiKeys.js +181 -0
  282. package/backend/src/api/routes/bots.js +49 -7
  283. package/backend/src/api/routes/plugins.js +2 -1
  284. package/backend/src/api/routes/system.js +174 -0
  285. package/backend/src/container.js +82 -0
  286. package/backend/src/core/BotManager.js +142 -871
  287. package/backend/src/core/BotManager.old.js +1093 -0
  288. package/backend/src/core/BotProcess.js +1092 -850
  289. package/backend/src/core/BreakLoopSignal.js +8 -0
  290. package/backend/src/core/EventGraphManager.js +280 -193
  291. package/backend/src/core/GraphExecutionEngine.js +321 -928
  292. package/backend/src/core/MessageQueue.js +27 -6
  293. package/backend/src/core/NodeRegistry.js +37 -991
  294. package/backend/src/core/PluginManager.js +62 -12
  295. package/backend/src/core/PrismaService.js +32 -0
  296. package/backend/src/core/UserService.js +3 -3
  297. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  298. package/backend/src/core/commands/README.md +305 -0
  299. package/backend/src/core/commands/dev.js +13 -7
  300. package/backend/src/core/commands/ping.js +10 -4
  301. package/backend/src/core/commands/whois.js +63 -0
  302. package/backend/src/core/config/validation.js +27 -0
  303. package/backend/src/core/constants/graphTypes.js +21 -0
  304. package/backend/src/core/node-registries/actions.js +132 -0
  305. package/backend/src/core/node-registries/arrays.js +137 -0
  306. package/backend/src/core/node-registries/bot.js +23 -0
  307. package/backend/src/core/node-registries/data.js +290 -0
  308. package/backend/src/core/node-registries/debug.js +26 -0
  309. package/backend/src/core/node-registries/events.js +187 -0
  310. package/backend/src/core/node-registries/flow.js +139 -0
  311. package/backend/src/core/node-registries/logic.js +45 -0
  312. package/backend/src/core/node-registries/math.js +42 -0
  313. package/backend/src/core/node-registries/objects.js +98 -0
  314. package/backend/src/core/node-registries/strings.js +153 -0
  315. package/backend/src/core/node-registries/time.js +113 -0
  316. package/backend/src/core/node-registries/users.js +79 -0
  317. package/backend/src/core/nodes/actions/bot_look_at.js +36 -0
  318. package/backend/src/core/nodes/actions/bot_set_variable.js +32 -0
  319. package/backend/src/core/nodes/actions/http_request.js +98 -0
  320. package/backend/src/core/nodes/actions/send_log.js +28 -0
  321. package/backend/src/core/nodes/actions/send_message.js +32 -0
  322. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  323. package/backend/src/core/nodes/arrays/add_element.js +23 -0
  324. package/backend/src/core/nodes/arrays/contains.js +40 -0
  325. package/backend/src/core/nodes/arrays/find_index.js +23 -0
  326. package/backend/src/core/nodes/arrays/get_by_index.js +23 -0
  327. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  328. package/backend/src/core/nodes/arrays/get_random_element.js +32 -0
  329. package/backend/src/core/nodes/arrays/remove_by_index.js +30 -0
  330. package/backend/src/core/nodes/bot/get_position.js +20 -0
  331. package/backend/src/core/nodes/data/array_literal.js +31 -0
  332. package/backend/src/core/nodes/data/boolean_literal.js +21 -0
  333. package/backend/src/core/nodes/data/cast.js +42 -0
  334. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  335. package/backend/src/core/nodes/data/entity_info.js +69 -0
  336. package/backend/src/core/nodes/data/get_argument.js +23 -0
  337. package/backend/src/core/nodes/data/get_bot_look.js +14 -0
  338. package/backend/src/core/nodes/data/get_entity_field.js +18 -0
  339. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  340. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  341. package/backend/src/core/nodes/data/get_server_players.js +18 -0
  342. package/backend/src/core/nodes/data/get_user_field.js +40 -0
  343. package/backend/src/core/nodes/data/get_variable.js +23 -0
  344. package/backend/src/core/nodes/data/length.js +25 -0
  345. package/backend/src/core/nodes/data/make_object.js +31 -0
  346. package/backend/src/core/nodes/data/number_literal.js +21 -0
  347. package/backend/src/core/nodes/data/string_literal.js +34 -0
  348. package/backend/src/core/nodes/data/type_check.js +53 -0
  349. package/backend/src/core/nodes/debug/log.js +16 -0
  350. package/backend/src/core/nodes/flow/branch.js +15 -0
  351. package/backend/src/core/nodes/flow/break.js +14 -0
  352. package/backend/src/core/nodes/flow/delay.js +43 -0
  353. package/backend/src/core/nodes/flow/for_each.js +39 -0
  354. package/backend/src/core/nodes/flow/sequence.js +16 -0
  355. package/backend/src/core/nodes/flow/switch.js +47 -0
  356. package/backend/src/core/nodes/flow/while.js +64 -0
  357. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  358. package/backend/src/core/nodes/logic/compare.js +33 -0
  359. package/backend/src/core/nodes/logic/operation.js +35 -0
  360. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  361. package/backend/src/core/nodes/math/operation.js +31 -0
  362. package/backend/src/core/nodes/math/random_number.js +43 -0
  363. package/backend/src/core/nodes/objects/create.js +40 -0
  364. package/backend/src/core/nodes/objects/delete.js +26 -0
  365. package/backend/src/core/nodes/objects/get.js +23 -0
  366. package/backend/src/core/nodes/objects/has_key.js +30 -0
  367. package/backend/src/core/nodes/objects/set.js +27 -0
  368. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  369. package/backend/src/core/nodes/strings/concat.js +27 -0
  370. package/backend/src/core/nodes/strings/contains.js +41 -0
  371. package/backend/src/core/nodes/strings/ends_with.js +43 -0
  372. package/backend/src/core/nodes/strings/equals.js +36 -0
  373. package/backend/src/core/nodes/strings/length.js +36 -0
  374. package/backend/src/core/nodes/strings/matches.js +39 -0
  375. package/backend/src/core/nodes/strings/split.js +37 -0
  376. package/backend/src/core/nodes/strings/starts_with.js +43 -0
  377. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  378. package/backend/src/core/nodes/time/add.js +33 -0
  379. package/backend/src/core/nodes/time/compare.js +35 -0
  380. package/backend/src/core/nodes/time/diff.js +29 -0
  381. package/backend/src/core/nodes/time/format.js +32 -0
  382. package/backend/src/core/nodes/time/now.js +18 -0
  383. package/backend/src/core/nodes/users/check_blacklist.js +37 -0
  384. package/backend/src/core/nodes/users/get_groups.js +36 -0
  385. package/backend/src/core/nodes/users/get_permissions.js +36 -0
  386. package/backend/src/core/nodes/users/set_blacklist.js +37 -0
  387. package/backend/src/core/services/BotLifecycleService.js +596 -0
  388. package/backend/src/core/services/BotProcessManager.js +163 -0
  389. package/backend/src/core/services/CacheManager.js +111 -0
  390. package/backend/src/core/services/CommandExecutionService.js +351 -0
  391. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  392. package/backend/src/core/services/TelemetryService.js +124 -0
  393. package/backend/src/core/services/ValidationService.js +132 -0
  394. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  395. package/backend/src/core/services.js +20 -5
  396. package/backend/src/core/system/CommandContext.js +84 -0
  397. package/backend/src/core/system/Transport.js +78 -0
  398. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  399. package/backend/src/core/utils/jsonParser.js +18 -0
  400. package/backend/src/core/utils/secretsFilter.js +262 -0
  401. package/backend/src/core/utils/variableParser.js +89 -0
  402. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  403. package/backend/src/core/validation/nodeSchemas.js +112 -0
  404. package/backend/src/lib/prisma.js +2 -4
  405. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  406. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  407. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  408. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  409. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  410. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  411. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  412. package/backend/src/real-time/botApi/index.js +40 -0
  413. package/backend/src/real-time/botApi/middleware.js +79 -0
  414. package/backend/src/real-time/botApi/utils.js +54 -0
  415. package/backend/src/real-time/socketHandler.js +6 -2
  416. package/backend/src/repositories/BaseRepository.js +43 -0
  417. package/backend/src/repositories/BotRepository.js +42 -0
  418. package/backend/src/repositories/CommandRepository.js +53 -0
  419. package/backend/src/repositories/EventGraphRepository.js +40 -0
  420. package/backend/src/repositories/GroupRepository.js +69 -0
  421. package/backend/src/repositories/PermissionRepository.js +48 -0
  422. package/backend/src/repositories/PluginRepository.js +42 -0
  423. package/backend/src/repositories/ServerRepository.js +27 -0
  424. package/backend/src/repositories/UserRepository.js +48 -0
  425. package/backend/src/server.js +3 -0
  426. package/backend/src/test-refactor.js +85 -0
  427. package/frontend/dist/assets/index-CfTo92bP.css +1 -0
  428. package/frontend/dist/assets/index-CiFD5X9Z.js +8344 -0
  429. package/frontend/dist/index.html +2 -2
  430. package/frontend/package.json +1 -5
  431. package/package.json +2 -1
  432. package/frontend/dist/assets/index-BFd7YoAj.css +0 -1
  433. package/frontend/dist/assets/index-CMMutadc.js +0 -8352
  434. package/nul +0 -0
@@ -0,0 +1,628 @@
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