blockmine 1.21.0 → 1.23.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 (492) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +59 -0
  55. package/.claude/settings.local.json +36 -14
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +102 -42
  255. package/CLAUDE.md +284 -0
  256. package/README.md +315 -71
  257. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  258. package/backend/jest.config.js +59 -0
  259. package/backend/package-lock.json +6801 -0
  260. package/backend/package.json +24 -4
  261. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  262. package/backend/prisma/migrations/20251116111851_add_execution_trace/migration.sql +22 -0
  263. package/backend/prisma/migrations/20251120154914_add_panel_api_keys/migration.sql +21 -0
  264. package/backend/prisma/migrations/20251121110241_add_proxy_table/migration.sql +45 -0
  265. package/backend/prisma/migrations/migration_lock.toml +2 -2
  266. package/backend/prisma/schema.prisma +103 -1
  267. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  268. package/backend/src/__tests__/core/UserService.test.js +875 -0
  269. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  270. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  271. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  272. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  273. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  274. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  275. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  276. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  277. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  278. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  279. package/backend/src/__tests__/services/BotLifecycleService.test.js +416 -0
  280. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  281. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  282. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  283. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  284. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  285. package/backend/src/__tests__/setup.js +25 -0
  286. package/backend/src/ai/plugin-assistant-system-prompt.md +788 -0
  287. package/backend/src/api/middleware/auth.js +27 -0
  288. package/backend/src/api/middleware/botAccess.js +7 -3
  289. package/backend/src/api/middleware/panelApiAuth.js +135 -0
  290. package/backend/src/api/routes/aiAssistant.js +995 -0
  291. package/backend/src/api/routes/apiKeys.js +181 -0
  292. package/backend/src/api/routes/auth.js +669 -633
  293. package/backend/src/api/routes/botCommands.js +107 -0
  294. package/backend/src/api/routes/botGroups.js +165 -0
  295. package/backend/src/api/routes/botHistory.js +108 -0
  296. package/backend/src/api/routes/botPermissions.js +99 -0
  297. package/backend/src/api/routes/botStatus.js +36 -0
  298. package/backend/src/api/routes/botUsers.js +162 -0
  299. package/backend/src/api/routes/bots.js +2451 -2360
  300. package/backend/src/api/routes/eventGraphs.js +4 -1
  301. package/backend/src/api/routes/logs.js +13 -3
  302. package/backend/src/api/routes/panel.js +66 -66
  303. package/backend/src/api/routes/panelApiKeys.js +179 -0
  304. package/backend/src/api/routes/pluginIde.js +1715 -135
  305. package/backend/src/api/routes/plugins.js +376 -218
  306. package/backend/src/api/routes/proxies.js +130 -0
  307. package/backend/src/api/routes/search.js +4 -0
  308. package/backend/src/api/routes/servers.js +20 -3
  309. package/backend/src/api/routes/settings.js +5 -0
  310. package/backend/src/api/routes/system.js +174 -0
  311. package/backend/src/api/routes/traces.js +131 -0
  312. package/backend/src/config/debug.config.js +36 -0
  313. package/backend/src/container.js +82 -0
  314. package/backend/src/core/BotHistoryStore.js +180 -0
  315. package/backend/src/core/BotManager.js +149 -868
  316. package/backend/src/core/BotManager.old.js +1093 -0
  317. package/backend/src/core/BotProcess.js +850 -191
  318. package/backend/src/core/EventGraphManager.js +194 -198
  319. package/backend/src/core/GraphExecutionEngine.js +709 -57
  320. package/backend/src/core/MessageQueue.js +39 -12
  321. package/backend/src/core/NodeRegistry.js +37 -1134
  322. package/backend/src/core/PluginLoader.js +99 -5
  323. package/backend/src/core/PluginManager.js +126 -15
  324. package/backend/src/core/PrismaService.js +32 -0
  325. package/backend/src/core/TaskScheduler.js +1 -1
  326. package/backend/src/core/UserService.js +3 -3
  327. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  328. package/backend/src/core/commands/README.md +305 -0
  329. package/backend/src/core/commands/dev.js +13 -7
  330. package/backend/src/core/commands/ping.js +10 -4
  331. package/backend/src/core/commands/whois.js +63 -0
  332. package/backend/src/core/config/validation.js +27 -0
  333. package/backend/src/core/constants/graphTypes.js +21 -0
  334. package/backend/src/core/node-registries/actions.js +202 -0
  335. package/backend/src/core/node-registries/arrays.js +155 -0
  336. package/backend/src/core/node-registries/bot.js +23 -0
  337. package/backend/src/core/node-registries/data.js +290 -0
  338. package/backend/src/core/node-registries/debug.js +26 -0
  339. package/backend/src/core/node-registries/events.js +201 -0
  340. package/backend/src/core/node-registries/flow.js +139 -0
  341. package/backend/src/core/node-registries/logic.js +62 -0
  342. package/backend/src/core/node-registries/math.js +42 -0
  343. package/backend/src/core/node-registries/objects.js +98 -0
  344. package/backend/src/core/node-registries/strings.js +187 -0
  345. package/backend/src/core/node-registries/time.js +113 -0
  346. package/backend/src/core/node-registries/type.js +25 -0
  347. package/backend/src/core/node-registries/users.js +79 -0
  348. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  349. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  350. package/backend/src/core/nodes/actions/create_command.js +189 -0
  351. package/backend/src/core/nodes/actions/delete_command.js +92 -0
  352. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  353. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  354. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  355. package/backend/src/core/nodes/actions/update_command.js +133 -0
  356. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  357. package/backend/src/core/nodes/arrays/join.js +28 -0
  358. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +10 -1
  359. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  360. package/backend/src/core/nodes/data/entity_info.js +69 -0
  361. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  362. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  363. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  364. package/backend/src/core/nodes/data/type_check.js +53 -0
  365. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  366. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  367. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  368. package/backend/src/core/nodes/flow/delay.js +43 -0
  369. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  370. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  371. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  372. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  373. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  374. package/backend/src/core/nodes/logic/not.js +22 -0
  375. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  376. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  377. package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +1 -1
  378. package/backend/src/core/nodes/strings/to_lower.js +22 -0
  379. package/backend/src/core/nodes/strings/to_upper.js +22 -0
  380. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  381. package/backend/src/core/nodes/time/add.js +33 -0
  382. package/backend/src/core/nodes/time/compare.js +35 -0
  383. package/backend/src/core/nodes/time/diff.js +29 -0
  384. package/backend/src/core/nodes/time/format.js +32 -0
  385. package/backend/src/core/nodes/time/now.js +18 -0
  386. package/backend/src/core/nodes/type/to_string.js +32 -0
  387. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  388. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  389. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  390. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  391. package/backend/src/core/services/BotLifecycleService.js +835 -0
  392. package/backend/src/core/services/BotProcessManager.js +163 -0
  393. package/backend/src/core/services/CacheManager.js +111 -0
  394. package/backend/src/core/services/CommandExecutionService.js +430 -0
  395. package/backend/src/core/services/DebugSessionManager.js +347 -0
  396. package/backend/src/core/services/GraphCollaborationManager.js +501 -0
  397. package/backend/src/core/services/MinecraftBotManager.js +259 -0
  398. package/backend/src/core/services/MinecraftViewerService.js +216 -0
  399. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  400. package/backend/src/core/services/TelemetryService.js +124 -0
  401. package/backend/src/core/services/TraceCollectorService.js +545 -0
  402. package/backend/src/core/services/ValidationService.js +132 -0
  403. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  404. package/backend/src/core/services.js +20 -5
  405. package/backend/src/core/system/CommandContext.js +84 -0
  406. package/backend/src/core/system/RuntimeCommandRegistry.js +116 -0
  407. package/backend/src/core/system/Transport.js +74 -0
  408. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  409. package/backend/src/core/utils/jsonParser.js +18 -0
  410. package/backend/src/core/utils/secretsFilter.js +262 -0
  411. package/backend/src/core/utils/variableParser.js +89 -0
  412. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  413. package/backend/src/core/validation/nodeSchemas.js +112 -0
  414. package/backend/src/lib/prisma.js +2 -4
  415. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  416. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  417. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  418. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  419. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  420. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  421. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  422. package/backend/src/real-time/botApi/index.js +40 -0
  423. package/backend/src/real-time/botApi/middleware.js +79 -0
  424. package/backend/src/real-time/botApi/utils.js +65 -0
  425. package/backend/src/real-time/panelNamespace.js +387 -0
  426. package/backend/src/real-time/presence.js +7 -2
  427. package/backend/src/real-time/socketHandler.js +400 -5
  428. package/backend/src/repositories/BaseRepository.js +43 -0
  429. package/backend/src/repositories/BotRepository.js +42 -0
  430. package/backend/src/repositories/CommandRepository.js +53 -0
  431. package/backend/src/repositories/EventGraphRepository.js +40 -0
  432. package/backend/src/repositories/GroupRepository.js +69 -0
  433. package/backend/src/repositories/PermissionRepository.js +48 -0
  434. package/backend/src/repositories/PluginRepository.js +42 -0
  435. package/backend/src/repositories/ServerRepository.js +27 -0
  436. package/backend/src/repositories/UserRepository.js +48 -0
  437. package/backend/src/server.js +21 -0
  438. package/backend/src/test-refactor.js +85 -0
  439. package/frontend/dist/assets/index-B1serztM.js +11210 -0
  440. package/frontend/dist/assets/index-t6K1u4OV.css +32 -0
  441. package/frontend/dist/index.html +2 -2
  442. package/frontend/package-lock.json +9437 -0
  443. package/frontend/package.json +8 -5
  444. package/package.json +3 -2
  445. package/screen/console.png +0 -0
  446. package/screen/dashboard.png +0 -0
  447. package/screen/graph_collabe.png +0 -0
  448. package/screen/graph_live_debug.png +0 -0
  449. package/screen/management_command.png +0 -0
  450. package/screen/node_debug_trace.png +0 -0
  451. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  452. package/screen/websocket.png +0 -0
  453. 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
  454. 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
  455. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  456. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  457. package/nul +0 -0
  458. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  459. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  460. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  461. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  462. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  463. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  464. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  465. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  466. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  467. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  468. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  469. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  470. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  471. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  472. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  473. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  474. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  475. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  476. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  477. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  478. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  479. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  480. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  481. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  482. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  483. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  484. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  485. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  486. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  487. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  488. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  489. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  490. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  491. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  492. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
