blockmine 1.24.0 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/CHANGELOG.md +76 -1
  2. package/README.en.md +427 -0
  3. package/README.md +40 -0
  4. package/backend/package.json +2 -2
  5. package/backend/prisma/migrations/20260328173000_add_plugin_source_ref/migration.sql +2 -0
  6. package/backend/prisma/migrations/migration_lock.toml +2 -2
  7. package/backend/prisma/schema.prisma +2 -0
  8. package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
  9. package/backend/src/api/routes/apiKeys.js +8 -0
  10. package/backend/src/api/routes/bots.js +271 -9
  11. package/backend/src/api/routes/eventGraphs.js +151 -1
  12. package/backend/src/api/routes/health.js +38 -0
  13. package/backend/src/api/routes/nodeRegistry.js +63 -0
  14. package/backend/src/api/routes/plugins.js +254 -29
  15. package/backend/src/api/routes/servers.js +14 -2
  16. package/backend/src/container.js +11 -8
  17. package/backend/src/core/BotCommandLoader.js +161 -0
  18. package/backend/src/core/BotConnection.js +125 -0
  19. package/backend/src/core/BotEventHandlers.js +234 -0
  20. package/backend/src/core/BotIPCHandler.js +445 -0
  21. package/backend/src/core/BotManager.js +15 -7
  22. package/backend/src/core/BotProcess.js +169 -140
  23. package/backend/src/core/EventGraphManager.js +7 -3
  24. package/backend/src/core/GraphDebugHandler.js +229 -0
  25. package/backend/src/core/GraphDebugIPC.js +117 -0
  26. package/backend/src/core/GraphExecutionEngine.js +545 -978
  27. package/backend/src/core/GraphTraversal.js +80 -0
  28. package/backend/src/core/GraphValidation.js +73 -0
  29. package/backend/src/core/NodeDefinition.js +138 -0
  30. package/backend/src/core/NodeRegistry.js +153 -141
  31. package/backend/src/core/PluginLoader.js +83 -3
  32. package/backend/src/core/PluginManager.js +346 -35
  33. package/backend/src/core/RewindSignal.js +9 -0
  34. package/backend/src/core/config/ConfigValidator.js +72 -0
  35. package/backend/src/core/config/FeatureFlags.js +52 -0
  36. package/backend/src/core/config/__tests__/ConfigValidator.test.js +232 -0
  37. package/backend/src/core/domain/entities/Bot.js +39 -0
  38. package/backend/src/core/domain/entities/Command.js +41 -0
  39. package/backend/src/core/domain/entities/EventGraph.js +39 -0
  40. package/backend/src/core/domain/entities/Plugin.js +45 -0
  41. package/backend/src/core/domain/entities/User.js +40 -0
  42. package/backend/src/core/domain/services/DependencyResolver.js +168 -0
  43. package/backend/src/core/domain/services/GraphValidator.js +117 -0
  44. package/backend/src/core/domain/services/PermissionChecker.js +34 -0
  45. package/backend/src/core/domain/services/__tests__/DependencyResolver.test.js +126 -0
  46. package/backend/src/core/domain/valueObjects/BotConfig.js +27 -0
  47. package/backend/src/core/domain/valueObjects/DependencyGraph.js +86 -0
  48. package/backend/src/core/domain/valueObjects/PluginManifest.js +36 -0
  49. package/backend/src/core/errors/BaseError.js +29 -0
  50. package/backend/src/core/errors/ErrorHandler.js +81 -0
  51. package/backend/src/core/errors/__tests__/ErrorHandler.test.js +188 -0
  52. package/backend/src/core/errors/index.js +68 -0
  53. package/backend/src/core/infrastructure/BatchingUtility.js +66 -0
  54. package/backend/src/core/infrastructure/CircuitBreaker.js +103 -0
  55. package/backend/src/core/infrastructure/ConnectionPool.js +81 -0
  56. package/backend/src/core/infrastructure/RateLimiter.js +64 -0
  57. package/backend/src/core/infrastructure/__tests__/BatchingUtility.test.js +86 -0
  58. package/backend/src/core/infrastructure/__tests__/CircuitBreaker.test.js +156 -0
  59. package/backend/src/core/infrastructure/__tests__/ConnectionPool.test.js +146 -0
  60. package/backend/src/core/infrastructure/__tests__/RateLimiter.test.js +171 -0
  61. package/backend/src/core/ipc/botApiFactory.js +72 -0
  62. package/backend/src/core/ipc/ipcMessageTypes.js +115 -0
  63. package/backend/src/core/logging/AuditLogger.js +61 -0
  64. package/backend/src/core/logging/StructuredLogger.js +80 -0
  65. package/backend/src/core/logging/__tests__/StructuredLogger.test.js +213 -0
  66. package/backend/src/core/logging/index.js +7 -0
  67. package/backend/src/core/metrics/MetricsCollector.js +104 -0
  68. package/backend/src/core/metrics/__tests__/MetricsCollector.test.js +131 -0
  69. package/backend/src/core/node-registries/actionsNodes.js +191 -0
  70. package/backend/src/core/node-registries/arraysNodes.js +152 -0
  71. package/backend/src/core/node-registries/botNodes.js +48 -0
  72. package/backend/src/core/node-registries/containerNodes.js +141 -0
  73. package/backend/src/core/node-registries/dataNodes.js +284 -0
  74. package/backend/src/core/node-registries/debugNodes.js +23 -0
  75. package/backend/src/core/node-registries/eventsNodes.js +223 -0
  76. package/backend/src/core/node-registries/flowNodes.js +151 -0
  77. package/backend/src/core/node-registries/furnaceNodes.js +123 -0
  78. package/backend/src/core/node-registries/index.js +108 -0
  79. package/backend/src/core/node-registries/inventory.js +102 -106
  80. package/backend/src/core/node-registries/logicNodes.js +54 -0
  81. package/backend/src/core/node-registries/mathNodes.js +38 -0
  82. package/backend/src/core/node-registries/navigationNodes.js +109 -0
  83. package/backend/src/core/node-registries/objectsNodes.js +90 -0
  84. package/backend/src/core/node-registries/stringsNodes.js +165 -0
  85. package/backend/src/core/node-registries/timeNodes.js +105 -0
  86. package/backend/src/core/node-registries/typeNodes.js +22 -0
  87. package/backend/src/core/node-registries/usersNodes.js +126 -0
  88. package/backend/src/core/nodes/arrays/shuffle.js +14 -0
  89. package/backend/src/core/nodes/bot/get_name.js +8 -0
  90. package/backend/src/core/nodes/bot/stop_bot.js +5 -0
  91. package/backend/src/core/nodes/container/open.js +101 -111
  92. package/backend/src/core/nodes/data/store_read.js +26 -0
  93. package/backend/src/core/nodes/data/store_write.js +23 -0
  94. package/backend/src/core/nodes/event/call_event.js +31 -0
  95. package/backend/src/core/nodes/event/custom_event.js +8 -0
  96. package/backend/src/core/nodes/flow/timer.js +35 -0
  97. package/backend/src/core/nodes/inventory/drop.js +73 -65
  98. package/backend/src/core/nodes/inventory/equip.js +54 -45
  99. package/backend/src/core/nodes/inventory/select_slot.js +48 -46
  100. package/backend/src/core/nodes/navigation/follow.js +54 -51
  101. package/backend/src/core/nodes/navigation/go_to.js +41 -53
  102. package/backend/src/core/nodes/navigation/go_to_entity.js +65 -69
  103. package/backend/src/core/nodes/navigation/go_to_player.js +65 -70
  104. package/backend/src/core/nodes/navigation/stop.js +17 -26
  105. package/backend/src/core/nodes/users/add_to_group.js +24 -0
  106. package/backend/src/core/nodes/users/check_permission.js +26 -0
  107. package/backend/src/core/nodes/users/remove_from_group.js +24 -0
  108. package/backend/src/core/services/BotIPCMessageRouter.js +337 -0
  109. package/backend/src/core/services/BotLifecycleService.js +43 -450
  110. package/backend/src/core/services/CacheManager.js +83 -23
  111. package/backend/src/core/services/CrashRestartManager.js +42 -0
  112. package/backend/src/core/services/DebugSessionManager.js +114 -12
  113. package/backend/src/core/services/EventGraphService.js +69 -0
  114. package/backend/src/core/services/MinecraftBotManager.js +9 -1
  115. package/backend/src/core/services/PluginManagementService.js +84 -0
  116. package/backend/src/core/services/TestModeContext.js +65 -0
  117. package/backend/src/core/services/__tests__/CacheManager.test.js +168 -0
  118. package/backend/src/core/services.js +1 -11
  119. package/backend/src/core/validation/InputValidator.js +167 -0
  120. package/backend/src/core/validation/__tests__/InputValidator.test.js +296 -0
  121. package/backend/src/real-time/botApi/index.js +1 -1
  122. package/backend/src/real-time/socketHandler.js +26 -0
  123. package/backend/src/server.js +21 -6
  124. package/frontend/dist/assets/browser-ponyfill-D8y0Ty7C.js +2 -0
  125. package/frontend/dist/assets/index-CFJLS0dk.css +32 -0
  126. package/frontend/dist/assets/index-D91UGNMG.js +11260 -0
  127. package/frontend/dist/flags/en.svg +32 -0
  128. package/frontend/dist/flags/ru.svg +5 -0
  129. package/frontend/dist/index.html +2 -2
  130. package/frontend/dist/locales/en/admin.json +100 -0
  131. package/frontend/dist/locales/en/api-keys.json +58 -0
  132. package/frontend/dist/locales/en/bots.json +113 -0
  133. package/frontend/dist/locales/en/common.json +53 -0
  134. package/frontend/dist/locales/en/configuration.json +22 -0
  135. package/frontend/dist/locales/en/console.json +10 -0
  136. package/frontend/dist/locales/en/dashboard.json +85 -0
  137. package/frontend/dist/locales/en/dialogs.json +70 -0
  138. package/frontend/dist/locales/en/event-graphs.json +50 -0
  139. package/frontend/dist/locales/en/graph-store.json +70 -0
  140. package/frontend/dist/locales/en/login.json +36 -0
  141. package/frontend/dist/locales/en/management.json +192 -0
  142. package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
  143. package/frontend/dist/locales/en/nodes.json +1132 -0
  144. package/frontend/dist/locales/en/permissions.json +50 -0
  145. package/frontend/dist/locales/en/plugin-detail.json +69 -0
  146. package/frontend/dist/locales/en/plugins.json +329 -0
  147. package/frontend/dist/locales/en/proxies.json +81 -0
  148. package/frontend/dist/locales/en/servers.json +39 -0
  149. package/frontend/dist/locales/en/setup.json +19 -0
  150. package/frontend/dist/locales/en/sidebar.json +195 -0
  151. package/frontend/dist/locales/en/tasks.json +62 -0
  152. package/frontend/dist/locales/en/visual-editor.json +418 -0
  153. package/frontend/dist/locales/en/websocket.json +86 -0
  154. package/frontend/dist/locales/ru/admin.json +100 -0
  155. package/frontend/dist/locales/ru/api-keys.json +58 -0
  156. package/frontend/dist/locales/ru/bots.json +113 -0
  157. package/frontend/dist/locales/ru/common.json +49 -0
  158. package/frontend/dist/locales/ru/configuration.json +22 -0
  159. package/frontend/dist/locales/ru/console.json +10 -0
  160. package/frontend/dist/locales/ru/dashboard.json +85 -0
  161. package/frontend/dist/locales/ru/dialogs.json +70 -0
  162. package/frontend/dist/locales/ru/event-graphs.json +50 -0
  163. package/frontend/dist/locales/ru/graph-store.json +70 -0
  164. package/frontend/dist/locales/ru/login.json +36 -0
  165. package/frontend/dist/locales/ru/management.json +192 -0
  166. package/frontend/dist/locales/ru/minecraft-viewer.json +30 -0
  167. package/frontend/dist/locales/ru/nodes.json +1131 -0
  168. package/frontend/dist/locales/ru/permissions.json +50 -0
  169. package/frontend/dist/locales/ru/plugin-detail.json +49 -0
  170. package/frontend/dist/locales/ru/plugins.json +209 -0
  171. package/frontend/dist/locales/ru/proxies.json +81 -0
  172. package/frontend/dist/locales/ru/servers.json +39 -0
  173. package/frontend/dist/locales/ru/setup.json +19 -0
  174. package/frontend/dist/locales/ru/sidebar.json +195 -0
  175. package/frontend/dist/locales/ru/tasks.json +62 -0
  176. package/frontend/dist/locales/ru/visual-editor.json +420 -0
  177. package/frontend/dist/locales/ru/websocket.json +86 -0
  178. package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
  179. package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
  180. package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
  181. package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
  182. package/frontend/package.json +6 -0
  183. package/nul +12 -0
  184. package/package.json +3 -3
  185. package/screen/3dviewer.png +0 -0
  186. package/screen/console.png +0 -0
  187. package/screen/dashboard.png +0 -0
  188. package/screen/graph_collabe.png +0 -0
  189. package/screen/graph_live_debug.png +0 -0
  190. package/screen/language_selector.png +0 -0
  191. package/screen/management_command.png +0 -0
  192. package/screen/node_debug_trace.png +0 -0
  193. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  194. package/screen/websocket.png +0 -0
  195. package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
  196. package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
  197. package/.claude/agents/README.md +0 -469
  198. package/.claude/agents/auth-route-debugger.md +0 -118
  199. package/.claude/agents/auth-route-tester.md +0 -93
  200. package/.claude/agents/auto-error-resolver.md +0 -97
  201. package/.claude/agents/build-optimizer.md +0 -236
  202. package/.claude/agents/code-architect.md +0 -34
  203. package/.claude/agents/code-architecture-reviewer.md +0 -83
  204. package/.claude/agents/code-explorer.md +0 -51
  205. package/.claude/agents/code-refactor-master.md +0 -94
  206. package/.claude/agents/code-reviewer.md +0 -46
  207. package/.claude/agents/cost-optimizer.md +0 -134
  208. package/.claude/agents/deployment-orchestrator.md +0 -113
  209. package/.claude/agents/documentation-architect.md +0 -82
  210. package/.claude/agents/frontend-error-fixer.md +0 -77
  211. package/.claude/agents/iac-code-generator.md +0 -71
  212. package/.claude/agents/incident-responder.md +0 -346
  213. package/.claude/agents/infrastructure-architect.md +0 -31
  214. package/.claude/agents/kubernetes-specialist.md +0 -56
  215. package/.claude/agents/migration-planner.md +0 -181
  216. package/.claude/agents/network-architect.md +0 -196
  217. package/.claude/agents/plan-reviewer.md +0 -52
  218. package/.claude/agents/refactor-planner.md +0 -63
  219. package/.claude/agents/security-scanner.md +0 -102
  220. package/.claude/agents/web-research-specialist.md +0 -78
  221. package/.claude/commands/cost-analysis.md +0 -315
  222. package/.claude/commands/dev-docs-update.md +0 -55
  223. package/.claude/commands/dev-docs.md +0 -51
  224. package/.claude/commands/feature-dev.md +0 -125
  225. package/.claude/commands/incident-debug.md +0 -247
  226. package/.claude/commands/infra-plan.md +0 -81
  227. package/.claude/commands/migration-plan.md +0 -478
  228. package/.claude/commands/route-research-for-testing.md +0 -37
  229. package/.claude/commands/security-review.md +0 -66
  230. package/.claude/hooks/CONFIG.md +0 -448
  231. package/.claude/hooks/README.md +0 -163
  232. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
  233. package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
  234. package/.claude/hooks/add-skill-activation-banners.ts +0 -132
  235. package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
  236. package/.claude/hooks/error-handling-reminder.sh +0 -12
  237. package/.claude/hooks/error-handling-reminder.ts +0 -222
  238. package/.claude/hooks/k8s-manifest-validator.sh +0 -56
  239. package/.claude/hooks/package-lock.json +0 -556
  240. package/.claude/hooks/package.json +0 -16
  241. package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
  242. package/.claude/hooks/post-tool-use-tracker.sh +0 -183
  243. package/.claude/hooks/security-policy-check.sh +0 -247
  244. package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
  245. package/.claude/hooks/skill-activation-prompt.sh +0 -10
  246. package/.claude/hooks/skill-activation-prompt.ts +0 -141
  247. package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
  248. package/.claude/hooks/terraform-validator.sh +0 -53
  249. package/.claude/hooks/test-input.json +0 -7
  250. package/.claude/hooks/test-skill-activation.ts +0 -427
  251. package/.claude/hooks/trigger-build-resolver.sh +0 -79
  252. package/.claude/hooks/tsc-check.sh +0 -173
  253. package/.claude/hooks/tsconfig.json +0 -19
  254. package/.claude/settings.json +0 -59
  255. package/.claude/settings.local.json +0 -67
  256. package/.claude/skills/README.md +0 -507
  257. package/.claude/skills/api-engineering/SKILL.md +0 -63
  258. package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
  259. package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
  260. package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
  261. package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
  262. package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
  263. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
  264. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
  265. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
  266. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
  267. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
  268. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
  269. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
  270. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
  271. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
  272. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
  273. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
  274. package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
  275. package/.claude/skills/build-engineering/SKILL.md +0 -431
  276. package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
  277. package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
  278. package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
  279. package/.claude/skills/build-engineering/resources/build-security.md +0 -95
  280. package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
  281. package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
  282. package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
  283. package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
  284. package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
  285. package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
  286. package/.claude/skills/cloud-engineering/SKILL.md +0 -675
  287. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
  288. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
  289. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
  290. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
  291. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
  292. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
  293. package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
  294. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
  295. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
  296. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
  297. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
  298. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
  299. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
  300. package/.claude/skills/cybersecurity/SKILL.md +0 -409
  301. package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
  302. package/.claude/skills/database-engineering/SKILL.md +0 -61
  303. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
  304. package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
  305. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
  306. package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
  307. package/.claude/skills/devsecops/SKILL.md +0 -374
  308. package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
  309. package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
  310. package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
  311. package/.claude/skills/devsecops/resources/container-security.md +0 -915
  312. package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
  313. package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
  314. package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
  315. package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
  316. package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
  317. package/.claude/skills/devsecops/resources/security-testing.md +0 -203
  318. package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
  319. package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
  320. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
  321. package/.claude/skills/documentation-as-code/SKILL.md +0 -323
  322. package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
  323. package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
  324. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
  325. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
  326. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
  327. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
  328. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
  329. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
  330. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
  331. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
  332. package/.claude/skills/engineering-management/SKILL.md +0 -356
  333. package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
  334. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
  335. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
  336. package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
  337. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
  338. package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
  339. package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
  340. package/.claude/skills/error-tracking/SKILL.md +0 -379
  341. package/.claude/skills/frontend-design/SKILL.md +0 -42
  342. package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
  343. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
  344. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
  345. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
  346. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
  347. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
  348. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
  349. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
  350. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
  351. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
  352. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
  353. package/.claude/skills/general-it-engineering/SKILL.md +0 -393
  354. package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
  355. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
  356. package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
  357. package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
  358. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
  359. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
  360. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
  361. package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
  362. package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
  363. package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
  364. package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
  365. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
  366. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
  367. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
  368. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
  369. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
  370. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
  371. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
  372. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
  373. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
  374. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
  375. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
  376. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
  377. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
  378. package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
  379. package/.claude/skills/network-engineering/SKILL.md +0 -385
  380. package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
  381. package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
  382. package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
  383. package/.claude/skills/network-engineering/resources/network-security.md +0 -921
  384. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
  385. package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
  386. package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
  387. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
  388. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
  389. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
  390. package/.claude/skills/node-development/SKILL.md +0 -317
  391. package/.claude/skills/observability-engineering/SKILL.md +0 -101
  392. package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
  393. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
  394. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
  395. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
  396. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
  397. package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
  398. package/.claude/skills/platform-engineering/SKILL.md +0 -555
  399. package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
  400. package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
  401. package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
  402. package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
  403. package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
  404. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
  405. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
  406. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
  407. package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
  408. package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
  409. package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
  410. package/.claude/skills/release-engineering/SKILL.md +0 -393
  411. package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
  412. package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
  413. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
  414. package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
  415. package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
  416. package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
  417. package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
  418. package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
  419. package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
  420. package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
  421. package/.claude/skills/route-tester/SKILL.md +0 -392
  422. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  423. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  424. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  425. package/.claude/skills/skill-developer/SKILL.md +0 -430
  426. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  427. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  428. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  429. package/.claude/skills/skill-rules.json +0 -2989
  430. package/.claude/skills/sre/SKILL.md +0 -464
  431. package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
  432. package/.claude/skills/sre/resources/capacity-planning.md +0 -226
  433. package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
  434. package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
  435. package/.claude/skills/sre/resources/incident-management.md +0 -436
  436. package/.claude/skills/sre/resources/observability-stack.md +0 -240
  437. package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
  438. package/.claude/skills/sre/resources/performance-optimization.md +0 -108
  439. package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
  440. package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
  441. package/.claude/skills/sre/resources/toil-reduction.md +0 -145
  442. package/.claude/skills/systems-engineering/SKILL.md +0 -648
  443. package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
  444. package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
  445. package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
  446. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
  447. package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
  448. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
  449. package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
  450. package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
  451. package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
  452. package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
  453. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
  454. package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
  455. package/.claude/skills/technical-leadership/SKILL.md +0 -728
  456. package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
  457. package/backend/package-lock.json +0 -6801
  458. package/backend/src/core/node-registries/actions.js +0 -202
  459. package/backend/src/core/node-registries/arrays.js +0 -155
  460. package/backend/src/core/node-registries/bot.js +0 -23
  461. package/backend/src/core/node-registries/container.js +0 -162
  462. package/backend/src/core/node-registries/data.js +0 -290
  463. package/backend/src/core/node-registries/debug.js +0 -26
  464. package/backend/src/core/node-registries/events.js +0 -201
  465. package/backend/src/core/node-registries/flow.js +0 -139
  466. package/backend/src/core/node-registries/furnace.js +0 -143
  467. package/backend/src/core/node-registries/logic.js +0 -62
  468. package/backend/src/core/node-registries/math.js +0 -42
  469. package/backend/src/core/node-registries/navigation.js +0 -111
  470. package/backend/src/core/node-registries/objects.js +0 -98
  471. package/backend/src/core/node-registries/strings.js +0 -187
  472. package/backend/src/core/node-registries/time.js +0 -113
  473. package/backend/src/core/node-registries/type.js +0 -25
  474. package/backend/src/core/node-registries/users.js +0 -79
  475. package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
  476. package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
@@ -1,600 +0,0 @@
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.