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,555 +0,0 @@
1
- ---
2
- description: Platform engineering and architecture guide covering Infrastructure as Code, container orchestration (Kubernetes/Docker), service mesh, developer platforms, internal developer portals, platform automation, multi-tenancy, resource management, and infrastructure standards. Use when designing platform architecture, implementing IaC, managing Kubernetes clusters, building developer platforms, or establishing infrastructure standards. (project)
3
- ---
4
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5
- 🎯 SKILL ACTIVATED: platform-engineering
6
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7
-
8
-
9
- # Platform Engineering & Architecture
10
-
11
- Comprehensive guide for building and managing modern platform engineering infrastructure. This skill provides production-tested patterns for Infrastructure as Code, container orchestration, developer platforms, and platform automation.
12
-
13
- ## When to Use This Skill
14
-
15
- Automatically activates when working on:
16
- - Infrastructure as Code implementation (Terraform, Pulumi, CloudFormation)
17
- - Kubernetes cluster management and container orchestration
18
- - Platform architecture design and developer platforms
19
- - GitOps automation (ArgoCD, Flux)
20
- - Service mesh configuration (Istio, Linkerd)
21
- - Multi-tenancy and resource management
22
- - Platform cost optimization and governance
23
- - Internal developer portal development (Backstage, Port)
24
-
25
- ## Overview
26
-
27
- **Purpose:** Enable teams to build robust, scalable platform infrastructure that empowers developers with self-service capabilities while maintaining security, reliability, and cost efficiency.
28
-
29
- **Scope:**
30
- - Infrastructure as Code (Terraform, Pulumi, CloudFormation, Ansible)
31
- - Container orchestration (Kubernetes, Docker, ECS, AKS, GKE, EKS)
32
- - Service mesh and networking (Istio, Linkerd, Envoy)
33
- - Developer platforms and internal portals (Backstage, Port, Humanitec)
34
- - Platform automation and GitOps (ArgoCD, Flux, Jenkins, GitHub Actions)
35
- - Multi-tenancy and resource isolation
36
- - Cost optimization and FinOps
37
- - Infrastructure standards and governance
38
-
39
- **This skill is for:**
40
- - Platform engineers building internal developer platforms
41
- - Infrastructure architects designing scalable systems
42
- - Teams migrating to cloud-native architectures
43
- - Organizations implementing platform engineering practices
44
-
45
- ## Quick Start Checklist
46
-
47
- When starting a platform engineering task:
48
-
49
- - [ ] Identify the infrastructure layer (compute, networking, storage, orchestration)
50
- - [ ] Choose appropriate IaC tool (Terraform for multi-cloud, native tools for single cloud)
51
- - [ ] Define resource hierarchy and naming conventions
52
- - [ ] Implement state management and backend configuration
53
- - [ ] Design for multi-environment support (dev, staging, prod)
54
- - [ ] Plan security controls and access management
55
- - [ ] Define monitoring and observability strategy
56
- - [ ] Document platform architecture and runbooks
57
- - [ ] Implement cost tracking and tagging strategy
58
- - [ ] Set up automated testing for infrastructure changes
59
-
60
- ## Core Concepts
61
-
62
- ### 1. Infrastructure as Code (IaC)
63
-
64
- **Definition:** Managing infrastructure through version-controlled code rather than manual processes.
65
-
66
- **Key Principles:**
67
- - **Declarative over imperative:** Define desired state, not steps
68
- - **Idempotency:** Same input produces same output
69
- - **Version control:** All infrastructure in Git
70
- - **Immutable infrastructure:** Replace rather than modify
71
- - **State management:** Track current infrastructure state
72
- - **Modularity:** Reusable components and modules
73
-
74
- **Tool Selection:**
75
- ```
76
- Terraform: Multi-cloud, largest ecosystem, HCL language
77
- Pulumi: Programming languages (Python/TypeScript/Go), cloud-native
78
- CloudFormation: AWS-native, tight AWS integration
79
- ARM/Bicep: Azure-native, JSON/domain-specific language
80
- Ansible: Configuration management + provisioning
81
- CDK: Cloud-native using programming languages
82
- ```
83
-
84
- ### 2. Container Orchestration
85
-
86
- **Kubernetes Architecture:**
87
- ```
88
- ┌─────────────────────────────────────────────────┐
89
- │ Control Plane │
90
- │ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
91
- │ │ API │ │ etcd │ │ Scheduler │ │
92
- │ │ Server │ │ │ │ │ │
93
- │ └──────────┘ └──────────┘ └──────────────┘ │
94
- │ ┌─────────────────────────────────────────┐ │
95
- │ │ Controller Manager │ │
96
- │ └─────────────────────────────────────────┘ │
97
- └─────────────────────────────────────────────────┘
98
-
99
- ┌─────────────┼─────────────┐
100
- │ │ │
101
- ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
102
- │ Node 1 │ │ Node 2 │ │ Node 3 │
103
- │ │ │ │ │ │
104
- │ Kubelet │ │ Kubelet │ │ Kubelet │
105
- │ Pods │ │ Pods │ │ Pods │
106
- └─────────┘ └─────────┘ └─────────┘
107
- ```
108
-
109
- **Core Resources:**
110
- - **Pods:** Smallest deployable units (containers)
111
- - **Deployments:** Manage replica sets and rolling updates
112
- - **Services:** Stable networking and load balancing
113
- - **ConfigMaps/Secrets:** Configuration and sensitive data
114
- - **Namespaces:** Resource isolation and multi-tenancy
115
- - **Ingress:** External access and routing rules
116
- - **PersistentVolumes:** Storage abstraction
117
-
118
- ### 3. Platform Layers
119
-
120
- ```
121
- ┌────────────────────────────────────────────────┐
122
- │ Developer Experience Layer │
123
- │ (Portals, CLIs, APIs, Documentation) │
124
- └────────────────────────────────────────────────┘
125
-
126
- ┌────────────────────────────────────────────────┐
127
- │ Platform Services Layer │
128
- │ (CI/CD, Observability, Secrets, Service Mesh)│
129
- └────────────────────────────────────────────────┘
130
-
131
- ┌────────────────────────────────────────────────┐
132
- │ Orchestration Layer │
133
- │ (Kubernetes, ECS, Nomad) │
134
- └────────────────────────────────────────────────┘
135
-
136
- ┌────────────────────────────────────────────────┐
137
- │ Infrastructure Layer │
138
- │ (Compute, Network, Storage, Security) │
139
- └────────────────────────────────────────────────┘
140
- ```
141
-
142
- ### 4. GitOps Principles
143
-
144
- **Core Tenets:**
145
- 1. **Git as single source of truth:** All desired state in Git
146
- 2. **Declarative desired state:** What, not how
147
- 3. **Automated synchronization:** Continuous reconciliation
148
- 4. **Pull-based deployment:** Cluster pulls changes from Git
149
-
150
- **GitOps Workflow:**
151
- ```
152
- Developer → Git Push → CI Pipeline → Update Manifest Repo
153
-
154
- GitOps Controller monitors repo
155
-
156
- Detects drift, applies changes
157
-
158
- Cluster state matches Git
159
- ```
160
-
161
- ### 5. Multi-Tenancy Patterns
162
-
163
- **Namespace-based Tenancy:**
164
- ```yaml
165
- apiVersion: v1
166
- kind: Namespace
167
- metadata:
168
- name: tenant-acme
169
- labels:
170
- tenant: acme
171
- environment: production
172
- ---
173
- apiVersion: v1
174
- kind: ResourceQuota
175
- metadata:
176
- name: tenant-acme-quota
177
- namespace: tenant-acme
178
- spec:
179
- hard:
180
- requests.cpu: "100"
181
- requests.memory: 100Gi
182
- persistentvolumeclaims: "10"
183
- ```
184
-
185
- **Cluster-based Tenancy:**
186
- - Dedicated clusters per tenant/environment
187
- - Stronger isolation, higher cost
188
- - Simplified RBAC and networking
189
-
190
- **Virtual Clusters:**
191
- - vCluster, Loft, Capsule
192
- - Lightweight isolation within shared cluster
193
- - Balance between namespace and cluster tenancy
194
-
195
- ## Common Patterns
196
-
197
- ### Pattern 1: Terraform Module Structure
198
-
199
- ```
200
- terraform/
201
- ├── modules/
202
- │ ├── vpc/
203
- │ │ ├── main.tf
204
- │ │ ├── variables.tf
205
- │ │ ├── outputs.tf
206
- │ │ └── versions.tf
207
- │ ├── eks-cluster/
208
- │ │ ├── main.tf
209
- │ │ ├── variables.tf
210
- │ │ ├── outputs.tf
211
- │ │ └── security.tf
212
- │ └── rds-postgres/
213
- │ └── ...
214
- ├── environments/
215
- │ ├── dev/
216
- │ │ ├── main.tf
217
- │ │ ├── backend.tf
218
- │ │ ├── terraform.tfvars
219
- │ │ └── versions.tf
220
- │ ├── staging/
221
- │ │ └── ...
222
- │ └── prod/
223
- │ └── ...
224
- └── shared/
225
- └── networking/
226
- └── ...
227
- ```
228
-
229
- **Key Practices:**
230
- - Separate modules from environments
231
- - Use remote state for cross-stack references
232
- - Implement state locking (S3 + DynamoDB for AWS)
233
- - Version modules with Git tags
234
- - Use workspaces sparingly (prefer separate state files)
235
-
236
- ### Pattern 2: Kubernetes Application Deployment
237
-
238
- ```yaml
239
- # Standard three-resource pattern
240
- ---
241
- apiVersion: apps/v1
242
- kind: Deployment
243
- metadata:
244
- name: api-service
245
- namespace: production
246
- spec:
247
- replicas: 3
248
- selector:
249
- matchLabels:
250
- app: api-service
251
- template:
252
- metadata:
253
- labels:
254
- app: api-service
255
- version: v1.2.3
256
- spec:
257
- containers:
258
- - name: api
259
- image: registry.example.com/api-service:v1.2.3
260
- ports:
261
- - containerPort: 8080
262
- env:
263
- - name: DATABASE_URL
264
- valueFrom:
265
- secretKeyRef:
266
- name: api-secrets
267
- key: database-url
268
- resources:
269
- requests:
270
- memory: "256Mi"
271
- cpu: "100m"
272
- limits:
273
- memory: "512Mi"
274
- cpu: "500m"
275
- livenessProbe:
276
- httpGet:
277
- path: /health
278
- port: 8080
279
- initialDelaySeconds: 30
280
- periodSeconds: 10
281
- readinessProbe:
282
- httpGet:
283
- path: /ready
284
- port: 8080
285
- initialDelaySeconds: 5
286
- periodSeconds: 5
287
- ---
288
- apiVersion: v1
289
- kind: Service
290
- metadata:
291
- name: api-service
292
- namespace: production
293
- spec:
294
- selector:
295
- app: api-service
296
- ports:
297
- - port: 80
298
- targetPort: 8080
299
- type: ClusterIP
300
- ---
301
- apiVersion: networking.k8s.io/v1
302
- kind: Ingress
303
- metadata:
304
- name: api-service
305
- namespace: production
306
- annotations:
307
- cert-manager.io/cluster-issuer: letsencrypt-prod
308
- nginx.ingress.kubernetes.io/rate-limit: "100"
309
- spec:
310
- ingressClassName: nginx
311
- tls:
312
- - hosts:
313
- - api.example.com
314
- secretName: api-service-tls
315
- rules:
316
- - host: api.example.com
317
- http:
318
- paths:
319
- - path: /
320
- pathType: Prefix
321
- backend:
322
- service:
323
- name: api-service
324
- port:
325
- number: 80
326
- ```
327
-
328
- ### Pattern 3: Platform Service Catalog
329
-
330
- **Developer Portal (Backstage) Structure:**
331
- ```yaml
332
- # catalog-info.yaml
333
- apiVersion: backstage.io/v1alpha1
334
- kind: Component
335
- metadata:
336
- name: api-service
337
- description: Customer API microservice
338
- annotations:
339
- github.com/project-slug: company/api-service
340
- backstage.io/techdocs-ref: dir:.
341
- tags:
342
- - api
343
- - microservice
344
- - production
345
- spec:
346
- type: service
347
- lifecycle: production
348
- owner: platform-team
349
- system: customer-platform
350
- providesApis:
351
- - customer-api
352
- consumesApis:
353
- - auth-api
354
- - notification-api
355
- dependsOn:
356
- - resource:postgres-db
357
- - resource:redis-cache
358
- ```
359
-
360
- ### Pattern 4: Infrastructure State Management
361
-
362
- **Terraform Backend Configuration:**
363
- ```hcl
364
- # backend.tf
365
- terraform {
366
- backend "s3" {
367
- bucket = "company-terraform-state"
368
- key = "prod/vpc/terraform.tfstate"
369
- region = "us-east-1"
370
- encrypt = true
371
- dynamodb_table = "terraform-state-lock"
372
-
373
- # Enable versioning on the bucket for rollback
374
- # Enable MFA delete for production
375
- }
376
- }
377
-
378
- # Workspace-based alternative (use sparingly)
379
- terraform {
380
- backend "s3" {
381
- bucket = "company-terraform-state"
382
- key = "env:/${terraform.workspace}/terraform.tfstate"
383
- region = "us-east-1"
384
- }
385
- }
386
- ```
387
-
388
- ## Resource Files
389
-
390
- For detailed guidance on specific topics, see:
391
-
392
- ### Core Infrastructure
393
- - **[architecture-overview.md](resources/architecture-overview.md)** - Platform architecture patterns, layering strategies, reference architectures, and decision frameworks
394
- - **[infrastructure-as-code.md](resources/infrastructure-as-code.md)** - Terraform, Pulumi, CloudFormation patterns, module design, state management, testing strategies
395
- - **[container-orchestration.md](resources/container-orchestration.md)** - Kubernetes architecture, workload patterns, networking, storage, security best practices
396
-
397
- ### Platform Services
398
- - **[developer-platforms.md](resources/developer-platforms.md)** - Internal developer portals (Backstage, Port), self-service platforms, service catalogs, developer experience
399
- - **[gitops-automation.md](resources/gitops-automation.md)** - ArgoCD, Flux CD, continuous deployment, progressive delivery, automated rollbacks
400
- - **[service-mesh.md](resources/service-mesh.md)** - Istio, Linkerd implementation, traffic management, security policies, observability
401
-
402
- ### Operations & Management
403
- - **[multi-tenancy.md](resources/multi-tenancy.md)** - Namespace isolation, resource quotas, RBAC patterns, network policies, cost allocation
404
- - **[resource-management.md](resources/resource-management.md)** - Resource requests/limits, autoscaling (HPA, VPA, KEDA), cluster autoscaling, capacity planning
405
- - **[cost-optimization.md](resources/cost-optimization.md)** - FinOps practices, cost allocation, right-sizing, spot instances, reserved capacity
406
-
407
- ### Standards & Governance
408
- - **[infrastructure-standards.md](resources/infrastructure-standards.md)** - Naming conventions, tagging strategies, security baselines, compliance frameworks
409
- - **[platform-security.md](resources/platform-security.md)** - Pod security standards, network policies, secrets management, vulnerability scanning, runtime security
410
-
411
- ## Best Practices
412
-
413
- ### Infrastructure as Code
414
-
415
- 1. **State Management:**
416
- - Always use remote state with locking
417
- - Never commit state files to version control
418
- - Use separate state files per environment
419
- - Enable state file versioning for rollback
420
-
421
- 2. **Module Design:**
422
- - Keep modules focused and reusable
423
- - Version modules with semantic versioning
424
- - Document inputs, outputs, and examples
425
- - Test modules independently
426
-
427
- 3. **Security:**
428
- - Never commit secrets to version control
429
- - Use secret management tools (Vault, AWS Secrets Manager)
430
- - Implement least-privilege IAM policies
431
- - Enable encryption at rest and in transit
432
-
433
- ### Kubernetes
434
-
435
- 1. **Resource Management:**
436
- - Always set resource requests and limits
437
- - Use namespaces for logical separation
438
- - Implement resource quotas per namespace
439
- - Enable horizontal pod autoscaling
440
-
441
- 2. **Security:**
442
- - Use Pod Security Standards
443
- - Implement network policies for pod isolation
444
- - Run containers as non-root users
445
- - Scan images for vulnerabilities
446
- - Use secrets for sensitive data (never ConfigMaps)
447
-
448
- 3. **Reliability:**
449
- - Implement health checks (liveness, readiness, startup)
450
- - Use multiple replicas for critical services
451
- - Configure pod disruption budgets
452
- - Implement proper graceful shutdown
453
-
454
- ### Platform Engineering
455
-
456
- 1. **Developer Experience:**
457
- - Provide self-service capabilities
458
- - Automate common tasks
459
- - Document platform usage with examples
460
- - Measure and improve developer productivity
461
-
462
- 2. **Observability:**
463
- - Implement structured logging
464
- - Set up metrics collection (Prometheus)
465
- - Configure distributed tracing
466
- - Create meaningful dashboards and alerts
467
-
468
- 3. **Cost Management:**
469
- - Tag all resources for cost allocation
470
- - Implement resource quotas
471
- - Monitor and optimize resource usage
472
- - Use spot/preemptible instances where appropriate
473
-
474
- ## Anti-Patterns to Avoid
475
-
476
- ❌ **Manual infrastructure changes** - Always use IaC
477
- ❌ **Shared state files** - Separate state per environment/component
478
- ❌ **No resource limits** - Can cause resource exhaustion
479
- ❌ **Running as root** - Security vulnerability
480
- ❌ **Ignoring health checks** - Leads to cascading failures
481
- ❌ **No pod disruption budgets** - Maintenance causes outages
482
- ❌ **Untagged resources** - Impossible to track costs
483
- ❌ **No backup strategy** - Data loss risk
484
- ❌ **Overprovisioning by default** - Wastes money
485
- ❌ **No monitoring/alerting** - Flying blind
486
-
487
- ## Common Tasks
488
-
489
- ### Task: Create New Kubernetes Cluster
490
-
491
- 1. Define cluster specification (node count, size, region, version)
492
- 2. Write Terraform module for cluster provisioning
493
- 3. Configure RBAC and service accounts
494
- 4. Set up networking (VPC, subnets, security groups)
495
- 5. Install core platform services (ingress, cert-manager, monitoring)
496
- 6. Configure GitOps controller (ArgoCD/Flux)
497
- 7. Implement backup and disaster recovery
498
- 8. Document cluster architecture and runbooks
499
-
500
- ### Task: Onboard New Service to Platform
501
-
502
- 1. Create namespace with resource quotas
503
- 2. Set up RBAC for team access
504
- 3. Configure network policies
505
- 4. Provision required resources (databases, caches, queues)
506
- 5. Create CI/CD pipeline
507
- 6. Configure monitoring and alerting
508
- 7. Set up logging and tracing
509
- 8. Register in service catalog
510
- 9. Document service dependencies and runbooks
511
-
512
- ### Task: Implement Infrastructure Change
513
-
514
- 1. Create feature branch in IaC repository
515
- 2. Make changes in development environment first
516
- 3. Run terraform plan and review changes
517
- 4. Apply changes to dev environment
518
- 5. Test and validate functionality
519
- 6. Create pull request with plan output
520
- 7. Peer review and approval
521
- 8. Apply to staging, then production
522
- 9. Monitor for issues and rollback if needed
523
-
524
- ## Integration Points
525
-
526
- This skill integrates with:
527
- - **devsecops**: Security scanning, policy enforcement, compliance
528
- - **sre**: Incident response, reliability engineering, SLO/SLI management
529
- - **release-engineering**: Deployment automation, progressive delivery, rollback strategies
530
- - **cloud-engineering**: Cloud-specific implementations (AWS/Azure/GCP)
531
- - **systems-engineering**: OS-level configuration, networking, performance tuning
532
-
533
- ## Triggers and Activation
534
-
535
- This skill activates when you:
536
- - Work with Infrastructure as Code files (*.tf, *.yaml in k8s/, helm/, infra/)
537
- - Mention platform engineering topics (Kubernetes, Terraform, IaC)
538
- - Design platform architecture or developer platforms
539
- - Implement GitOps or container orchestration
540
- - Configure multi-tenancy or resource management
541
-
542
- ## Next Steps
543
-
544
- For your specific task:
545
- 1. Identify which resource file addresses your needs
546
- 2. Review the relevant patterns and examples
547
- 3. Adapt to your infrastructure and requirements
548
- 4. Implement with testing in dev environment first
549
- 5. Follow promotion process through environments
550
-
551
- ---
552
-
553
- **Total Resources:** 11 detailed guides covering all aspects of platform engineering
554
- **Pattern Library:** 50+ production-tested infrastructure patterns
555
- **Maintained by:** Platform Engineering team based on real-world production experience