blockmine 1.21.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 (433) 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 +27 -14
  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 -54
  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 -858
  289. package/backend/src/core/EventGraphManager.js +280 -198
  290. package/backend/src/core/GraphExecutionEngine.js +321 -325
  291. package/backend/src/core/MessageQueue.js +27 -6
  292. package/backend/src/core/NodeRegistry.js +37 -1134
  293. package/backend/src/core/PluginManager.js +62 -12
  294. package/backend/src/core/PrismaService.js +32 -0
  295. package/backend/src/core/UserService.js +3 -3
  296. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  297. package/backend/src/core/commands/README.md +305 -0
  298. package/backend/src/core/commands/dev.js +13 -7
  299. package/backend/src/core/commands/ping.js +10 -4
  300. package/backend/src/core/commands/whois.js +63 -0
  301. package/backend/src/core/config/validation.js +27 -0
  302. package/backend/src/core/constants/graphTypes.js +21 -0
  303. package/backend/src/core/node-registries/actions.js +132 -0
  304. package/backend/src/core/node-registries/arrays.js +137 -0
  305. package/backend/src/core/node-registries/bot.js +23 -0
  306. package/backend/src/core/node-registries/data.js +290 -0
  307. package/backend/src/core/node-registries/debug.js +26 -0
  308. package/backend/src/core/node-registries/events.js +187 -0
  309. package/backend/src/core/node-registries/flow.js +139 -0
  310. package/backend/src/core/node-registries/logic.js +45 -0
  311. package/backend/src/core/node-registries/math.js +42 -0
  312. package/backend/src/core/node-registries/objects.js +98 -0
  313. package/backend/src/core/node-registries/strings.js +153 -0
  314. package/backend/src/core/node-registries/time.js +113 -0
  315. package/backend/src/core/node-registries/users.js +79 -0
  316. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  317. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  318. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  319. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  320. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  321. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  322. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +8 -0
  323. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  324. package/backend/src/core/nodes/data/entity_info.js +69 -0
  325. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  326. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  327. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  328. package/backend/src/core/nodes/data/type_check.js +53 -0
  329. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  330. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  331. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  332. package/backend/src/core/nodes/flow/delay.js +43 -0
  333. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  334. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  335. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  336. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  337. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  338. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  339. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  340. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  341. package/backend/src/core/nodes/time/add.js +33 -0
  342. package/backend/src/core/nodes/time/compare.js +35 -0
  343. package/backend/src/core/nodes/time/diff.js +29 -0
  344. package/backend/src/core/nodes/time/format.js +32 -0
  345. package/backend/src/core/nodes/time/now.js +18 -0
  346. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  347. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  348. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  349. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  350. package/backend/src/core/services/BotLifecycleService.js +596 -0
  351. package/backend/src/core/services/BotProcessManager.js +163 -0
  352. package/backend/src/core/services/CacheManager.js +111 -0
  353. package/backend/src/core/services/CommandExecutionService.js +351 -0
  354. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  355. package/backend/src/core/services/TelemetryService.js +124 -0
  356. package/backend/src/core/services/ValidationService.js +132 -0
  357. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  358. package/backend/src/core/services.js +20 -5
  359. package/backend/src/core/system/CommandContext.js +84 -0
  360. package/backend/src/core/system/Transport.js +78 -0
  361. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  362. package/backend/src/core/utils/jsonParser.js +18 -0
  363. package/backend/src/core/utils/secretsFilter.js +262 -0
  364. package/backend/src/core/utils/variableParser.js +89 -0
  365. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  366. package/backend/src/core/validation/nodeSchemas.js +112 -0
  367. package/backend/src/lib/prisma.js +2 -4
  368. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  369. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  370. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  371. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  372. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  373. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  374. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  375. package/backend/src/real-time/botApi/index.js +40 -0
  376. package/backend/src/real-time/botApi/middleware.js +79 -0
  377. package/backend/src/real-time/botApi/utils.js +54 -0
  378. package/backend/src/real-time/socketHandler.js +6 -2
  379. package/backend/src/repositories/BaseRepository.js +43 -0
  380. package/backend/src/repositories/BotRepository.js +42 -0
  381. package/backend/src/repositories/CommandRepository.js +53 -0
  382. package/backend/src/repositories/EventGraphRepository.js +40 -0
  383. package/backend/src/repositories/GroupRepository.js +69 -0
  384. package/backend/src/repositories/PermissionRepository.js +48 -0
  385. package/backend/src/repositories/PluginRepository.js +42 -0
  386. package/backend/src/repositories/ServerRepository.js +27 -0
  387. package/backend/src/repositories/UserRepository.js +48 -0
  388. package/backend/src/server.js +3 -0
  389. package/backend/src/test-refactor.js +85 -0
  390. package/frontend/dist/assets/index-CfTo92bP.css +1 -0
  391. package/frontend/dist/assets/index-CiFD5X9Z.js +8344 -0
  392. package/frontend/dist/index.html +2 -2
  393. package/frontend/package.json +0 -5
  394. package/package.json +2 -1
  395. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  396. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  397. package/nul +0 -0
  398. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  399. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  400. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  401. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  402. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  403. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  404. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  405. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  406. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  407. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  408. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  409. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  410. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  411. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  412. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  413. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  414. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  415. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  416. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  417. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  418. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  419. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  420. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  421. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  422. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  423. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  424. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  425. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  426. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  427. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  428. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  429. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  430. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  431. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  432. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
  433. /package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +0 -0