@@ -0,0 +1,672 @@
1
+ # Linux Administration
2
+
3
+ Comprehensive guide to Linux system administration covering systemd, user management, package management, file systems, and system operations.
4
+
5
+ ## systemd Service Management
6
+
7
+ ### Creating Custom Services
8
+
9
+ **Example: Node.js Application Service:**
10
+ ```ini
11
+ # /etc/systemd/system/myapp.service
12
+ [Unit]
13
+ Description=My Node.js Application
14
+ After=network.target
15
+ Wants=network-online.target
16
+
17
+ [Service]
18
+ Type=simple
19
+ User=appuser
20
+ Group=appuser
21
+ WorkingDirectory=/opt/myapp
22
+ Environment="NODE_ENV=production"
23
+ Environment="PORT=3000"
24
+ EnvironmentFile=/etc/myapp/config
25
+
26
+ # Main process
27
+ ExecStart=/usr/bin/node /opt/myapp/server.js
28
+
29
+ # Restart policy
30
+ Restart=always
31
+ RestartSec=10
32
+ StartLimitInterval=60
33
+ StartLimitBurst=3
34
+
35
+ # Resource limits
36
+ MemoryLimit=512M
37
+ CPUQuota=50%
38
+
39
+ # Security
40
+ NoNewPrivileges=true
41
+ PrivateTmp=true
42
+ ProtectSystem=strict
43
+ ProtectHome=true
44
+ ReadWritePaths=/var/log/myapp
45
+
46
+ # Logging
47
+ StandardOutput=journal
48
+ StandardError=journal
49
+ SyslogIdentifier=myapp
50
+
51
+ [Install]
52
+ WantedBy=multi-user.target
53
+ ```
54
+
55
+ **Service Management Commands:**
56
+ ```bash
57
+ # Reload systemd after creating/editing service
58
+ sudo systemctl daemon-reload
59
+
60
+ # Start and enable service
61
+ sudo systemctl start myapp
62
+ sudo systemctl enable myapp
63
+
64
+ # Check status
65
+ sudo systemctl status myapp
66
+
67
+ # View logs
68
+ journalctl -u myapp -f
69
+ journalctl -u myapp --since "1 hour ago"
70
+ journalctl -u myapp --since "2024-01-01" --until "2024-01-31"
71
+
72
+ # Restart service
73
+ sudo systemctl restart myapp
74
+
75
+ # Reload configuration without restart
76
+ sudo systemctl reload myapp
77
+ ```
78
+
79
+ ### Timer Units (Cron Alternative)
80
+
81
+ **Backup Timer Example:**
82
+ ```ini
83
+ # /etc/systemd/system/backup.timer
84
+ [Unit]
85
+ Description=Daily backup timer
86
+ Requires=backup.service
87
+
88
+ [Timer]
89
+ OnCalendar=daily
90
+ OnCalendar=02:00
91
+ Persistent=true
92
+ RandomizedDelaySec=30min
93
+
94
+ [Install]
95
+ WantedBy=timers.target
96
+ ```
97
+
98
+ **Backup Service:**
99
+ ```ini
100
+ # /etc/systemd/system/backup.service
101
+ [Unit]
102
+ Description=Backup service
103
+ Wants=network-online.target
104
+ After=network-online.target
105
+
106
+ [Service]
107
+ Type=oneshot
108
+ ExecStart=/usr/local/bin/backup.sh
109
+ User=backup
110
+ Group=backup
111
+ ```
112
+
113
+ **Enable Timer:**
114
+ ```bash
115
+ sudo systemctl enable backup.timer
116
+ sudo systemctl start backup.timer
117
+ sudo systemctl list-timers
118
+ ```
119
+
120
+ ## User and Group Management
121
+
122
+ ### Creating Users
123
+
124
+ ```bash
125
+ # Create user with home directory
126
+ sudo useradd -m -s /bin/bash -c "Application User" appuser
127
+
128
+ # Create system user (no home, no login)
129
+ sudo useradd -r -s /usr/sbin/nologin -c "Service Account" serviceuser
130
+
131
+ # Set password
132
+ sudo passwd appuser
133
+
134
+ # Create user with specific UID
135
+ sudo useradd -u 1500 -m -s /bin/bash customuser
136
+
137
+ # Add user to group
138
+ sudo usermod -aG sudo appuser
139
+ sudo usermod -aG docker appuser
140
+
141
+ # Lock/unlock user account
142
+ sudo usermod -L appuser # Lock
143
+ sudo usermod -U appuser # Unlock
144
+
145
+ # Delete user
146
+ sudo userdel -r appuser # -r removes home directory
147
+ ```
148
+
149
+ ### Group Management
150
+
151
+ ```bash
152
+ # Create group
153
+ sudo groupadd developers
154
+ sudo groupadd -g 2000 customgroup
155
+
156
+ # Add user to group
157
+ sudo gpasswd -a username groupname
158
+ sudo usermod -aG groupname username
159
+
160
+ # Remove user from group
161
+ sudo gpasswd -d username groupname
162
+
163
+ # List user's groups
164
+ groups username
165
+ id username
166
+
167
+ # Delete group
168
+ sudo groupdel groupname
169
+ ```
170
+
171
+ ### SSH Key Management
172
+
173
+ ```bash
174
+ # Generate SSH key
175
+ ssh-keygen -t ed25519 -C "user@example.com"
176
+ ssh-keygen -t rsa -b 4096 -C "user@example.com"
177
+
178
+ # Copy key to server
179
+ ssh-copy-id user@server
180
+ # Or manually:
181
+ cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
182
+
183
+ # Set proper permissions
184
+ chmod 700 ~/.ssh
185
+ chmod 600 ~/.ssh/authorized_keys
186
+
187
+ # SSH config for easy access
188
+ cat > ~/.ssh/config <<EOF
189
+ Host production
190
+ HostName prod.example.com
191
+ User deploy
192
+ Port 22
193
+ IdentityFile ~/.ssh/production_key
194
+
195
+ Host staging
196
+ HostName staging.example.com
197
+ User deploy
198
+ ProxyJump bastion.example.com
199
+ EOF
200
+
201
+ chmod 600 ~/.ssh/config
202
+ ```
203
+
204
+ ## Package Management
205
+
206
+ ### apt (Debian/Ubuntu)
207
+
208
+ ```bash
209
+ # Update package index
210
+ sudo apt update
211
+
212
+ # Upgrade all packages
213
+ sudo apt upgrade
214
+ sudo apt full-upgrade # More aggressive
215
+
216
+ # Search for packages
217
+ apt search nginx
218
+ apt-cache search nginx
219
+
220
+ # Install package
221
+ sudo apt install nginx
222
+
223
+ # Install specific version
224
+ sudo apt install nginx=1.18.0-0ubuntu1
225
+
226
+ # Remove package
227
+ sudo apt remove nginx
228
+ sudo apt purge nginx # Also removes config files
229
+
230
+ # Clean up
231
+ sudo apt autoremove
232
+ sudo apt autoclean
233
+
234
+ # Show package information
235
+ apt show nginx
236
+ apt-cache policy nginx
237
+
238
+ # List installed packages
239
+ apt list --installed
240
+ dpkg -l
241
+
242
+ # Hold package version
243
+ sudo apt-mark hold nginx
244
+ sudo apt-mark unhold nginx
245
+ ```
246
+
247
+ ### yum/dnf (RHEL/CentOS)
248
+
249
+ ```bash
250
+ # Update system
251
+ sudo yum update
252
+ sudo dnf update # dnf on newer systems
253
+
254
+ # Search packages
255
+ yum search nginx
256
+ dnf search nginx
257
+
258
+ # Install package
259
+ sudo yum install nginx
260
+ sudo dnf install nginx
261
+
262
+ # Install specific version
263
+ sudo yum install nginx-1.18.0
264
+
265
+ # Remove package
266
+ sudo yum remove nginx
267
+ sudo dnf remove nginx
268
+
269
+ # List installed
270
+ yum list installed
271
+ dnf list installed
272
+
273
+ # Show package info
274
+ yum info nginx
275
+ dnf info nginx
276
+
277
+ # Clean cache
278
+ sudo yum clean all
279
+ sudo dnf clean all
280
+
281
+ # Enable/disable repository
282
+ sudo yum-config-manager --enable epel
283
+ sudo dnf config-manager --set-enabled epel
284
+ ```
285
+
286
+ ### snap (Universal Packages)
287
+
288
+ ```bash
289
+ # Install snap
290
+ sudo apt install snapd
291
+
292
+ # Search snaps
293
+ snap find name
294
+
295
+ # Install snap
296
+ sudo snap install --classic code
297
+
298
+ # List installed snaps
299
+ snap list
300
+
301
+ # Update snaps
302
+ sudo snap refresh
303
+ sudo snap refresh code
304
+
305
+ # Remove snap
306
+ sudo snap remove code
307
+
308
+ # View snap info
309
+ snap info code
310
+ ```
311
+
312
+ ## File Systems
313
+
314
+ ### ext4 File System
315
+
316
+ ```bash
317
+ # Create ext4 filesystem
318
+ sudo mkfs.ext4 /dev/sdb1
319
+
320
+ # Create with label
321
+ sudo mkfs.ext4 -L "data_volume" /dev/sdb1
322
+
323
+ # Check filesystem
324
+ sudo fsck.ext4 /dev/sdb1
325
+ sudo e2fsck -f /dev/sdb1
326
+
327
+ # Resize filesystem
328
+ sudo resize2fs /dev/sdb1
329
+
330
+ # View filesystem info
331
+ sudo dumpe2fs /dev/sdb1
332
+ sudo tune2fs -l /dev/sdb1
333
+
334
+ # Set reserved blocks
335
+ sudo tune2fs -m 1 /dev/sdb1 # Reserve 1% for root
336
+ ```
337
+
338
+ ### XFS File System
339
+
340
+ ```bash
341
+ # Create XFS filesystem
342
+ sudo mkfs.xfs /dev/sdb1
343
+
344
+ # Create with label
345
+ sudo mkfs.xfs -L "data_volume" /dev/sdb1
346
+
347
+ # Check XFS filesystem
348
+ sudo xfs_repair /dev/sdb1
349
+
350
+ # Grow XFS (cannot shrink!)
351
+ sudo xfs_growfs /mount/point
352
+
353
+ # View info
354
+ sudo xfs_info /dev/sdb1
355
+ ```
356
+
357
+ ### Mount Management
358
+
359
+ **Permanent Mounts (/etc/fstab):**
360
+ ```bash
361
+ # /etc/fstab
362
+ # <device> <mount point> <type> <options> <dump> <pass>
363
+ UUID=xxx-xxx-xxx /data ext4 defaults,noatime 0 2
364
+ /dev/sdb1 /backup xfs defaults,noatime,nodiratime 0 2
365
+ //server/share /mnt/share cifs credentials=/root/.smbcreds 0 0
366
+ nfs-server:/export /mnt/nfs nfs defaults,soft,timeo=30 0 0
367
+ ```
368
+
369
+ **Mount Commands:**
370
+ ```bash
371
+ # Mount filesystem
372
+ sudo mount /dev/sdb1 /mnt
373
+
374
+ # Mount with options
375
+ sudo mount -o noatime,nodiratime /dev/sdb1 /mnt
376
+
377
+ # Mount all in fstab
378
+ sudo mount -a
379
+
380
+ # Unmount
381
+ sudo umount /mnt
382
+ sudo umount -l /mnt # Lazy unmount
383
+
384
+ # Show mounted filesystems
385
+ mount
386
+ df -h
387
+ findmnt
388
+
389
+ # Get UUID
390
+ sudo blkid /dev/sdb1
391
+ lsblk -f
392
+ ```
393
+
394
+ ## Boot Process
395
+
396
+ ### GRUB Configuration
397
+
398
+ ```bash
399
+ # Edit GRUB config
400
+ sudo vim /etc/default/grub
401
+
402
+ # Example changes:
403
+ GRUB_TIMEOUT=5
404
+ GRUB_CMDLINE_LINUX="quiet splash"
405
+ GRUB_CMDLINE_LINUX="nomodeset" # For graphics issues
406
+
407
+ # Update GRUB
408
+ sudo update-grub # Debian/Ubuntu
409
+ sudo grub2-mkconfig -o /boot/grub2/grub.cfg # RHEL/CentOS
410
+
411
+ # Set default boot entry
412
+ sudo grub-set-default 0
413
+ ```
414
+
415
+ ### systemd Boot Targets
416
+
417
+ ```bash
418
+ # View current target
419
+ systemctl get-default
420
+
421
+ # Change default target
422
+ sudo systemctl set-default multi-user.target # Text mode
423
+ sudo systemctl set-default graphical.target # GUI mode
424
+
425
+ # Switch target (without reboot)
426
+ sudo systemctl isolate multi-user.target
427
+
428
+ # List all targets
429
+ systemctl list-units --type=target
430
+ ```
431
+
432
+ ## Kernel Management
433
+
434
+ ### Kernel Tuning (sysctl)
435
+
436
+ ```bash
437
+ # View all parameters
438
+ sysctl -a
439
+
440
+ # View specific parameter
441
+ sysctl net.ipv4.ip_forward
442
+
443
+ # Set temporarily
444
+ sudo sysctl -w net.ipv4.ip_forward=1
445
+
446
+ # Persistent configuration
447
+ sudo vim /etc/sysctl.d/99-custom.conf
448
+ ```
449
+
450
+ **Common Kernel Parameters:**
451
+ ```bash
452
+ # /etc/sysctl.d/99-performance.conf
453
+
454
+ # Network performance
455
+ net.core.rmem_max = 134217728
456
+ net.core.wmem_max = 134217728
457
+ net.ipv4.tcp_rmem = 4096 87380 134217728
458
+ net.ipv4.tcp_wmem = 4096 65536 134217728
459
+
460
+ # Connection tracking
461
+ net.netfilter.nf_conntrack_max = 1000000
462
+ net.nf_conntrack_max = 1000000
463
+
464
+ # File descriptors
465
+ fs.file-max = 2097152
466
+
467
+ # Swappiness
468
+ vm.swappiness = 10
469
+
470
+ # Disk I/O
471
+ vm.dirty_ratio = 15
472
+ vm.dirty_background_ratio = 5
473
+
474
+ # Apply changes
475
+ sudo sysctl -p /etc/sysctl.d/99-performance.conf
476
+ ```
477
+
478
+ ### Kernel Modules
479
+
480
+ ```bash
481
+ # List loaded modules
482
+ lsmod
483
+
484
+ # Load module
485
+ sudo modprobe module_name
486
+
487
+ # Unload module
488
+ sudo modprobe -r module_name
489
+
490
+ # Module info
491
+ modinfo module_name
492
+
493
+ # Persistent module loading
494
+ echo "module_name" | sudo tee -a /etc/modules
495
+
496
+ # Blacklist module
497
+ echo "blacklist module_name" | sudo tee -a /etc/modprobe.d/blacklist.conf
498
+ ```
499
+
500
+ ## Log Management
501
+
502
+ ### journalctl (systemd logs)
503
+
504
+ ```bash
505
+ # View all logs
506
+ journalctl
507
+
508
+ # Follow logs
509
+ journalctl -f
510
+
511
+ # View specific unit
512
+ journalctl -u nginx.service
513
+
514
+ # Since/until
515
+ journalctl --since "2024-01-01 00:00:00"
516
+ journalctl --since "1 hour ago"
517
+ journalctl --until "2024-01-31 23:59:59"
518
+
519
+ # Priority filtering
520
+ journalctl -p err # Errors only
521
+ journalctl -p warning # Warnings and above
522
+
523
+ # Boot logs
524
+ journalctl -b # Current boot
525
+ journalctl -b -1 # Previous boot
526
+ journalctl --list-boots
527
+
528
+ # Show last N lines
529
+ journalctl -n 100
530
+
531
+ # Output format
532
+ journalctl -o json-pretty
533
+
534
+ # Clear old logs
535
+ sudo journalctl --vacuum-time=7d
536
+ sudo journalctl --vacuum-size=500M
537
+ ```
538
+
539
+ ### Log Rotation
540
+
541
+ ```bash
542
+ # /etc/logrotate.d/myapp
543
+ /var/log/myapp/*.log {
544
+ daily
545
+ rotate 14
546
+ compress
547
+ delaycompress
548
+ notifempty
549
+ create 0640 appuser appuser
550
+ sharedscripts
551
+ postrotate
552
+ systemctl reload myapp > /dev/null 2>&1 || true
553
+ endscript
554
+ }
555
+ ```
556
+
557
+ ## Process Management
558
+
559
+ ```bash
560
+ # View processes
561
+ ps aux
562
+ ps -ef
563
+ pstree
564
+
565
+ # Top processes
566
+ top
567
+ htop
568
+
569
+ # Kill process
570
+ kill PID
571
+ kill -9 PID # Force kill
572
+ killall process_name
573
+ pkill pattern
574
+
575
+ # Process priority (nice)
576
+ nice -n 10 command # Lower priority
577
+ sudo renice -5 PID # Higher priority
578
+
579
+ # Background jobs
580
+ command &
581
+ jobs
582
+ fg %1
583
+ bg %1
584
+
585
+ # Detach from terminal
586
+ nohup command &
587
+ screen
588
+ tmux
589
+ ```
590
+
591
+ ## System Information
592
+
593
+ ```bash
594
+ # OS information
595
+ cat /etc/os-release
596
+ lsb_release -a
597
+ uname -a
598
+
599
+ # Hardware info
600
+ lscpu # CPU
601
+ lsmem # Memory
602
+ lsblk # Block devices
603
+ lspci # PCI devices
604
+ lsusb # USB devices
605
+ dmidecode # BIOS/hardware
606
+
607
+ # System resources
608
+ free -h # Memory
609
+ df -h # Disk usage
610
+ uptime # Uptime and load
611
+
612
+ # Network
613
+ ip addr
614
+ ip route
615
+ hostname
616
+ hostnamectl
617
+ ```
618
+
619
+ ## Best Practices
620
+
621
+ 1. **Service Management:**
622
+ - Use systemd for services
623
+ - Set resource limits
624
+ - Enable security features
625
+ - Configure proper logging
626
+
627
+ 2. **User Management:**
628
+ - Use SSH keys, not passwords
629
+ - Follow least privilege principle
630
+ - Disable root login
631
+ - Regular user audits
632
+
633
+ 3. **Package Management:**
634
+ - Keep system updated
635
+ - Use package manager, avoid manual installs
636
+ - Document installed packages
637
+ - Test updates in staging first
638
+
639
+ 4. **File Systems:**
640
+ - Use appropriate filesystem for workload
641
+ - Mount with noatime for performance
642
+ - Regular filesystem checks
643
+ - Monitor disk usage
644
+
645
+ 5. **Monitoring:**
646
+ - Centralize logs
647
+ - Set up log rotation
648
+ - Monitor system resources
649
+ - Alert on anomalies
650
+
651
+ ## Common Issues
652
+
653
+ **Service fails to start:**
654
+ ```bash
655
+ systemctl status service.service
656
+ journalctl -u service.service -n 50
657
+ systemctl cat service.service # View service file
658
+ ```
659
+
660
+ **Out of disk space:**
661
+ ```bash
662
+ df -h # Find full filesystem
663
+ du -sh /* | sort -h # Find large directories
664
+ find / -type f -size +100M # Find large files
665
+ ```
666
+
667
+ **High load:**
668
+ ```bash
669
+ top # Identify resource hogs
670
+ ps aux --sort=-%cpu # CPU hogs
671
+ ps aux --sort=-%mem # Memory hogs
672
+ ```