blockmine 1.24.0 → 1.25.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 (346) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.en.md +427 -0
  3. package/README.md +40 -0
  4. package/backend/cli.js +1 -1
  5. package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
  6. package/backend/src/api/routes/bots.js +13 -0
  7. package/backend/src/api/routes/servers.js +14 -2
  8. package/backend/src/core/BotProcess.js +98 -2
  9. package/backend/src/core/PluginLoader.js +83 -3
  10. package/backend/src/core/PluginManager.js +75 -5
  11. package/backend/src/core/services/BotLifecycleService.js +186 -2
  12. package/backend/src/server.js +11 -1
  13. package/frontend/dist/assets/browser-ponyfill-DN7pwmHT.js +2 -0
  14. package/frontend/dist/assets/index-LSy71uwm.js +11261 -0
  15. package/frontend/dist/assets/index-SfhKxI4-.css +32 -0
  16. package/frontend/dist/flags/en.svg +32 -0
  17. package/frontend/dist/flags/ru.svg +5 -0
  18. package/frontend/dist/index.html +2 -2
  19. package/frontend/dist/locales/en/admin.json +100 -0
  20. package/frontend/dist/locales/en/api-keys.json +58 -0
  21. package/frontend/dist/locales/en/bots.json +110 -0
  22. package/frontend/dist/locales/en/common.json +47 -0
  23. package/frontend/dist/locales/en/configuration.json +22 -0
  24. package/frontend/dist/locales/en/console.json +10 -0
  25. package/frontend/dist/locales/en/dashboard.json +85 -0
  26. package/frontend/dist/locales/en/dialogs.json +70 -0
  27. package/frontend/dist/locales/en/event-graphs.json +50 -0
  28. package/frontend/dist/locales/en/graph-store.json +70 -0
  29. package/frontend/dist/locales/en/login.json +34 -0
  30. package/frontend/dist/locales/en/management.json +114 -0
  31. package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
  32. package/frontend/dist/locales/en/nodes.json +1077 -0
  33. package/frontend/dist/locales/en/permissions.json +50 -0
  34. package/frontend/dist/locales/en/plugin-detail.json +49 -0
  35. package/frontend/dist/locales/en/plugins.json +110 -0
  36. package/frontend/dist/locales/en/proxies.json +81 -0
  37. package/frontend/dist/locales/en/servers.json +39 -0
  38. package/frontend/dist/locales/en/setup.json +17 -0
  39. package/frontend/dist/locales/en/sidebar.json +27 -0
  40. package/frontend/dist/locales/en/tasks.json +62 -0
  41. package/frontend/dist/locales/en/visual-editor.json +219 -0
  42. package/frontend/dist/locales/en/websocket.json +86 -0
  43. package/frontend/dist/locales/ru/admin.json +100 -0
  44. package/frontend/dist/locales/ru/api-keys.json +58 -0
  45. package/frontend/dist/locales/ru/bots.json +110 -0
  46. package/frontend/dist/locales/ru/common.json +49 -0
  47. package/frontend/dist/locales/ru/configuration.json +22 -0
  48. package/frontend/dist/locales/ru/console.json +10 -0
  49. package/frontend/dist/locales/ru/dashboard.json +85 -0
  50. package/frontend/dist/locales/ru/dialogs.json +70 -0
  51. package/frontend/dist/locales/ru/event-graphs.json +50 -0
  52. package/frontend/dist/locales/ru/graph-store.json +70 -0
  53. package/frontend/dist/locales/ru/login.json +34 -0
  54. package/frontend/dist/locales/ru/management.json +114 -0
  55. package/frontend/dist/locales/ru/minecraft-viewer.json +27 -0
  56. package/frontend/dist/locales/ru/nodes.json +1077 -0
  57. package/frontend/dist/locales/ru/permissions.json +50 -0
  58. package/frontend/dist/locales/ru/plugin-detail.json +49 -0
  59. package/frontend/dist/locales/ru/plugins.json +110 -0
  60. package/frontend/dist/locales/ru/proxies.json +81 -0
  61. package/frontend/dist/locales/ru/servers.json +39 -0
  62. package/frontend/dist/locales/ru/setup.json +17 -0
  63. package/frontend/dist/locales/ru/sidebar.json +27 -0
  64. package/frontend/dist/locales/ru/tasks.json +62 -0
  65. package/frontend/dist/locales/ru/visual-editor.json +221 -0
  66. package/frontend/dist/locales/ru/websocket.json +86 -0
  67. package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
  68. package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
  69. package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
  70. package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
  71. package/frontend/package.json +4 -0
  72. package/package.json +1 -1
  73. package/screen/3dviewer.png +0 -0
  74. package/screen/console.png +0 -0
  75. package/screen/dashboard.png +0 -0
  76. package/screen/graph_collabe.png +0 -0
  77. package/screen/graph_live_debug.png +0 -0
  78. package/screen/language_selector.png +0 -0
  79. package/screen/management_command.png +0 -0
  80. package/screen/node_debug_trace.png +0 -0
  81. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  82. package/screen/websocket.png +0 -0
  83. 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
  84. 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
  85. package/.claude/agents/README.md +0 -469
  86. package/.claude/agents/auth-route-debugger.md +0 -118
  87. package/.claude/agents/auth-route-tester.md +0 -93
  88. package/.claude/agents/auto-error-resolver.md +0 -97
  89. package/.claude/agents/build-optimizer.md +0 -236
  90. package/.claude/agents/code-architect.md +0 -34
  91. package/.claude/agents/code-architecture-reviewer.md +0 -83
  92. package/.claude/agents/code-explorer.md +0 -51
  93. package/.claude/agents/code-refactor-master.md +0 -94
  94. package/.claude/agents/code-reviewer.md +0 -46
  95. package/.claude/agents/cost-optimizer.md +0 -134
  96. package/.claude/agents/deployment-orchestrator.md +0 -113
  97. package/.claude/agents/documentation-architect.md +0 -82
  98. package/.claude/agents/frontend-error-fixer.md +0 -77
  99. package/.claude/agents/iac-code-generator.md +0 -71
  100. package/.claude/agents/incident-responder.md +0 -346
  101. package/.claude/agents/infrastructure-architect.md +0 -31
  102. package/.claude/agents/kubernetes-specialist.md +0 -56
  103. package/.claude/agents/migration-planner.md +0 -181
  104. package/.claude/agents/network-architect.md +0 -196
  105. package/.claude/agents/plan-reviewer.md +0 -52
  106. package/.claude/agents/refactor-planner.md +0 -63
  107. package/.claude/agents/security-scanner.md +0 -102
  108. package/.claude/agents/web-research-specialist.md +0 -78
  109. package/.claude/commands/cost-analysis.md +0 -315
  110. package/.claude/commands/dev-docs-update.md +0 -55
  111. package/.claude/commands/dev-docs.md +0 -51
  112. package/.claude/commands/feature-dev.md +0 -125
  113. package/.claude/commands/incident-debug.md +0 -247
  114. package/.claude/commands/infra-plan.md +0 -81
  115. package/.claude/commands/migration-plan.md +0 -478
  116. package/.claude/commands/route-research-for-testing.md +0 -37
  117. package/.claude/commands/security-review.md +0 -66
  118. package/.claude/hooks/CONFIG.md +0 -448
  119. package/.claude/hooks/README.md +0 -163
  120. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
  121. package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
  122. package/.claude/hooks/add-skill-activation-banners.ts +0 -132
  123. package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
  124. package/.claude/hooks/error-handling-reminder.sh +0 -12
  125. package/.claude/hooks/error-handling-reminder.ts +0 -222
  126. package/.claude/hooks/k8s-manifest-validator.sh +0 -56
  127. package/.claude/hooks/package-lock.json +0 -556
  128. package/.claude/hooks/package.json +0 -16
  129. package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
  130. package/.claude/hooks/post-tool-use-tracker.sh +0 -183
  131. package/.claude/hooks/security-policy-check.sh +0 -247
  132. package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
  133. package/.claude/hooks/skill-activation-prompt.sh +0 -10
  134. package/.claude/hooks/skill-activation-prompt.ts +0 -141
  135. package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
  136. package/.claude/hooks/terraform-validator.sh +0 -53
  137. package/.claude/hooks/test-input.json +0 -7
  138. package/.claude/hooks/test-skill-activation.ts +0 -427
  139. package/.claude/hooks/trigger-build-resolver.sh +0 -79
  140. package/.claude/hooks/tsc-check.sh +0 -173
  141. package/.claude/hooks/tsconfig.json +0 -19
  142. package/.claude/settings.json +0 -59
  143. package/.claude/settings.local.json +0 -67
  144. package/.claude/skills/README.md +0 -507
  145. package/.claude/skills/api-engineering/SKILL.md +0 -63
  146. package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
  147. package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
  148. package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
  149. package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
  150. package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
  151. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
  152. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
  153. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
  154. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
  155. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
  156. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
  157. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
  158. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
  159. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
  160. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
  161. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
  162. package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
  163. package/.claude/skills/build-engineering/SKILL.md +0 -431
  164. package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
  165. package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
  166. package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
  167. package/.claude/skills/build-engineering/resources/build-security.md +0 -95
  168. package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
  169. package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
  170. package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
  171. package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
  172. package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
  173. package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
  174. package/.claude/skills/cloud-engineering/SKILL.md +0 -675
  175. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
  176. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
  177. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
  178. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
  179. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
  180. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
  181. package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
  182. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
  183. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
  184. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
  185. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
  186. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
  187. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
  188. package/.claude/skills/cybersecurity/SKILL.md +0 -409
  189. package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
  190. package/.claude/skills/database-engineering/SKILL.md +0 -61
  191. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
  192. package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
  193. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
  194. package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
  195. package/.claude/skills/devsecops/SKILL.md +0 -374
  196. package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
  197. package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
  198. package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
  199. package/.claude/skills/devsecops/resources/container-security.md +0 -915
  200. package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
  201. package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
  202. package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
  203. package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
  204. package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
  205. package/.claude/skills/devsecops/resources/security-testing.md +0 -203
  206. package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
  207. package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
  208. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
  209. package/.claude/skills/documentation-as-code/SKILL.md +0 -323
  210. package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
  211. package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
  212. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
  213. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
  214. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
  215. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
  216. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
  217. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
  218. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
  219. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
  220. package/.claude/skills/engineering-management/SKILL.md +0 -356
  221. package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
  222. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
  223. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
  224. package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
  225. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
  226. package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
  227. package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
  228. package/.claude/skills/error-tracking/SKILL.md +0 -379
  229. package/.claude/skills/frontend-design/SKILL.md +0 -42
  230. package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
  231. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
  232. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
  233. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
  234. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
  235. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
  236. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
  237. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
  238. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
  239. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
  240. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
  241. package/.claude/skills/general-it-engineering/SKILL.md +0 -393
  242. package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
  243. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
  244. package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
  245. package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
  246. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
  247. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
  248. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
  249. package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
  250. package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
  251. package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
  252. package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
  253. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
  254. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
  255. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
  256. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
  257. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
  258. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
  259. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
  260. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
  261. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
  262. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
  263. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
  264. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
  265. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
  266. package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
  267. package/.claude/skills/network-engineering/SKILL.md +0 -385
  268. package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
  269. package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
  270. package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
  271. package/.claude/skills/network-engineering/resources/network-security.md +0 -921
  272. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
  273. package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
  274. package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
  275. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
  276. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
  277. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
  278. package/.claude/skills/node-development/SKILL.md +0 -317
  279. package/.claude/skills/observability-engineering/SKILL.md +0 -101
  280. package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
  281. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
  282. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
  283. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
  284. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
  285. package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
  286. package/.claude/skills/platform-engineering/SKILL.md +0 -555
  287. package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
  288. package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
  289. package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
  290. package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
  291. package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
  292. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
  293. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
  294. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
  295. package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
  296. package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
  297. package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
  298. package/.claude/skills/release-engineering/SKILL.md +0 -393
  299. package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
  300. package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
  301. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
  302. package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
  303. package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
  304. package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
  305. package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
  306. package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
  307. package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
  308. package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
  309. package/.claude/skills/route-tester/SKILL.md +0 -392
  310. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  311. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  312. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  313. package/.claude/skills/skill-developer/SKILL.md +0 -430
  314. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  315. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  316. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  317. package/.claude/skills/skill-rules.json +0 -2989
  318. package/.claude/skills/sre/SKILL.md +0 -464
  319. package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
  320. package/.claude/skills/sre/resources/capacity-planning.md +0 -226
  321. package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
  322. package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
  323. package/.claude/skills/sre/resources/incident-management.md +0 -436
  324. package/.claude/skills/sre/resources/observability-stack.md +0 -240
  325. package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
  326. package/.claude/skills/sre/resources/performance-optimization.md +0 -108
  327. package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
  328. package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
  329. package/.claude/skills/sre/resources/toil-reduction.md +0 -145
  330. package/.claude/skills/systems-engineering/SKILL.md +0 -648
  331. package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
  332. package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
  333. package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
  334. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
  335. package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
  336. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
  337. package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
  338. package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
  339. package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
  340. package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
  341. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
  342. package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
  343. package/.claude/skills/technical-leadership/SKILL.md +0 -728
  344. package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
  345. package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
  346. package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
