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,987 +0,0 @@
1
- # Cleared Cloud Environments
2
-
3
- Government cloud regions, classified environments, air-gapped deployments, and compliance requirements for sensitive workloads.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [AWS GovCloud (US)](#aws-govcloud-us)
9
- - [Azure Government](#azure-government)
10
- - [Google Cloud for Government](#google-cloud-for-government)
11
- - [Oracle Cloud Government](#oracle-cloud-government)
12
- - [Air-Gapped Environments](#air-gapped-environments)
13
- - [On-Premises Classified Networks](#on-premises-classified-networks)
14
- - [Compliance Requirements](#compliance-requirements)
15
- - [Best Practices](#best-practices)
16
- - [Anti-Patterns](#anti-patterns)
17
-
18
- ---
19
-
20
- ## Overview
21
-
22
- **Cleared Cloud Environments** are specialized cloud regions designed to host sensitive workloads requiring enhanced security, compliance, and isolation. These environments support various classification levels from Controlled Unclassified Information (CUI) to Top Secret (TS/SCI).
23
-
24
- **Environment Types:**
25
-
26
- ```
27
- ┌─────────────────────────────────────────────────────────────┐
28
- │ CLEARED ENVIRONMENT HIERARCHY │
29
- ├─────────────────────────────────────────────────────────────┤
30
- │ │
31
- │ Unclassified → Public cloud (commercial regions) │
32
- │ ↓ │
33
- │ CUI / FOUO → GovCloud / Government Cloud │
34
- │ ↓ │
35
- │ Secret → Dedicated Government Regions │
36
- │ ↓ │
37
- │ Top Secret (TS/SCI) → Air-gapped / Classified Networks │
38
- │ │
39
- └─────────────────────────────────────────────────────────────┘
40
- ```
41
-
42
- **Key Characteristics:**
43
- - **Physical Separation**: Isolated data centers with restricted access
44
- - **Personnel Clearances**: Operators hold security clearances
45
- - **Compliance**: Pre-authorized for FedRAMP High, DoD IL4-IL6, CMMC
46
- - **Network Isolation**: Dedicated networks, no direct internet connectivity
47
- - **Data Sovereignty**: Data remains within specific geographic boundaries
48
-
49
- ---
50
-
51
- ## AWS GovCloud (US)
52
-
53
- **AWS GovCloud (US)** is an isolated AWS region designed for U.S. government agencies, contractors, and regulated industries.
54
-
55
- ### Regions
56
-
57
- | Region | Location | Impact Level |
58
- |--------|----------|--------------|
59
- | us-gov-west-1 | Oregon | IL2-IL5 (DoD) |
60
- | us-gov-east-1 | Ohio | IL2-IL5 (DoD) |
61
-
62
- ### Key Features
63
-
64
- **1. Compliance Authorizations:**
65
- - FedRAMP High Authorization
66
- - DoD SRG Impact Levels 2, 4, 5, 6
67
- - ITAR (International Traffic in Arms Regulations)
68
- - CJIS (Criminal Justice Information Services)
69
- - FIPS 140-2 validated endpoints
70
-
71
- **2. Access Requirements:**
72
- ```bash
73
- # GovCloud requires separate AWS account
74
- # Root account user must be a U.S. person
75
- # Access from commercial AWS not allowed
76
-
77
- # Create GovCloud account
78
- aws organizations create-gov-cloud-account \
79
- --email govcloud-admin@agency.gov \
80
- --account-name "Agency GovCloud Account"
81
-
82
- # Configure AWS CLI for GovCloud
83
- aws configure --profile govcloud
84
- # AWS Access Key ID: [GovCloud credentials]
85
- # AWS Secret Access Key: [GovCloud credentials]
86
- # Default region: us-gov-west-1
87
- # Default output format: json
88
- ```
89
-
90
- **3. Service Availability:**
91
-
92
- ```
93
- ✅ Available in GovCloud:
94
- - EC2, S3, RDS, Lambda, ECS, EKS
95
- - IAM, KMS, CloudTrail, CloudWatch
96
- - VPC, Direct Connect, VPN
97
- - Security Hub, GuardDuty, WAF
98
-
99
- ❌ NOT Available in GovCloud:
100
- - Some newer services (delayed releases)
101
- - Consumer services (Alexa, etc.)
102
- - Services requiring internet connectivity
103
- ```
104
-
105
- **4. Terraform Example:**
106
-
107
- ```hcl
108
- # Configure GovCloud provider
109
- provider "aws" {
110
- region = "us-gov-west-1"
111
- profile = "govcloud"
112
- }
113
-
114
- # GovCloud VPC with FIPS endpoints
115
- resource "aws_vpc" "govcloud_vpc" {
116
- cidr_block = "10.0.0.0/16"
117
- enable_dns_support = true
118
- enable_dns_hostnames = true
119
-
120
- tags = {
121
- Name = "govcloud-vpc"
122
- Classification = "CUI"
123
- Compliance = "FedRAMP-High"
124
- }
125
- }
126
-
127
- # S3 bucket with encryption (FIPS 140-2)
128
- resource "aws_s3_bucket" "govcloud_bucket" {
129
- bucket = "agency-govcloud-data"
130
-
131
- tags = {
132
- Classification = "CUI"
133
- DataRetention = "7-years"
134
- }
135
- }
136
-
137
- resource "aws_s3_bucket_server_side_encryption_configuration" "govcloud_encryption" {
138
- bucket = aws_s3_bucket.govcloud_bucket.id
139
-
140
- rule {
141
- apply_server_side_encryption_by_default {
142
- sse_algorithm = "aws:kms"
143
- kms_master_key_id = aws_kms_key.govcloud_key.arn
144
- }
145
- }
146
- }
147
-
148
- # KMS key for encryption
149
- resource "aws_kms_key" "govcloud_key" {
150
- description = "GovCloud KMS key"
151
- deletion_window_in_days = 30
152
- enable_key_rotation = true
153
-
154
- tags = {
155
- Compliance = "FIPS-140-2"
156
- }
157
- }
158
- ```
159
-
160
- **5. Networking Considerations:**
161
-
162
- ```
163
- GovCloud Network Architecture:
164
- ┌─────────────────────────────────────────────────────┐
165
- │ On-Premises Data Center │
166
- │ ┌──────────────────┐ │
167
- │ │ Cleared Network │ │
168
- │ └────────┬─────────┘ │
169
- │ │ │
170
- │ │ AWS Direct Connect (Dedicated) │
171
- │ │ (FIPS 140-2 encrypted tunnel) │
172
- └───────────┼─────────────────────────────────────────┘
173
-
174
-
175
- ┌───────────┴─────────────────────────────────────────┐
176
- │ AWS GovCloud (US) │
177
- │ ┌─────────────────────────────────────────────┐ │
178
- │ │ Virtual Private Gateway │ │
179
- │ └─────────┬───────────────────────────────────┘ │
180
- │ │ │
181
- │ ┌─────────▼──────────┐ ┌────────────────────┐ │
182
- │ │ Private Subnet │ │ Isolated Subnet │ │
183
- │ │ (Application tier) │ │ (Data tier) │ │
184
- │ │ - EC2 instances │ │ - RDS databases │ │
185
- │ │ - EKS cluster │ │ - S3 VPC endpoints │ │
186
- │ └────────────────────┘ └────────────────────┘ │
187
- │ │
188
- │ ❌ NO Internet Gateway (air-gapped) │
189
- │ ✅ VPC Endpoints for AWS services │
190
- └─────────────────────────────────────────────────────┘
191
- ```
192
-
193
- ---
194
-
195
- ## Azure Government
196
-
197
- **Azure Government** is a physically isolated instance of Microsoft Azure for U.S. government agencies and partners.
198
-
199
- ### Regions
200
-
201
- | Region | Location | Impact Level |
202
- |--------|----------|--------------|
203
- | USGov Virginia | Virginia | IL2-IL5 |
204
- | USGov Arizona | Arizona | IL2-IL5 |
205
- | USGov Texas | Texas | IL2-IL5 |
206
- | USGov DoD East | Confidential | IL6 (Secret) |
207
- | USGov DoD Central | Confidential | IL6 (Secret) |
208
-
209
- ### Key Features
210
-
211
- **1. Compliance Authorizations:**
212
- - FedRAMP High
213
- - DoD SRG Impact Levels 2, 4, 5
214
- - DoD IL6 (Secret) in DoD regions
215
- - CJIS, ITAR, IRS 1075
216
-
217
- **2. Access Configuration:**
218
-
219
- ```bash
220
- # Install Azure Government CLI
221
- az cloud set --name AzureUSGovernment
222
-
223
- # Login to Azure Government
224
- az login
225
-
226
- # Set subscription
227
- az account set --subscription "Government Subscription ID"
228
-
229
- # Verify endpoint
230
- az cloud show --query endpoints.resourceManager
231
- # Output: https://management.usgovcloudapi.net/
232
- ```
233
-
234
- **3. Terraform Example:**
235
-
236
- ```hcl
237
- # Configure Azure Government provider
238
- provider "azurerm" {
239
- features {}
240
- environment = "usgovernment"
241
- }
242
-
243
- # Resource group in Azure Government
244
- resource "azurerm_resource_group" "govcloud_rg" {
245
- name = "rg-government-eastus"
246
- location = "usgovvirginia"
247
-
248
- tags = {
249
- Classification = "CUI"
250
- Compliance = "FedRAMP-High"
251
- Environment = "Production"
252
- }
253
- }
254
-
255
- # Virtual Network with NSGs
256
- resource "azurerm_virtual_network" "govcloud_vnet" {
257
- name = "vnet-government"
258
- address_space = ["10.0.0.0/16"]
259
- location = azurerm_resource_group.govcloud_rg.location
260
- resource_group_name = azurerm_resource_group.govcloud_rg.name
261
-
262
- tags = {
263
- Classification = "CUI"
264
- }
265
- }
266
-
267
- # Subnet for workloads
268
- resource "azurerm_subnet" "govcloud_subnet" {
269
- name = "snet-workloads"
270
- resource_group_name = azurerm_resource_group.govcloud_rg.name
271
- virtual_network_name = azurerm_virtual_network.govcloud_vnet.name
272
- address_prefixes = ["10.0.1.0/24"]
273
- }
274
-
275
- # Storage account with encryption
276
- resource "azurerm_storage_account" "govcloud_storage" {
277
- name = "stgovclouddata001"
278
- resource_group_name = azurerm_resource_group.govcloud_rg.name
279
- location = azurerm_resource_group.govcloud_rg.location
280
- account_tier = "Standard"
281
- account_replication_type = "GRS"
282
-
283
- # Enable encryption with customer-managed keys
284
- identity {
285
- type = "SystemAssigned"
286
- }
287
-
288
- tags = {
289
- Classification = "CUI"
290
- DataRetention = "7-years"
291
- }
292
- }
293
-
294
- # Key Vault for secrets (FIPS 140-2)
295
- resource "azurerm_key_vault" "govcloud_kv" {
296
- name = "kv-govcloud-001"
297
- location = azurerm_resource_group.govcloud_rg.location
298
- resource_group_name = azurerm_resource_group.govcloud_rg.name
299
- tenant_id = data.azurerm_client_config.current.tenant_id
300
- sku_name = "premium"
301
-
302
- # Enable FIPS 140-2 Level 2 HSM
303
- enabled_for_disk_encryption = true
304
- purge_protection_enabled = true
305
-
306
- network_acls {
307
- default_action = "Deny"
308
- bypass = "AzureServices"
309
- }
310
- }
311
- ```
312
-
313
- **4. DoD Regions (Secret/IL6):**
314
-
315
- ```
316
- Azure Government DoD Architecture:
317
- ┌─────────────────────────────────────────────────────┐
318
- │ DoD Network (NIPRNET/SIPRNET) │
319
- │ ┌──────────────────┐ │
320
- │ │ Classified Data │ │
321
- │ └────────┬─────────┘ │
322
- │ │ │
323
- │ │ ExpressRoute (Dedicated, IL6-approved) │
324
- │ │ │
325
- └───────────┼─────────────────────────────────────────┘
326
-
327
-
328
- ┌───────────┴─────────────────────────────────────────┐
329
- │ Azure Government DoD East/Central │
330
- │ ┌─────────────────────────────────────────────┐ │
331
- │ │ Virtual Network Gateway │ │
332
- │ └─────────┬───────────────────────────────────┘ │
333
- │ │ │
334
- │ ┌─────────▼──────────┐ ┌────────────────────┐ │
335
- │ │ App Subnet │ │ Data Subnet │ │
336
- │ │ - VMs (Secret) │ │ - SQL MI (Secret) │ │
337
- │ │ - AKS (IL6) │ │ - Cosmos DB │ │
338
- │ └────────────────────┘ └────────────────────┘ │
339
- │ │
340
- │ Requirements: │
341
- │ ✅ All personnel cleared to Secret level │
342
- │ ✅ Physical isolation from commercial Azure │
343
- │ ✅ FIPS 140-2 Level 3+ encryption │
344
- └─────────────────────────────────────────────────────┘
345
- ```
346
-
347
- ---
348
-
349
- ## Google Cloud for Government
350
-
351
- **Google Cloud for Government** provides isolated regions and compliance for government workloads.
352
-
353
- ### Offering Types
354
-
355
- | Offering | Description | Impact Level |
356
- |----------|-------------|--------------|
357
- | Assured Workloads | Compliance controls in commercial regions | IL2-IL4 |
358
- | Government Regions | Dedicated regions (coming) | IL4-IL5 |
359
-
360
- ### Key Features
361
-
362
- **1. Assured Workloads Configuration:**
363
-
364
- ```bash
365
- # Create Assured Workload
366
- gcloud assured workloads create \
367
- --organization=123456789 \
368
- --location=us-central1 \
369
- --display-name="FedRAMP High Workload" \
370
- --compliance-regime=FEDRAMP_HIGH \
371
- --billing-account=ABCDEF-123456
372
-
373
- # List assured workloads
374
- gcloud assured workloads list \
375
- --organization=123456789 \
376
- --location=us-central1
377
- ```
378
-
379
- **2. Terraform Example:**
380
-
381
- ```hcl
382
- # Assured Workloads for FedRAMP compliance
383
- resource "google_assured_workloads_workload" "fedramp_workload" {
384
- organization = "123456789"
385
- location = "us-central1"
386
- display_name = "FedRAMP High Environment"
387
-
388
- compliance_regime = "FEDRAMP_HIGH"
389
- billing_account = "billingAccounts/ABCDEF-123456"
390
-
391
- resource_settings {
392
- resource_type = "CONSUMER_PROJECT"
393
- }
394
-
395
- kms_settings {
396
- next_rotation_time = "2024-12-31T23:59:59Z"
397
- rotation_period = "7776000s" # 90 days
398
- }
399
- }
400
-
401
- # VPC in Assured Workload
402
- resource "google_compute_network" "assured_vpc" {
403
- project = google_assured_workloads_workload.fedramp_workload.resources[0].resource_id
404
- name = "vpc-fedramp-high"
405
- auto_create_subnetworks = false
406
- }
407
-
408
- resource "google_compute_subnetwork" "assured_subnet" {
409
- project = google_assured_workloads_workload.fedramp_workload.resources[0].resource_id
410
- name = "subnet-workloads"
411
- ip_cidr_range = "10.0.0.0/24"
412
- region = "us-central1"
413
- network = google_compute_network.assured_vpc.id
414
-
415
- log_config {
416
- aggregation_interval = "INTERVAL_5_SEC"
417
- flow_sampling = 1.0
418
- metadata = "INCLUDE_ALL_METADATA"
419
- }
420
- }
421
-
422
- # GKE cluster with FedRAMP compliance
423
- resource "google_container_cluster" "assured_gke" {
424
- project = google_assured_workloads_workload.fedramp_workload.resources[0].resource_id
425
- name = "gke-fedramp-high"
426
- location = "us-central1"
427
-
428
- # Enable Workload Identity
429
- workload_identity_config {
430
- workload_pool = "${google_assured_workloads_workload.fedramp_workload.resources[0].resource_id}.svc.id.goog"
431
- }
432
-
433
- # Enable Shielded Nodes
434
- enable_shielded_nodes = true
435
-
436
- # Database encryption with CMEK
437
- database_encryption {
438
- state = "ENCRYPTED"
439
- key_name = google_kms_crypto_key.gke_key.id
440
- }
441
- }
442
- ```
443
-
444
- **3. Compliance Controls:**
445
-
446
- ```
447
- Assured Workloads Compliance Boundaries:
448
- ┌─────────────────────────────────────────────────────┐
449
- │ Assured Workload Folder │
450
- │ ┌─────────────────────────────────────────────┐ │
451
- │ │ Compliance Controls (enforced) │ │
452
- │ │ - Data residency (US only) │ │
453
- │ │ - Personnel access (US Persons only) │ │
454
- │ │ - Encryption (FIPS 140-2) │ │
455
- │ │ - Audit logging (immutable) │ │
456
- │ └─────────────────────────────────────────────┘ │
457
- │ │
458
- │ ┌────────────────┐ ┌────────────────┐ │
459
- │ │ Project 1 │ │ Project 2 │ │
460
- │ │ (FedRAMP High) │ │ (FedRAMP High) │ │
461
- │ │ │ │ │ │
462
- │ │ - Compute VMs │ │ - GKE cluster │ │
463
- │ │ - Cloud SQL │ │ - Cloud Run │ │
464
- │ │ - GCS buckets │ │ - Firestore │ │
465
- │ └────────────────┘ └────────────────┘ │
466
- │ │
467
- │ ❌ Cannot move resources outside workload │
468
- │ ✅ Automatic compliance monitoring │
469
- └─────────────────────────────────────────────────────┘
470
- ```
471
-
472
- ---
473
-
474
- ## Oracle Cloud Government
475
-
476
- **Oracle Cloud Government** provides isolated regions for U.S. government workloads.
477
-
478
- ### Regions
479
-
480
- | Region | Location | Impact Level |
481
- |--------|----------|--------------|
482
- | us-langley-1 | Ashburn, VA | IL5 (DoD) |
483
- | us-luke-1 | Phoenix, AZ | IL5 (DoD) |
484
-
485
- ### Key Features
486
-
487
- **1. Compliance Authorizations:**
488
- - FedRAMP High
489
- - DoD SRG Impact Level 5
490
- - DISA IL5 Authorization
491
-
492
- **2. Terraform Example:**
493
-
494
- ```hcl
495
- # Configure OCI Government provider
496
- provider "oci" {
497
- region = "us-langley-1"
498
- }
499
-
500
- # VCN (Virtual Cloud Network)
501
- resource "oci_core_vcn" "gov_vcn" {
502
- compartment_id = var.compartment_id
503
- cidr_block = "10.0.0.0/16"
504
- display_name = "govcloud-vcn"
505
- dns_label = "govvcn"
506
-
507
- freeform_tags = {
508
- "Classification" = "CUI"
509
- "Compliance" = "FedRAMP-High"
510
- }
511
- }
512
-
513
- # Subnet for application tier
514
- resource "oci_core_subnet" "app_subnet" {
515
- compartment_id = var.compartment_id
516
- vcn_id = oci_core_vcn.gov_vcn.id
517
- cidr_block = "10.0.1.0/24"
518
- display_name = "app-subnet"
519
-
520
- security_list_ids = [oci_core_security_list.app_security_list.id]
521
- }
522
-
523
- # Object Storage bucket (encrypted)
524
- resource "oci_objectstorage_bucket" "gov_bucket" {
525
- compartment_id = var.compartment_id
526
- namespace = data.oci_objectstorage_namespace.ns.namespace
527
- name = "govcloud-data"
528
- access_type = "NoPublicAccess"
529
-
530
- # Server-side encryption
531
- kms_key_id = oci_kms_key.gov_key.id
532
-
533
- freeform_tags = {
534
- "Classification" = "CUI"
535
- }
536
- }
537
-
538
- # Vault for key management
539
- resource "oci_kms_vault" "gov_vault" {
540
- compartment_id = var.compartment_id
541
- display_name = "govcloud-vault"
542
- vault_type = "DEFAULT"
543
- }
544
-
545
- # Encryption key (FIPS 140-2 Level 3)
546
- resource "oci_kms_key" "gov_key" {
547
- compartment_id = var.compartment_id
548
- display_name = "govcloud-encryption-key"
549
-
550
- key_shape {
551
- algorithm = "AES"
552
- length = 256
553
- }
554
-
555
- management_endpoint = oci_kms_vault.gov_vault.management_endpoint
556
- }
557
- ```
558
-
559
- ---
560
-
561
- ## Air-Gapped Environments
562
-
563
- **Air-gapped environments** are completely isolated networks with no connection to the internet or external networks.
564
-
565
- ### Architecture Patterns
566
-
567
- **1. Complete Air-Gap:**
568
-
569
- ```
570
- Air-Gapped Data Center:
571
- ┌─────────────────────────────────────────────────────┐
572
- │ Physical Security Perimeter │
573
- │ ┌─────────────────────────────────────────────┐ │
574
- │ │ Air-Gapped Network (TS/SCI) │ │
575
- │ │ │ │
576
- │ │ ┌──────────────┐ ┌──────────────┐ │ │
577
- │ │ │ Kubernetes │ │ Storage │ │ │
578
- │ │ │ Cluster │ │ - Ceph │ │ │
579
- │ │ │ - Rancher │ │ - MinIO │ │ │
580
- │ │ │ - RKE2 │ │ │ │ │
581
- │ │ └──────────────┘ └──────────────┘ │ │
582
- │ │ │ │
583
- │ │ ┌──────────────────────────────┐ │ │
584
- │ │ │ Data Diode (one-way transfer) │ │ │
585
- │ │ │ - Inbound ONLY │ │ │
586
- │ │ └─────────┬────────────────────┘ │ │
587
- │ └────────────┼─────────────────────────────────┘ │
588
- └───────────────┼─────────────────────────────────────┘
589
- │ (One-way data flow)
590
-
591
- ┌───────────────┴─────────────────────────────────────┐
592
- │ Lower Classification Network (Secret) │
593
- │ ┌──────────────────┐ │
594
- │ │ Staging Area │ │
595
- │ │ - Data validation│ │
596
- │ │ - Malware scan │ │
597
- │ └──────────────────┘ │
598
- └─────────────────────────────────────────────────────┘
599
- ```
600
-
601
- **2. Kubernetes in Air-Gapped Environment:**
602
-
603
- ```yaml
604
- # RKE2 configuration for air-gapped deployment
605
- # /etc/rancher/rke2/config.yaml
606
- ---
607
- write-kubeconfig-mode: "0644"
608
- tls-san:
609
- - "kubernetes.classified.local"
610
-
611
- # Use local registry for images
612
- system-default-registry: "registry.classified.local:5000"
613
-
614
- # Disable automatic updates
615
- disable:
616
- - rke2-ingress-nginx
617
-
618
- # Configure CNI
619
- cni:
620
- - calico
621
-
622
- # etcd configuration
623
- etcd-snapshot-schedule-cron: "0 */12 * * *"
624
- etcd-snapshot-retention: 14
625
- ```
626
-
627
- **3. Private Container Registry:**
628
-
629
- ```bash
630
- # Deploy Harbor registry in air-gapped environment
631
- cat <<EOF > harbor-values.yaml
632
- expose:
633
- type: nodePort
634
- tls:
635
- enabled: true
636
- certSource: secret
637
- secret:
638
- secretName: harbor-tls
639
- notarySecretName: notary-tls
640
-
641
- externalURL: https://registry.classified.local
642
-
643
- persistence:
644
- enabled: true
645
- persistentVolumeClaim:
646
- registry:
647
- storageClass: "local-storage"
648
- size: 500Gi
649
- database:
650
- storageClass: "local-storage"
651
- size: 10Gi
652
-
653
- # Disable internet connectivity
654
- portal:
655
- replicas: 2
656
- core:
657
- replicas: 2
658
- registry:
659
- replicas: 2
660
- EOF
661
-
662
- # Install Harbor
663
- helm install harbor harbor/harbor \
664
- -n harbor \
665
- --create-namespace \
666
- -f harbor-values.yaml
667
- ```
668
-
669
- **4. Software Updates (Sneakernet):**
670
-
671
- ```bash
672
- #!/bin/bash
673
- # update-airgap.sh - Process for updating air-gapped environment
674
-
675
- # Step 1: On internet-connected system, download images
676
- docker pull docker.io/library/nginx:1.25
677
- docker pull quay.io/prometheus/prometheus:v2.45.0
678
-
679
- # Step 2: Save images to tarball
680
- docker save -o airgap-images.tar \
681
- docker.io/library/nginx:1.25 \
682
- quay.io/prometheus/prometheus:v2.45.0
683
-
684
- # Step 3: Virus scan and validation
685
- clamscan airgap-images.tar
686
- sha256sum airgap-images.tar > airgap-images.tar.sha256
687
-
688
- # Step 4: Transfer via physical media (USB, DVD)
689
- # Requires two-person integrity for classified transfers
690
-
691
- # Step 5: On air-gapped system, verify and load
692
- sha256sum -c airgap-images.tar.sha256
693
- docker load -i airgap-images.tar
694
-
695
- # Step 6: Tag and push to internal registry
696
- docker tag docker.io/library/nginx:1.25 registry.classified.local:5000/nginx:1.25
697
- docker push registry.classified.local:5000/nginx:1.25
698
- ```
699
-
700
- ---
701
-
702
- ## On-Premises Classified Networks
703
-
704
- **On-premises classified networks** include NIPRNET, SIPRNET, and JWICS for different classification levels.
705
-
706
- ### Network Types
707
-
708
- | Network | Classification | Access |
709
- |---------|----------------|--------|
710
- | NIPRNET | Unclassified | DoD users |
711
- | SIPRNET | Secret | Secret clearance required |
712
- | JWICS | Top Secret/SCI | TS/SCI clearance required |
713
-
714
- ### Architecture Example
715
-
716
- ```
717
- Cross-Domain Solution (CDS):
718
- ┌─────────────────────────────────────────────────────┐
719
- │ JWICS (Top Secret/SCI) │
720
- │ ┌──────────────────┐ │
721
- │ │ TS/SCI Workloads │ │
722
- │ └────────┬─────────┘ │
723
- └───────────┼─────────────────────────────────────────┘
724
-
725
- ↓ Trusted Guard (CDS)
726
- ┌───────────┴─────────────────────────────────────────┐
727
- │ SIPRNET (Secret) │
728
- │ ┌──────────────────┐ │
729
- │ │ Secret Workloads │ │
730
- │ └────────┬─────────┘ │
731
- └───────────┼─────────────────────────────────────────┘
732
-
733
- ↓ CDS with Content Filtering
734
- ┌───────────┴─────────────────────────────────────────┐
735
- │ NIPRNET (Unclassified) │
736
- │ ┌──────────────────┐ │
737
- │ │ Unclass Workloads│ │
738
- │ └──────────────────┘ │
739
- └─────────────────────────────────────────────────────┘
740
- ```
741
-
742
- ---
743
-
744
- ## Compliance Requirements
745
-
746
- ### FedRAMP Requirements by Impact Level
747
-
748
- | Requirement | FedRAMP Low | FedRAMP Moderate | FedRAMP High |
749
- |-------------|-------------|------------------|--------------|
750
- | NIST 800-53 Controls | 125+ | 325+ | 421+ |
751
- | Data Location | U.S. | U.S. | U.S. |
752
- | Personnel Screening | Basic | Moderate | High |
753
- | Incident Response | 1 hour | 1 hour | 1 hour |
754
- | Continuous Monitoring | Required | Required | Required |
755
-
756
- ### DoD Impact Levels
757
-
758
- | Impact Level | Classification | Environment | Personnel |
759
- |--------------|----------------|-------------|-----------|
760
- | IL2 | Unclassified | Commercial cloud | U.S. persons |
761
- | IL4 | CUI | GovCloud/Gov regions | U.S. citizens |
762
- | IL5 | CUI | Dedicated Gov regions | Cleared personnel |
763
- | IL6 | Secret | DoD regions | Secret clearance |
764
-
765
- ### CMMC Levels
766
-
767
- ```
768
- CMMC 2.0 Levels:
769
- ┌─────────────────────────────────────────────────────┐
770
- │ Level 1: Foundational (17 practices) │
771
- │ - Basic cyber hygiene │
772
- │ - Self-assessment │
773
- │ - For unclassified, non-CUI │
774
- └─────────────────────────────────────────────────────┘
775
-
776
- ┌─────────────────────────────────────────────────────┐
777
- │ Level 2: Advanced (110 practices - NIST 800-171) │
778
- │ - Protection of CUI │
779
- │ - Self or C3PAO assessment │
780
- │ - Required for CUI contracts │
781
- └─────────────────────────────────────────────────────┘
782
-
783
- ┌─────────────────────────────────────────────────────┐
784
- │ Level 3: Expert (110+ practices - subset 800-172) │
785
- │ - Advanced persistent threats (APT) │
786
- │ - C3PAO assessment required │
787
- │ - Critical national security programs │
788
- └─────────────────────────────────────────────────────┘
789
- ```
790
-
791
- ---
792
-
793
- ## Best Practices
794
-
795
- ### 1. Environment Selection
796
-
797
- **Decision Matrix:**
798
-
799
- | Workload Type | Recommended Environment |
800
- |---------------|------------------------|
801
- | Unclassified public data | Commercial cloud (AWS, Azure, GCP) |
802
- | CUI (NIST 800-171) | GovCloud, Azure Gov, Assured Workloads |
803
- | Secret (DoD IL6) | Azure Gov DoD, AWS Secret Region |
804
- | Top Secret/SCI | Air-gapped or on-premises classified |
805
-
806
- ### 2. Data Classification
807
-
808
- ```bash
809
- # Tag all resources with classification
810
- # Terraform example:
811
- locals {
812
- required_tags = {
813
- Classification = "CUI"
814
- DataOwner = "security@agency.gov"
815
- Compliance = "NIST-800-171"
816
- RetentionYears = "7"
817
- }
818
- }
819
- ```
820
-
821
- ### 3. Network Isolation
822
-
823
- ```yaml
824
- # Kubernetes NetworkPolicy for classified workloads
825
- apiVersion: networking.k8s.io/v1
826
- kind: NetworkPolicy
827
- metadata:
828
- name: classified-isolation
829
- namespace: secret-workloads
830
- spec:
831
- podSelector: {}
832
- policyTypes:
833
- - Ingress
834
- - Egress
835
- ingress:
836
- - from:
837
- - namespaceSelector:
838
- matchLabels:
839
- classification: secret
840
- egress:
841
- - to:
842
- - namespaceSelector:
843
- matchLabels:
844
- classification: secret
845
- # NO internet egress allowed
846
- ```
847
-
848
- ### 4. Encryption Requirements
849
-
850
- ```
851
- Encryption Standards by Classification:
852
- ┌─────────────────────────────────────────────────────┐
853
- │ Unclassified: AES-256, TLS 1.2+ │
854
- │ CUI: FIPS 140-2 validated, AES-256, TLS 1.3 │
855
- │ Secret: FIPS 140-2 Level 3+, Suite B cryptography │
856
- │ Top Secret: NSA-approved, Type 1 encryption │
857
- └─────────────────────────────────────────────────────┘
858
- ```
859
-
860
- ### 5. Access Control
861
-
862
- ```bash
863
- # Enforce CAC/PIV authentication
864
- # Azure Government example
865
- az ad sp create-for-rbac \
866
- --name "GovCloudApp" \
867
- --role Contributor \
868
- --scopes /subscriptions/{subscription-id}
869
-
870
- # Require MFA for all accounts
871
- az ad user update \
872
- --id user@agency.gov \
873
- --force-change-password-next-login true
874
- ```
875
-
876
- ---
877
-
878
- ## Anti-Patterns
879
-
880
- ### ❌ Anti-Pattern: Using Commercial Regions for CUI
881
-
882
- **Problem:**
883
- ```hcl
884
- # WRONG: Storing CUI in commercial AWS region
885
- provider "aws" {
886
- region = "us-east-1" # Commercial region
887
- }
888
-
889
- resource "aws_s3_bucket" "cui_data" {
890
- bucket = "cui-data-bucket"
891
- # This violates FedRAMP requirements!
892
- }
893
- ```
894
-
895
- **✅ Correct Approach:**
896
- ```hcl
897
- # CORRECT: Use GovCloud for CUI
898
- provider "aws" {
899
- region = "us-gov-west-1"
900
- profile = "govcloud"
901
- }
902
-
903
- resource "aws_s3_bucket" "cui_data" {
904
- bucket = "cui-data-govcloud-bucket"
905
-
906
- tags = {
907
- Classification = "CUI"
908
- Compliance = "NIST-800-171"
909
- }
910
- }
911
- ```
912
-
913
- ### ❌ Anti-Pattern: Internet Connectivity in Air-Gapped
914
-
915
- **Problem:**
916
- ```yaml
917
- # WRONG: Allowing internet egress in air-gapped cluster
918
- apiVersion: networking.k8s.io/v1
919
- kind: NetworkPolicy
920
- metadata:
921
- name: allow-all
922
- spec:
923
- podSelector: {}
924
- policyTypes:
925
- - Egress
926
- egress:
927
- - {} # Allows all egress traffic!
928
- ```
929
-
930
- **✅ Correct Approach:**
931
- ```yaml
932
- # CORRECT: Strict network isolation
933
- apiVersion: networking.k8s.io/v1
934
- kind: NetworkPolicy
935
- metadata:
936
- name: deny-all-default
937
- spec:
938
- podSelector: {}
939
- policyTypes:
940
- - Ingress
941
- - Egress
942
- # Explicitly NO ingress or egress rules = deny all
943
- ```
944
-
945
- ### ❌ Anti-Pattern: Mixing Classification Levels
946
-
947
- **Problem:**
948
- ```
949
- WRONG: Hosting Secret and Unclassified in same cluster
950
- ┌─────────────────────────────────────┐
951
- │ Kubernetes Cluster │
952
- │ ┌────────────┐ ┌────────────┐ │
953
- │ │ Namespace │ │ Namespace │ │
954
- │ │ (Secret) │ │ (Unclass) │ │
955
- │ └────────────┘ └────────────┘ │
956
- │ ↑ ↑ │
957
- │ └──────┬───────┘ │
958
- │ │ Same network! │
959
- └────────────────┼─────────────────────┘
960
- ```
961
-
962
- **✅ Correct Approach:**
963
- ```
964
- CORRECT: Separate clusters by classification
965
- ┌─────────────────────────────────────┐
966
- │ Secret Cluster (GovCloud DoD) │
967
- │ ┌────────────┐ │
968
- │ │ Secret │ │
969
- │ │ Workloads │ │
970
- │ └────────────┘ │
971
- └─────────────────────────────────────┘
972
-
973
- ┌─────────────────────────────────────┐
974
- │ Unclass Cluster (GovCloud) │
975
- │ ┌────────────┐ │
976
- │ │ Unclass │ │
977
- │ │ Workloads │ │
978
- │ └────────────┘ │
979
- └─────────────────────────────────────┘
980
- ```
981
-
982
- ---
983
-
984
- **Related Resources:**
985
- - [cloud-security.md](cloud-security.md) - Encryption, IAM, compliance controls
986
- - [cloud-networking.md](cloud-networking.md) - VPC design, isolation patterns
987
- - [migration-strategies.md](migration-strategies.md) - Migrating to government clouds