@@ -0,0 +1,600 @@
1
+ # Platform Architecture Overview
2
+
3
+ Comprehensive guide to platform architecture patterns, layering strategies, and decision frameworks for building scalable infrastructure.
4
+
5
+ ## Table of Contents
6
+ - [Architecture Patterns](#architecture-patterns)
7
+ - [Platform Layers](#platform-layers)
8
+ - [Reference Architectures](#reference-architectures)
9
+ - [Decision Frameworks](#decision-frameworks)
10
+ - [Design Principles](#design-principles)
11
+
12
+ ## Architecture Patterns
13
+
14
+ ### 1. Three-Tier Platform Architecture
15
+
16
+ ```
17
+ ┌────────────────────────────────────────────────────────────┐
18
+ │ PRESENTATION TIER │
19
+ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
20
+ │ │ Web Apps │ │ Mobile Apps │ │ APIs │ │
21
+ │ └──────────────┘ └──────────────┘ └──────────────┘ │
22
+ └────────────────────────────────────────────────────────────┘
23
+
24
+ ┌────────────────────────────────────────────────────────────┐
25
+ │ APPLICATION TIER │
26
+ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
27
+ │ │ Services │ │ Business │ │ API Gateway │ │
28
+ │ │ │ │ Logic │ │ │ │
29
+ │ └──────────────┘ └──────────────┘ └──────────────┘ │
30
+ └────────────────────────────────────────────────────────────┘
31
+
32
+ ┌────────────────────────────────────────────────────────────┐
33
+ │ DATA TIER │
34
+ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
35
+ │ │ Databases │ │ Caches │ │ Queues │ │
36
+ │ └──────────────┘ └──────────────┘ └──────────────┘ │
37
+ └────────────────────────────────────────────────────────────┘
38
+ ```
39
+
40
+ **When to Use:**
41
+ - Traditional web applications
42
+ - Monolithic architecture migrations
43
+ - Clear separation of concerns needed
44
+ - Team boundaries align with tiers
45
+
46
+ ### 2. Microservices Architecture
47
+
48
+ ```
49
+ ┌─────────────────────────────────────────────────────────────┐
50
+ │ API Gateway / Ingress │
51
+ └─────────────────────────────────────────────────────────────┘
52
+ │ │ │ │
53
+ ┌──────▼──────┐ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
54
+ │ Service │ │ Service │ │ Service │ │ Service │
55
+ │ A │ │ B │ │ C │ │ D │
56
+ └─────┬───────┘ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
57
+ │ │ │ │
58
+ ┌─────▼──────┐ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
59
+ │ Database │ │ Database│ │ Database│ │ Database│
60
+ │ A │ │ B │ │ C │ │ D │
61
+ └────────────┘ └─────────┘ └─────────┘ └─────────┘
62
+
63
+ Service Mesh (Optional): Istio, Linkerd for service-to-service communication
64
+ ```
65
+
66
+ **Characteristics:**
67
+ - Services own their data
68
+ - Independent deployment lifecycles
69
+ - Bounded contexts per domain
70
+ - Decentralized governance
71
+
72
+ **Trade-offs:**
73
+ - **Pros:** Scalability, team autonomy, technology diversity
74
+ - **Cons:** Complexity, distributed systems challenges, operational overhead
75
+
76
+ ### 3. Platform Engineering Layered Model
77
+
78
+ ```
79
+ ┌────────────────────────────────────────────────────────────┐
80
+ │ Developer Interface Layer │
81
+ │ │
82
+ │ ┌──────────────┐ ┌───────────────┐ ┌────────────────┐ │
83
+ │ │ Developer │ │ Portal/UI │ │ CLI Tools │ │
84
+ │ │ Portal │ │ (Backstage) │ │ (kubectl,etc) │ │
85
+ │ └──────────────┘ └───────────────┘ └────────────────┘ │
86
+ └────────────────────────────────────────────────────────────┘
87
+
88
+ ┌────────────────────────────────────────────────────────────┐
89
+ │ Platform Capabilities Layer │
90
+ │ │
91
+ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
92
+ │ │ CI/CD │ │ Secrets │ │ Observ. │ │ Service │ │
93
+ │ │ │ │ Mgmt │ │ │ │ Mesh │ │
94
+ │ └──────────┘ └──────────┘ └──────────┘ └──────────────┘ │
95
+ └────────────────────────────────────────────────────────────┘
96
+
97
+ ┌────────────────────────────────────────────────────────────┐
98
+ │ Orchestration Layer │
99
+ │ │
100
+ │ ┌────────────────────────────────────┐ │
101
+ │ │ Kubernetes Cluster │ │
102
+ │ │ (or ECS, Nomad, Cloud Run) │ │
103
+ │ └────────────────────────────────────┘ │
104
+ └────────────────────────────────────────────────────────────┘
105
+
106
+ ┌────────────────────────────────────────────────────────────┐
107
+ │ Infrastructure Layer │
108
+ │ │
109
+ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
110
+ │ │ Compute │ │ Network │ │ Storage │ │ Security │ │
111
+ │ │ (VMs, │ │ (VPC, │ │ (EBS, │ │ (IAM, │ │
112
+ │ │ Nodes) │ │ LB,SG) │ │ PV) │ │ KMS) │ │
113
+ │ └──────────┘ └──────────┘ └──────────┘ └──────────────┘ │
114
+ └────────────────────────────────────────────────────────────┘
115
+ ```
116
+
117
+ **Layer Responsibilities:**
118
+
119
+ **Developer Interface:**
120
+ - Self-service portals and APIs
121
+ - Documentation and discovery
122
+ - Templates and scaffolding
123
+ - Developer workflows
124
+
125
+ **Platform Capabilities:**
126
+ - Shared services used by applications
127
+ - Policy enforcement
128
+ - Security and compliance
129
+ - Observability and monitoring
130
+
131
+ **Orchestration:**
132
+ - Container/workload scheduling
133
+ - Service discovery
134
+ - Load balancing
135
+ - Auto-scaling
136
+
137
+ **Infrastructure:**
138
+ - Compute resources (VMs, bare metal)
139
+ - Networking (VPC, subnets, routing)
140
+ - Storage (block, object, file)
141
+ - Security (identity, encryption, firewalls)
142
+
143
+ ### 4. Hub and Spoke Network Architecture
144
+
145
+ ```
146
+ ┌──────────────────┐
147
+ │ Hub Network │
148
+ │ │
149
+ │ ┌────────────┐ │
150
+ │ │ Firewall │ │
151
+ │ │ / VPN │ │
152
+ │ └────────────┘ │
153
+ │ │
154
+ │ ┌────────────┐ │
155
+ │ │ Shared │ │
156
+ │ │ Services │ │
157
+ │ └────────────┘ │
158
+ └────┬────┬────┬───┘
159
+ │ │ │
160
+ ┌─────────────┘ │ └─────────────┐
161
+ │ │ │
162
+ ┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐
163
+ │ Spoke 1 │ │ Spoke 2 │ │ Spoke 3 │
164
+ │ │ │ │ │ │
165
+ │ Production │ │ Staging │ │ Dev │
166
+ │ Workloads │ │ Workloads │ │ Workloads │
167
+ └─────────────┘ └─────────────┘ └─────────────┘
168
+ ```
169
+
170
+ **Benefits:**
171
+ - Centralized security controls
172
+ - Simplified network management
173
+ - Cost-effective (shared egress)
174
+ - Environment isolation
175
+
176
+ ### 5. Multi-Region Active-Active Architecture
177
+
178
+ ```
179
+ ┌─────────────────────────────────────────────────────────────┐
180
+ │ Global Load Balancer │
181
+ │ (Route 53, Cloud DNS, Traffic Mgr) │
182
+ └──────────────────────┬──────────────────┬───────────────────┘
183
+ │ │
184
+ ┌──────────────▼────────┐ ┌──────▼──────────────────┐
185
+ │ Region A (US) │ │ Region B (EU) │
186
+ │ │ │ │
187
+ │ ┌─────────────────┐ │ │ ┌─────────────────┐ │
188
+ │ │ Application │ │ │ │ Application │ │
189
+ │ │ Tier │ │ │ │ Tier │ │
190
+ │ └─────────────────┘ │ │ └─────────────────┘ │
191
+ │ │ │ │
192
+ │ ┌─────────────────┐ │ │ ┌─────────────────┐ │
193
+ │ │ Database │◄─┼──┼─►│ Database │ │
194
+ │ │ (Primary) │ │ │ │ (Replica) │ │
195
+ │ └─────────────────┘ │ │ └─────────────────┘ │
196
+ └───────────────────────┘ └─────────────────────────┘
197
+ │ │
198
+ └──────────┬─────────────────┘
199
+
200
+ Global Data Sync
201
+ ```
202
+
203
+ **Considerations:**
204
+ - Data consistency (eventual vs strong)
205
+ - Conflict resolution strategies
206
+ - Latency optimization
207
+ - Disaster recovery
208
+
209
+ ## Platform Layers
210
+
211
+ ### Layer 1: Infrastructure (Foundation)
212
+
213
+ **Components:**
214
+ - Compute: EC2, Azure VMs, GCE, bare metal
215
+ - Network: VPC, subnets, security groups, load balancers
216
+ - Storage: EBS, S3, Azure Blob, Google Cloud Storage
217
+ - Identity: IAM, Azure AD, Google Cloud IAM
218
+
219
+ **IaC Example (Terraform):**
220
+ ```hcl
221
+ # VPC Module
222
+ module "vpc" {
223
+ source = "../modules/vpc"
224
+
225
+ cidr_block = "10.0.0.0/16"
226
+ availability_zones = ["us-east-1a", "us-east-1b", "us-east-1c"]
227
+ private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
228
+ public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]
229
+
230
+ enable_nat_gateway = true
231
+ enable_dns_hostnames = true
232
+
233
+ tags = {
234
+ Environment = "production"
235
+ ManagedBy = "terraform"
236
+ }
237
+ }
238
+ ```
239
+
240
+ ### Layer 2: Orchestration (Kubernetes)
241
+
242
+ **Cluster Architecture:**
243
+ ```
244
+ ┌────────────────────────────────────────────────────────┐
245
+ │ Control Plane │
246
+ │ (Managed: EKS, GKE, AKS OR Self-managed) │
247
+ └────────────────────────────────────────────────────────┘
248
+
249
+ ┌────────────────────────────────────────────────────────┐
250
+ │ Node Groups │
251
+ │ │
252
+ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
253
+ │ │ System │ │ Application │ │ Stateful │ │
254
+ │ │ Nodes │ │ Nodes │ │ Nodes │ │
255
+ │ │ │ │ │ │ │ │
256
+ │ │ (Monitoring, │ │ (Services) │ │ (Databases) │ │
257
+ │ │ Ingress) │ │ │ │ │ │
258
+ │ └──────────────┘ └──────────────┘ └──────────────┘ │
259
+ └────────────────────────────────────────────────────────┘
260
+ ```
261
+
262
+ **Node Group Strategy:**
263
+ - **System nodes:** Platform components (monitoring, ingress, DNS)
264
+ - **Application nodes:** User workloads with autoscaling
265
+ - **Stateful nodes:** Databases, queues (often separate clusters)
266
+
267
+ ### Layer 3: Platform Services
268
+
269
+ **Core Services:**
270
+
271
+ 1. **CI/CD Pipeline:**
272
+ - GitHub Actions, GitLab CI, Jenkins, CircleCI
273
+ - ArgoCD/Flux for GitOps deployment
274
+ - Image registry (ECR, Docker Hub, Harbor)
275
+
276
+ 2. **Observability Stack:**
277
+ - Metrics: Prometheus + Thanos (long-term storage)
278
+ - Logs: Loki, ELK stack, Cloud Logging
279
+ - Tracing: Jaeger, Zipkin, Tempo
280
+ - Dashboards: Grafana
281
+
282
+ 3. **Security Services:**
283
+ - Secrets: Vault, AWS Secrets Manager, Sealed Secrets
284
+ - Certificate management: cert-manager + Let's Encrypt
285
+ - Policy enforcement: OPA, Kyverno, Pod Security Standards
286
+ - Vulnerability scanning: Trivy, Snyk, Aqua
287
+
288
+ 4. **Service Mesh (Optional):**
289
+ - Istio, Linkerd, Consul
290
+ - mTLS between services
291
+ - Traffic management and canary deployments
292
+ - Observability and tracing
293
+
294
+ ### Layer 4: Developer Experience
295
+
296
+ **Self-Service Portal Features:**
297
+ ```yaml
298
+ # Backstage software catalog example
299
+ apiVersion: backstage.io/v1alpha1
300
+ kind: Component
301
+ metadata:
302
+ name: payment-service
303
+ description: Payment processing microservice
304
+ annotations:
305
+ github.com/project-slug: company/payment-service
306
+ pagerduty.com/integration-key: abc123
307
+ spec:
308
+ type: service
309
+ lifecycle: production
310
+ owner: payments-team
311
+ system: payment-platform
312
+
313
+ # Self-service actions
314
+ providesApis:
315
+ - payment-api-v1
316
+ consumesApis:
317
+ - fraud-detection-api
318
+ dependsOn:
319
+ - resource:postgres-payment-db
320
+ - resource:redis-cache
321
+ ```
322
+
323
+ **Developer Portal Capabilities:**
324
+ - Service catalog and documentation
325
+ - Software templates for scaffolding
326
+ - CI/CD pipeline triggers
327
+ - Environment provisioning
328
+ - Cost visibility per service
329
+ - On-call schedules and runbooks
330
+
331
+ ## Reference Architectures
332
+
333
+ ### AWS EKS Platform
334
+
335
+ ```
336
+ ┌────────────────────────────────────────────────────────────┐
337
+ │ AWS Cloud │
338
+ │ │
339
+ │ ┌──────────────────────────────────────────────────────┐ │
340
+ │ │ Route 53 (DNS) │ │
341
+ │ └─────────────────────┬────────────────────────────────┘ │
342
+ │ │ │
343
+ │ ┌─────────────────────▼────────────────────────────────┐ │
344
+ │ │ Application Load Balancer (ALB) │ │
345
+ │ └─────────────────────┬────────────────────────────────┘ │
346
+ │ │ │
347
+ │ ┌─────────────────────▼────────────────────────────────┐ │
348
+ │ │ EKS Cluster (Control Plane) │ │
349
+ │ │ │ │
350
+ │ │ ┌────────────────────────────────────────────────┐ │ │
351
+ │ │ │ VPC (10.0.0.0/16) │ │ │
352
+ │ │ │ │ │ │
353
+ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │
354
+ │ │ │ │ Private │ │ Private │ │ │ │
355
+ │ │ │ │ Subnet AZ1 │ │ Subnet AZ2 │ │ │ │
356
+ │ │ │ │ │ │ │ │ │ │
357
+ │ │ │ │ ┌──────────┐ │ │ ┌──────────┐ │ │ │ │
358
+ │ │ │ │ │ EKS Node │ │ │ │ EKS Node │ │ │ │ │
359
+ │ │ │ │ │ Group │ │ │ │ Group │ │ │ │ │
360
+ │ │ │ │ └──────────┘ │ │ └──────────┘ │ │ │ │
361
+ │ │ │ └──────────────┘ └──────────────┘ │ │ │
362
+ │ │ │ │ │ │
363
+ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │
364
+ │ │ │ │ Public │ │ Public │ │ │ │
365
+ │ │ │ │ Subnet AZ1 │ │ Subnet AZ2 │ │ │ │
366
+ │ │ │ │ (NAT Gateway)│ │ (NAT Gateway)│ │ │ │
367
+ │ │ │ └──────────────┘ └──────────────┘ │ │ │
368
+ │ │ └────────────────────────────────────────────────┘ │ │
369
+ │ └──────────────────────────────────────────────────────┘ │
370
+ │ │
371
+ │ ┌──────────────────────────────────────────────────────┐ │
372
+ │ │ Supporting Services │ │
373
+ │ │ - RDS (Postgres/MySQL) │ │
374
+ │ │ - ElastiCache (Redis) │ │
375
+ │ │ - S3 (Object Storage) │ │
376
+ │ │ - ECR (Container Registry) │ │
377
+ │ │ - Secrets Manager │ │
378
+ │ │ - CloudWatch (Monitoring) │ │
379
+ │ └──────────────────────────────────────────────────────┘ │
380
+ └────────────────────────────────────────────────────────────┘
381
+ ```
382
+
383
+ ### Google Cloud GKE Platform
384
+
385
+ ```
386
+ ┌────────────────────────────────────────────────────────────┐
387
+ │ Google Cloud Platform │
388
+ │ │
389
+ │ Cloud DNS → Cloud Load Balancer → GKE Cluster │
390
+ │ │
391
+ │ Services: │
392
+ │ - Cloud SQL (PostgreSQL) │
393
+ │ - Memorystore (Redis) │
394
+ │ - Cloud Storage (Objects) │
395
+ │ - Artifact Registry (Containers) │
396
+ │ - Secret Manager │
397
+ │ - Cloud Operations (Monitoring/Logging) │
398
+ │ │
399
+ │ Networking: │
400
+ │ - VPC with private Google access │
401
+ │ - Cloud NAT for egress │
402
+ │ - Private GKE cluster │
403
+ └────────────────────────────────────────────────────────────┘
404
+ ```
405
+
406
+ ## Decision Frameworks
407
+
408
+ ### When to Use Kubernetes vs. Serverless
409
+
410
+ **Use Kubernetes when:**
411
+ - ✅ Running microservices architecture
412
+ - ✅ Need container portability across clouds
413
+ - ✅ Require fine-grained resource control
414
+ - ✅ Have stateful workloads (databases, caches)
415
+ - ✅ Long-running processes
416
+ - ✅ Batch processing jobs
417
+ - ✅ WebSocket or streaming connections
418
+
419
+ **Use Serverless when:**
420
+ - ✅ Event-driven architectures
421
+ - ✅ Variable/unpredictable traffic
422
+ - ✅ Simple stateless functions
423
+ - ✅ Want minimal operational overhead
424
+ - ✅ Short-lived request-response patterns
425
+ - ✅ Integrating with cloud-native services
426
+
427
+ **Hybrid Approach:**
428
+ - Kubernetes for core services
429
+ - Serverless for event processing, API transformations
430
+ - Example: API Gateway → Lambda → EKS services
431
+
432
+ ### Multi-Cloud vs. Single Cloud
433
+
434
+ **Single Cloud (Recommended for most):**
435
+ - **Pros:** Deeper integration, simpler operations, lower cost
436
+ - **Cons:** Vendor lock-in, regional limitations
437
+ - **Use when:** Team expertise in one cloud, cost-sensitive, fast iteration
438
+
439
+ **Multi-Cloud:**
440
+ - **Pros:** Vendor independence, geographic coverage, risk mitigation
441
+ - **Cons:** Complexity, higher costs, split expertise
442
+ - **Use when:** Regulatory requirements, M&A integrations, true failover needs
443
+
444
+ **Abstraction Strategy:**
445
+ - Use Kubernetes for workload portability
446
+ - Terraform for infrastructure
447
+ - Avoid cloud-specific services in application code
448
+
449
+ ### Build vs. Buy for Platform Services
450
+
451
+ | Service | Build | Buy |
452
+ |---------|-------|-----|
453
+ | CI/CD | GitHub Actions, GitLab CI | CircleCI, Jenkins X |
454
+ | Secrets | Vault (self-hosted) | AWS Secrets Manager, 1Password |
455
+ | Monitoring | Prometheus + Grafana | Datadog, New Relic |
456
+ | Service Mesh | Istio, Linkerd | AWS App Mesh, Google Traffic Director |
457
+ | Developer Portal | Backstage (self-hosted) | Port, Humanitec |
458
+
459
+ **Decision Criteria:**
460
+ 1. **Team size:** <50 engineers → buy, >100 → consider build
461
+ 2. **Customization needs:** High → build, Low → buy
462
+ 3. **Operational capacity:** Limited → buy, Strong → build
463
+ 4. **Budget:** Tight → open source + build, Flexible → buy
464
+
465
+ ## Design Principles
466
+
467
+ ### 1. Self-Service First
468
+
469
+ **Principle:** Developers should provision resources without filing tickets.
470
+
471
+ **Implementation:**
472
+ ```yaml
473
+ # Example: Platform API for database provisioning
474
+ apiVersion: database.platform.company.com/v1
475
+ kind: PostgresDatabase
476
+ metadata:
477
+ name: payment-db
478
+ namespace: payments-team
479
+ spec:
480
+ size: small # Predefined t-shirt sizes
481
+ backup: enabled
482
+ highAvailability: true
483
+ version: "14"
484
+ ```
485
+
486
+ **Benefits:**
487
+ - Faster developer velocity
488
+ - Reduced operational toil
489
+ - Standardized configurations
490
+
491
+ ### 2. Everything as Code
492
+
493
+ **Scope:**
494
+ - Infrastructure (Terraform, Pulumi)
495
+ - Configuration (Kubernetes YAML, Helm)
496
+ - Policies (OPA Rego, Sentinel)
497
+ - Documentation (Markdown in Git)
498
+ - Runbooks (code + automation)
499
+
500
+ **Why:**
501
+ - Version control and audit trail
502
+ - Reproducibility
503
+ - Testability
504
+ - Automation-friendly
505
+
506
+ ### 3. Progressive Delivery
507
+
508
+ **Deployment Strategy:**
509
+ ```
510
+ Code Merge → CI Build → Deploy to Dev → Automated Tests
511
+
512
+ Deploy to Staging (10% traffic)
513
+
514
+ Monitor metrics for 1 hour
515
+
516
+ Deploy to Prod (10% → 50% → 100%)
517
+
518
+ Auto-rollback if error rate > 1%
519
+ ```
520
+
521
+ **Techniques:**
522
+ - Blue-green deployments
523
+ - Canary releases
524
+ - Feature flags
525
+ - Automated rollbacks
526
+
527
+ ### 4. Defense in Depth
528
+
529
+ **Security Layers:**
530
+ ```
531
+ ┌──────────────────────────────────────┐
532
+ │ 1. Perimeter: Firewall, WAF, DDoS │
533
+ ├──────────────────────────────────────┤
534
+ │ 2. Network: VPC, Security Groups │
535
+ ├──────────────────────────────────────┤
536
+ │ 3. Cluster: RBAC, Pod Security │
537
+ ├──────────────────────────────────────┤
538
+ │ 4. Application: Input validation │
539
+ ├──────────────────────────────────────┤
540
+ │ 5. Data: Encryption at rest/transit │
541
+ └──────────────────────────────────────┘
542
+ ```
543
+
544
+ **No single layer failure compromises entire system.**
545
+
546
+ ### 5. Observability Over Monitoring
547
+
548
+ **Three Pillars:**
549
+ 1. **Metrics:** System health (CPU, memory, latency, errors)
550
+ 2. **Logs:** Event streams for debugging
551
+ 3. **Traces:** Request flow across services
552
+
553
+ **OpenTelemetry Standard:**
554
+ ```yaml
555
+ # Instrument services with OTEL
556
+ instrumentation:
557
+ metrics: true
558
+ logs: true
559
+ traces: true
560
+
561
+ exporters:
562
+ - prometheus # Metrics
563
+ - loki # Logs
564
+ - tempo # Traces
565
+ ```
566
+
567
+ ### 6. Cost Awareness
568
+
569
+ **FinOps Practices:**
570
+ - Tag all resources (team, environment, service, cost-center)
571
+ - Set up billing alerts
572
+ - Right-size resources (don't over-provision)
573
+ - Use spot/preemptible instances for non-critical workloads
574
+ - Implement auto-scaling
575
+ - Review and cleanup unused resources monthly
576
+
577
+ **Example Tagging Strategy:**
578
+ ```hcl
579
+ tags = {
580
+ Environment = "production"
581
+ Team = "payments"
582
+ Service = "payment-api"
583
+ CostCenter = "engineering"
584
+ ManagedBy = "terraform"
585
+ Owner = "payments-team@company.com"
586
+ }
587
+ ```
588
+
589
+ ## Summary
590
+
591
+ Platform architecture is about creating the foundation that enables teams to build, deploy, and operate services efficiently. Key takeaways:
592
+
593
+ 1. **Layer appropriately:** Infrastructure → Orchestration → Platform Services → Developer Experience
594
+ 2. **Choose patterns that match your scale:** Don't over-engineer for current needs, but plan for growth
595
+ 3. **Prioritize developer experience:** Self-service, documentation, and automation
596
+ 4. **Embrace IaC and GitOps:** Everything version controlled, automated, and reproducible
597
+ 5. **Design for failure:** Multi-AZ, auto-scaling, automated recovery
598
+ 6. **Make cost a first-class concern:** Tag, monitor, optimize continuously
599
+
600
+ For detailed implementation guidance, see the other resource files in this skill.