@@ -1,738 +0,0 @@
1
- # DNS Management
2
-
3
- Comprehensive guide to DNS (Domain Name System) management covering DNS architecture, zone files, cloud DNS services, DNSSEC, DNS security, and traffic routing strategies.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [DNS Architecture](#dns-architecture)
9
- - [DNS Record Types](#dns-record-types)
10
- - [Zone Files](#zone-files)
11
- - [Cloud DNS Services](#cloud-dns-services)
12
- - [Route 53 Advanced Features](#route-53-advanced-features)
13
- - [DNSSEC](#dnssec)
14
- - [DNS Security](#dns-security)
15
- - [Traffic Routing Strategies](#traffic-routing-strategies)
16
- - [Best Practices](#best-practices)
17
- - [Anti-Patterns](#anti-patterns)
18
-
19
- ## Overview
20
-
21
- DNS translates human-readable domain names into IP addresses. Proper DNS management is critical for availability, performance, and security.
22
-
23
- **Key Concepts:**
24
- - Hierarchical distributed database
25
- - Authoritative vs recursive DNS
26
- - DNS caching and TTL
27
- - Zone delegation
28
- - DNS resolution process
29
-
30
- ## DNS Architecture
31
-
32
- ### DNS Hierarchy
33
-
34
- ```
35
- Root (.)
36
- |
37
- ┌──────────────┼──────────────┐
38
- | | |
39
- .com .org .net
40
- | | |
41
- example.com wikipedia.org cloudflare.net
42
- |
43
- ┌─────┴─────┐
44
- | |
45
- www.example.com api.example.com
46
- ```
47
-
48
- ### DNS Resolution Flow
49
-
50
- ```
51
- 1. User requests www.example.com
52
- 2. Client checks local DNS cache
53
- 3. If not cached, queries recursive resolver
54
- 4. Resolver queries root nameserver → .com TLD nameserver → example.com authoritative nameserver
55
- 5. Returns IP address to client
56
- 6. Client caches result based on TTL
57
- ```
58
-
59
- ### DNS Server Types
60
-
61
- **Authoritative DNS:**
62
- - Holds actual DNS records
63
- - Responds with definitive answers
64
- - Managed by domain owner
65
-
66
- **Recursive DNS:**
67
- - Queries other DNS servers on behalf of clients
68
- - Caches results
69
- - Examples: 8.8.8.8 (Google), 1.1.1.1 (Cloudflare)
70
-
71
- ## DNS Record Types
72
-
73
- ### A Record (IPv4 Address)
74
-
75
- ```
76
- example.com. 300 IN A 192.0.2.1
77
- ```
78
-
79
- ### AAAA Record (IPv6 Address)
80
-
81
- ```
82
- example.com. 300 IN AAAA 2001:0db8::1
83
- ```
84
-
85
- ### CNAME Record (Canonical Name)
86
-
87
- ```
88
- www.example.com. 300 IN CNAME example.com.
89
- ```
90
-
91
- **Important:** CNAME cannot coexist with other records at same name.
92
-
93
- ### MX Record (Mail Exchange)
94
-
95
- ```
96
- example.com. 3600 IN MX 10 mail1.example.com.
97
- example.com. 3600 IN MX 20 mail2.example.com.
98
- ```
99
-
100
- Lower priority number = higher priority.
101
-
102
- ### TXT Record (Text/SPF/DKIM)
103
-
104
- ```
105
- example.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"
106
- _dmarc.example.com. 300 IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
107
- ```
108
-
109
- ### NS Record (Name Server)
110
-
111
- ```
112
- example.com. 86400 IN NS ns1.example.com.
113
- example.com. 86400 IN NS ns2.example.com.
114
- ```
115
-
116
- ### SRV Record (Service)
117
-
118
- ```
119
- _service._proto.name. TTL IN SRV priority weight port target
120
- _http._tcp.example.com. 300 IN SRV 10 60 80 server1.example.com.
121
- ```
122
-
123
- ### CAA Record (Certificate Authority Authorization)
124
-
125
- ```
126
- example.com. 300 IN CAA 0 issue "letsencrypt.org"
127
- example.com. 300 IN CAA 0 issuewild "letsencrypt.org"
128
- ```
129
-
130
- ## Zone Files
131
-
132
- ### BIND Zone File Format
133
-
134
- ```
135
- $TTL 3600
136
- $ORIGIN example.com.
137
-
138
- @ IN SOA ns1.example.com. admin.example.com. (
139
- 2024010101 ; Serial (YYYYMMDDnn)
140
- 7200 ; Refresh (2 hours)
141
- 3600 ; Retry (1 hour)
142
- 1209600 ; Expire (2 weeks)
143
- 3600 ) ; Minimum TTL (1 hour)
144
-
145
- IN NS ns1.example.com.
146
- IN NS ns2.example.com.
147
-
148
- IN A 192.0.2.1
149
- IN AAAA 2001:0db8::1
150
-
151
- IN MX 10 mail.example.com.
152
-
153
- www IN A 192.0.2.1
154
- api IN A 192.0.2.2
155
- cdn IN CNAME cdn.cloudfront.net.
156
-
157
- ; Subdomain delegation
158
- staging IN NS ns1.staging.example.com.
159
- staging IN NS ns2.staging.example.com.
160
-
161
- ; Wildcard record
162
- *.dynamic IN A 192.0.2.100
163
- ```
164
-
165
- ### SOA Record Explained
166
-
167
- ```
168
- SOA <primary-ns> <admin-email> (
169
- <serial> ; Version number, increment on each change
170
- <refresh> ; Time secondary should check for updates
171
- <retry> ; Time to retry failed refresh
172
- <expire> ; Time before zone considered invalid
173
- <minimum> ; Minimum TTL for negative responses
174
- )
175
- ```
176
-
177
- ## Cloud DNS Services
178
-
179
- ### AWS Route 53
180
-
181
- **Create Hosted Zone:**
182
- ```hcl
183
- resource "aws_route53_zone" "primary" {
184
- name = "example.com"
185
- comment = "Primary DNS zone for example.com"
186
-
187
- tags = {
188
- Environment = "production"
189
- }
190
- }
191
-
192
- # A record
193
- resource "aws_route53_record" "www" {
194
- zone_id = aws_route53_zone.primary.zone_id
195
- name = "www.example.com"
196
- type = "A"
197
- ttl = 300
198
- records = ["192.0.2.1"]
199
- }
200
-
201
- # Alias record (AWS-specific)
202
- resource "aws_route53_record" "apex" {
203
- zone_id = aws_route53_zone.primary.zone_id
204
- name = "example.com"
205
- type = "A"
206
-
207
- alias {
208
- name = aws_lb.main.dns_name
209
- zone_id = aws_lb.main.zone_id
210
- evaluate_target_health = true
211
- }
212
- }
213
-
214
- # CNAME record
215
- resource "aws_route53_record" "api" {
216
- zone_id = aws_route53_zone.primary.zone_id
217
- name = "api.example.com"
218
- type = "CNAME"
219
- ttl = 300
220
- records = ["api-lb.us-east-1.elb.amazonaws.com"]
221
- }
222
- ```
223
-
224
- ### Google Cloud DNS
225
-
226
- ```hcl
227
- resource "google_dns_managed_zone" "primary" {
228
- name = "example-com"
229
- dns_name = "example.com."
230
- description = "Primary DNS zone"
231
-
232
- dnssec_config {
233
- state = "on"
234
- }
235
- }
236
-
237
- resource "google_dns_record_set" "a" {
238
- managed_zone = google_dns_managed_zone.primary.name
239
- name = "www.example.com."
240
- type = "A"
241
- ttl = 300
242
- rrdatas = ["192.0.2.1"]
243
- }
244
-
245
- resource "google_dns_record_set" "mx" {
246
- managed_zone = google_dns_managed_zone.primary.name
247
- name = "example.com."
248
- type = "MX"
249
- ttl = 3600
250
- rrdatas = [
251
- "10 mail1.example.com.",
252
- "20 mail2.example.com."
253
- ]
254
- }
255
- ```
256
-
257
- ### Azure DNS
258
-
259
- ```hcl
260
- resource "azurerm_dns_zone" "primary" {
261
- name = "example.com"
262
- resource_group_name = azurerm_resource_group.main.name
263
-
264
- tags = {
265
- environment = "production"
266
- }
267
- }
268
-
269
- resource "azurerm_dns_a_record" "www" {
270
- name = "www"
271
- zone_name = azurerm_dns_zone.primary.name
272
- resource_group_name = azurerm_resource_group.main.name
273
- ttl = 300
274
- records = ["192.0.2.1"]
275
- }
276
-
277
- resource "azurerm_dns_cname_record" "cdn" {
278
- name = "cdn"
279
- zone_name = azurerm_dns_zone.primary.name
280
- resource_group_name = azurerm_resource_group.main.name
281
- ttl = 300
282
- record = "cdn.azureedge.net"
283
- }
284
- ```
285
-
286
- ## Route 53 Advanced Features
287
-
288
- ### Weighted Routing (Traffic Distribution)
289
-
290
- ```hcl
291
- # Send 70% traffic to new version, 30% to old
292
- resource "aws_route53_record" "api_new" {
293
- zone_id = aws_route53_zone.primary.zone_id
294
- name = "api.example.com"
295
- type = "A"
296
- ttl = 60
297
-
298
- weighted_routing_policy {
299
- weight = 70
300
- }
301
-
302
- set_identifier = "api-new"
303
- records = ["192.0.2.10"]
304
- }
305
-
306
- resource "aws_route53_record" "api_old" {
307
- zone_id = aws_route53_zone.primary.zone_id
308
- name = "api.example.com"
309
- type = "A"
310
- ttl = 60
311
-
312
- weighted_routing_policy {
313
- weight = 30
314
- }
315
-
316
- set_identifier = "api-old"
317
- records = ["192.0.2.20"]
318
- }
319
- ```
320
-
321
- ### Latency-Based Routing
322
-
323
- ```hcl
324
- resource "aws_route53_record" "api_us_east" {
325
- zone_id = aws_route53_zone.primary.zone_id
326
- name = "api.example.com"
327
- type = "A"
328
-
329
- latency_routing_policy {
330
- region = "us-east-1"
331
- }
332
-
333
- set_identifier = "api-us-east-1"
334
-
335
- alias {
336
- name = aws_lb.us_east.dns_name
337
- zone_id = aws_lb.us_east.zone_id
338
- evaluate_target_health = true
339
- }
340
- }
341
-
342
- resource "aws_route53_record" "api_eu_west" {
343
- zone_id = aws_route53_zone.primary.zone_id
344
- name = "api.example.com"
345
- type = "A"
346
-
347
- latency_routing_policy {
348
- region = "eu-west-1"
349
- }
350
-
351
- set_identifier = "api-eu-west-1"
352
-
353
- alias {
354
- name = aws_lb.eu_west.dns_name
355
- zone_id = aws_lb.eu_west.zone_id
356
- evaluate_target_health = true
357
- }
358
- }
359
- ```
360
-
361
- ### Geolocation Routing
362
-
363
- ```hcl
364
- # Default for all locations
365
- resource "aws_route53_record" "geo_default" {
366
- zone_id = aws_route53_zone.primary.zone_id
367
- name = "www.example.com"
368
- type = "A"
369
-
370
- geolocation_routing_policy {
371
- continent = "*"
372
- }
373
-
374
- set_identifier = "default"
375
- records = ["192.0.2.1"]
376
- }
377
-
378
- # Europe
379
- resource "aws_route53_record" "geo_europe" {
380
- zone_id = aws_route53_zone.primary.zone_id
381
- name = "www.example.com"
382
- type = "A"
383
-
384
- geolocation_routing_policy {
385
- continent = "EU"
386
- }
387
-
388
- set_identifier = "europe"
389
- records = ["192.0.2.10"]
390
- }
391
-
392
- # Asia
393
- resource "aws_route53_record" "geo_asia" {
394
- zone_id = aws_route53_zone.primary.zone_id
395
- name = "www.example.com"
396
- type = "A"
397
-
398
- geolocation_routing_policy {
399
- continent = "AS"
400
- }
401
-
402
- set_identifier = "asia"
403
- records = ["192.0.2.20"]
404
- }
405
- ```
406
-
407
- ### Failover Routing
408
-
409
- ```hcl
410
- # Primary endpoint with health check
411
- resource "aws_route53_health_check" "primary" {
412
- fqdn = "primary.example.com"
413
- port = 443
414
- type = "HTTPS"
415
- resource_path = "/health"
416
- failure_threshold = 3
417
- request_interval = 30
418
-
419
- tags = {
420
- Name = "primary-health-check"
421
- }
422
- }
423
-
424
- resource "aws_route53_record" "primary" {
425
- zone_id = aws_route53_zone.primary.zone_id
426
- name = "app.example.com"
427
- type = "A"
428
-
429
- failover_routing_policy {
430
- type = "PRIMARY"
431
- }
432
-
433
- set_identifier = "primary"
434
- health_check_id = aws_route53_health_check.primary.id
435
- records = ["192.0.2.1"]
436
- ttl = 60
437
- }
438
-
439
- # Secondary (failover) endpoint
440
- resource "aws_route53_record" "secondary" {
441
- zone_id = aws_route53_zone.primary.zone_id
442
- name = "app.example.com"
443
- type = "A"
444
-
445
- failover_routing_policy {
446
- type = "SECONDARY"
447
- }
448
-
449
- set_identifier = "secondary"
450
- records = ["192.0.2.100"]
451
- ttl = 60
452
- }
453
- ```
454
-
455
- ### Multi-Value Answer Routing
456
-
457
- ```hcl
458
- resource "aws_route53_record" "multi_value_1" {
459
- zone_id = aws_route53_zone.primary.zone_id
460
- name = "api.example.com"
461
- type = "A"
462
- ttl = 60
463
-
464
- multivalue_answer_routing_policy = true
465
- set_identifier = "server-1"
466
- health_check_id = aws_route53_health_check.server1.id
467
-
468
- records = ["192.0.2.1"]
469
- }
470
-
471
- resource "aws_route53_record" "multi_value_2" {
472
- zone_id = aws_route53_zone.primary.zone_id
473
- name = "api.example.com"
474
- type = "A"
475
- ttl = 60
476
-
477
- multivalue_answer_routing_policy = true
478
- set_identifier = "server-2"
479
- health_check_id = aws_route53_health_check.server2.id
480
-
481
- records = ["192.0.2.2"]
482
- }
483
- ```
484
-
485
- ## DNSSEC
486
-
487
- ### Enable DNSSEC on Route 53
488
-
489
- ```hcl
490
- resource "aws_route53_zone" "primary" {
491
- name = "example.com"
492
- }
493
-
494
- # Enable DNSSEC signing
495
- resource "aws_route53_key_signing_key" "main" {
496
- hosted_zone_id = aws_route53_zone.primary.zone_id
497
- key_management_service_arn = aws_kms_key.dnssec.arn
498
- name = "example-ksk"
499
- }
500
-
501
- resource "aws_route53_hosted_zone_dnssec" "main" {
502
- hosted_zone_id = aws_route53_key_signing_key.main.hosted_zone_id
503
- }
504
-
505
- # KMS key for DNSSEC
506
- resource "aws_kms_key" "dnssec" {
507
- customer_master_key_spec = "ECC_NIST_P256"
508
- deletion_window_in_days = 7
509
- key_usage = "SIGN_VERIFY"
510
- policy = jsonencode({
511
- Statement = [
512
- {
513
- Action = [
514
- "kms:DescribeKey",
515
- "kms:GetPublicKey",
516
- "kms:Sign",
517
- ],
518
- Effect = "Allow"
519
- Principal = {
520
- Service = "dnssec-route53.amazonaws.com"
521
- }
522
- Resource = "*"
523
- },
524
- ]
525
- Version = "2012-10-17"
526
- })
527
- }
528
- ```
529
-
530
- ### DNSSEC Validation
531
-
532
- ```bash
533
- # Check DNSSEC status
534
- dig example.com +dnssec
535
-
536
- # Verify DNSSEC chain
537
- delv @8.8.8.8 example.com
538
-
539
- # Check DS record at parent
540
- dig DS example.com
541
- ```
542
-
543
- ## DNS Security
544
-
545
- ### DNS over HTTPS (DoH)
546
-
547
- ```python
548
- # Using DNS over HTTPS
549
- import requests
550
-
551
- def resolve_doh(domain):
552
- url = "https://cloudflare-dns.com/dns-query"
553
- headers = {"accept": "application/dns-json"}
554
- params = {"name": domain, "type": "A"}
555
-
556
- response = requests.get(url, headers=headers, params=params)
557
- return response.json()
558
-
559
- result = resolve_doh("example.com")
560
- print(result)
561
- ```
562
-
563
- ### DNS over TLS (DoT)
564
-
565
- ```bash
566
- # Configure systemd-resolved for DoT
567
- cat > /etc/systemd/resolved.conf <<EOF
568
- [Resolve]
569
- DNS=1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google
570
- DNSOverTLS=yes
571
- DNSSEC=yes
572
- EOF
573
-
574
- systemctl restart systemd-resolved
575
- ```
576
-
577
- ### DDoS Protection
578
-
579
- ```hcl
580
- # Route 53 with Shield Advanced
581
- resource "aws_shield_protection" "route53" {
582
- name = "route53-protection"
583
- resource_arn = aws_route53_zone.primary.arn
584
- }
585
-
586
- # Rate limiting health checks
587
- resource "aws_route53_health_check" "rate_limited" {
588
- type = "HTTPS"
589
- resource_path = "/health"
590
- fqdn = "api.example.com"
591
- port = 443
592
- request_interval = 30
593
- failure_threshold = 3
594
- measure_latency = true
595
- enable_sni = true
596
- }
597
- ```
598
-
599
- ## Traffic Routing Strategies
600
-
601
- ### Blue-Green Deployment
602
-
603
- ```hcl
604
- # Blue environment (current production)
605
- resource "aws_route53_record" "production" {
606
- zone_id = aws_route53_zone.primary.zone_id
607
- name = "app.example.com"
608
- type = "A"
609
-
610
- weighted_routing_policy {
611
- weight = 100 # All traffic to blue
612
- }
613
-
614
- set_identifier = "blue"
615
- records = ["192.0.2.10"]
616
- ttl = 60
617
- }
618
-
619
- # Green environment (new version)
620
- resource "aws_route53_record" "staging" {
621
- zone_id = aws_route53_zone.primary.zone_id
622
- name = "app.example.com"
623
- type = "A"
624
-
625
- weighted_routing_policy {
626
- weight = 0 # No production traffic yet
627
- }
628
-
629
- set_identifier = "green"
630
- records = ["192.0.2.20"]
631
- ttl = 60
632
- }
633
-
634
- # To switch: Update weights (blue=0, green=100)
635
- ```
636
-
637
- ### Canary Deployment
638
-
639
- ```hcl
640
- # Stable version
641
- resource "aws_route53_record" "stable" {
642
- zone_id = aws_route53_zone.primary.zone_id
643
- name = "api.example.com"
644
- type = "A"
645
-
646
- weighted_routing_policy {
647
- weight = 95 # 95% traffic
648
- }
649
-
650
- set_identifier = "stable"
651
- records = ["192.0.2.10"]
652
- ttl = 60
653
- }
654
-
655
- # Canary version
656
- resource "aws_route53_record" "canary" {
657
- zone_id = aws_route53_zone.primary.zone_id
658
- name = "api.example.com"
659
- type = "A"
660
-
661
- weighted_routing_policy {
662
- weight = 5 # 5% traffic for testing
663
- }
664
-
665
- set_identifier = "canary"
666
- records = ["192.0.2.20"]
667
- ttl = 60
668
- }
669
- ```
670
-
671
- ### Split-View DNS (Internal/External)
672
-
673
- ```
674
- Internal Zone (10.0.0.0/8):
675
- api.example.com → 10.0.1.10 (private IP)
676
-
677
- External Zone (Internet):
678
- api.example.com → 203.0.113.10 (public IP)
679
- ```
680
-
681
- **Implementation:**
682
- ```hcl
683
- # Private hosted zone
684
- resource "aws_route53_zone" "private" {
685
- name = "example.com"
686
-
687
- vpc {
688
- vpc_id = aws_vpc.main.id
689
- }
690
- }
691
-
692
- resource "aws_route53_record" "internal_api" {
693
- zone_id = aws_route53_zone.private.zone_id
694
- name = "api.example.com"
695
- type = "A"
696
- ttl = 300
697
- records = ["10.0.1.10"]
698
- }
699
-
700
- # Public hosted zone
701
- resource "aws_route53_zone" "public" {
702
- name = "example.com"
703
- }
704
-
705
- resource "aws_route53_record" "external_api" {
706
- zone_id = aws_route53_zone.public.zone_id
707
- name = "api.example.com"
708
- type = "A"
709
- ttl = 300
710
- records = ["203.0.113.10"]
711
- }
712
- ```
713
-
714
- ## Best Practices
715
-
716
- 1. **Use appropriate TTL values** - Lower for records that change frequently, higher for stable records
717
- 2. **Enable DNSSEC** - Prevent DNS spoofing and cache poisoning
718
- 3. **Implement health checks** - For failover and routing decisions
719
- 4. **Use alias records** - For AWS resources (no charge, automatic updates)
720
- 5. **Monitor DNS queries** - Detect anomalies and attacks
721
- 6. **Maintain multiple NS records** - At least two, preferably in different networks
722
- 7. **Use CAA records** - Prevent unauthorized certificate issuance
723
- 8. **Document zone changes** - Version control and change management
724
- 9. **Test before going live** - Use dig/nslookup to verify records
725
- 10. **Plan for migration** - Lower TTLs before DNS changes
726
-
727
- ## Anti-Patterns
728
-
729
- - **Very high TTL on changing records** - Slows down updates
730
- - **Very low TTL unnecessarily** - Increases DNS query load and cost
731
- - **No DNSSEC** - Vulnerable to DNS attacks
732
- - **Single nameserver** - Single point of failure
733
- - **Missing health checks** - Sends traffic to failed endpoints
734
- - **No monitoring** - Can't detect DNS issues
735
- - **Wildcard DNS without restrictions** - Security and performance issues
736
- - **No DNS backup** - Risk of total outage
737
- - **Ignoring propagation time** - Changes can take time to propagate
738
- - **Hard-coded IP addresses** - Use DNS instead