opencode-skills-collection 4.0.68 → 4.0.69

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 (309) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +266 -1
  2. package/bundled-skills/access-review/SKILL.md +394 -0
  3. package/bundled-skills/access-review/references/details.md +121 -0
  4. package/bundled-skills/agent-evals/SKILL.md +420 -0
  5. package/bundled-skills/agent-observability/SKILL.md +346 -0
  6. package/bundled-skills/agent-observability/references/details.md +786 -0
  7. package/bundled-skills/ai-agent-security/SKILL.md +393 -0
  8. package/bundled-skills/ai-agent-security/references/details.md +912 -0
  9. package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
  10. package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
  11. package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
  12. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
  13. package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
  14. package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
  15. package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
  16. package/bundled-skills/alerting-oncall/SKILL.md +458 -0
  17. package/bundled-skills/alerting-oncall/references/details.md +84 -0
  18. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  19. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  20. package/bundled-skills/arm-templates/SKILL.md +438 -0
  21. package/bundled-skills/arm-templates/references/details.md +64 -0
  22. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  23. package/bundled-skills/asset-inventory/references/details.md +127 -0
  24. package/bundled-skills/audit-logging/SKILL.md +476 -0
  25. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  26. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  27. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  28. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  29. package/bundled-skills/aws-iam/SKILL.md +463 -0
  30. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  31. package/bundled-skills/aws-rds/SKILL.md +380 -0
  32. package/bundled-skills/aws-s3/SKILL.md +434 -0
  33. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  34. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  35. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  36. package/bundled-skills/azure-aks/SKILL.md +423 -0
  37. package/bundled-skills/azure-devops/SKILL.md +457 -0
  38. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  39. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  40. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  41. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  42. package/bundled-skills/azure-networking/SKILL.md +448 -0
  43. package/bundled-skills/azure-networking/references/details.md +135 -0
  44. package/bundled-skills/azure-sql/SKILL.md +413 -0
  45. package/bundled-skills/azure-sql/references/details.md +113 -0
  46. package/bundled-skills/azure-vms/SKILL.md +402 -0
  47. package/bundled-skills/azure-vms/references/details.md +134 -0
  48. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  49. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  50. package/bundled-skills/bb-methodology/references/details.md +120 -0
  51. package/bundled-skills/block-storage/SKILL.md +371 -0
  52. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  53. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  54. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  55. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  56. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  57. package/bundled-skills/business-continuity/SKILL.md +463 -0
  58. package/bundled-skills/career-ops/SKILL.md +186 -0
  59. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  60. package/bundled-skills/change-management/SKILL.md +438 -0
  61. package/bundled-skills/change-management/references/details.md +105 -0
  62. package/bundled-skills/circleci/SKILL.md +475 -0
  63. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  64. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  65. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  66. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  67. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  68. package/bundled-skills/cloudformation/SKILL.md +461 -0
  69. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  70. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  71. package/bundled-skills/container-hardening/SKILL.md +126 -0
  72. package/bundled-skills/container-registries/SKILL.md +435 -0
  73. package/bundled-skills/container-scanning/SKILL.md +416 -0
  74. package/bundled-skills/convex-backend/SKILL.md +338 -0
  75. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  76. package/bundled-skills/database-backups/SKILL.md +425 -0
  77. package/bundled-skills/datadog/SKILL.md +487 -0
  78. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  79. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  80. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  81. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  82. package/bundled-skills/dns-management/SKILL.md +375 -0
  83. package/bundled-skills/docker-compose/SKILL.md +482 -0
  84. package/bundled-skills/docker-management/SKILL.md +426 -0
  85. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  86. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  87. package/bundled-skills/elk-stack/SKILL.md +487 -0
  88. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  89. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  90. package/bundled-skills/feature-flags/SKILL.md +426 -0
  91. package/bundled-skills/feature-flags/references/details.md +86 -0
  92. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  93. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  94. package/bundled-skills/firewall-config/SKILL.md +479 -0
  95. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  96. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  97. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  98. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  99. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  100. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  101. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  102. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  103. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  104. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  105. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  106. package/bundled-skills/geo-audit/SKILL.md +368 -0
  107. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  108. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  109. package/bundled-skills/geo-citability/SKILL.md +350 -0
  110. package/bundled-skills/geo-compare/SKILL.md +340 -0
  111. package/bundled-skills/geo-content/SKILL.md +383 -0
  112. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  113. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  114. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  115. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  116. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  117. package/bundled-skills/geo-report/SKILL.md +436 -0
  118. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  119. package/bundled-skills/geo-schema/SKILL.md +408 -0
  120. package/bundled-skills/geo-technical/SKILL.md +78 -0
  121. package/bundled-skills/geo-technical/references/details.md +543 -0
  122. package/bundled-skills/git-workflow/SKILL.md +460 -0
  123. package/bundled-skills/github-actions/SKILL.md +368 -0
  124. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  125. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  126. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  127. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  128. package/bundled-skills/helm-charts/SKILL.md +469 -0
  129. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  130. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  131. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  132. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  133. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  134. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  135. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  136. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  137. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  138. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  139. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  140. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  141. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  142. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  143. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  144. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  145. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  146. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  147. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  148. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  149. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  150. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  151. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  152. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  153. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  154. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  155. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  156. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  157. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  158. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  159. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  160. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  161. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  162. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  163. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  164. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  165. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  166. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  167. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  168. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  169. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  170. package/bundled-skills/hunt-rce/references/details.md +110 -0
  171. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  172. package/bundled-skills/hunt-session/SKILL.md +342 -0
  173. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  174. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  175. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  176. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  177. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  178. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  179. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  180. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  181. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  182. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  183. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  184. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  185. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  186. package/bundled-skills/identity-access-management/references/details.md +524 -0
  187. package/bundled-skills/incident-management/SKILL.md +484 -0
  188. package/bundled-skills/incident-response/SKILL.md +448 -0
  189. package/bundled-skills/incident-response/references/details.md +113 -0
  190. package/bundled-skills/interview-me/SKILL.md +248 -0
  191. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  192. package/bundled-skills/jenkins/SKILL.md +462 -0
  193. package/bundled-skills/jev-use/SKILL.md +158 -0
  194. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  195. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  196. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  197. package/bundled-skills/kustomize/SKILL.md +478 -0
  198. package/bundled-skills/linux-administration/SKILL.md +367 -0
  199. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  200. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  201. package/bundled-skills/llm-app-security/references/details.md +674 -0
  202. package/bundled-skills/llm-caching/SKILL.md +334 -0
  203. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  204. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  205. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  206. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  207. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  208. package/bundled-skills/load-balancing/SKILL.md +403 -0
  209. package/bundled-skills/loki-logging/SKILL.md +479 -0
  210. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  211. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  212. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  213. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  214. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  215. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  216. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  217. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  218. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  219. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  220. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  221. package/bundled-skills/mongodb/SKILL.md +436 -0
  222. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  223. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  224. package/bundled-skills/mysql/SKILL.md +390 -0
  225. package/bundled-skills/new-relic/SKILL.md +472 -0
  226. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  227. package/bundled-skills/object-storage/SKILL.md +378 -0
  228. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  229. package/bundled-skills/okta-attack/SKILL.md +436 -0
  230. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  231. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  232. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  233. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  234. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  235. package/bundled-skills/openshift/SKILL.md +485 -0
  236. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  237. package/bundled-skills/opentelemetry/references/details.md +78 -0
  238. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  239. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  240. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  241. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  242. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  243. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  244. package/bundled-skills/planetscale/SKILL.md +297 -0
  245. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  246. package/bundled-skills/platform-engineering/references/details.md +944 -0
  247. package/bundled-skills/podman/SKILL.md +405 -0
  248. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  249. package/bundled-skills/policy-as-code/references/details.md +204 -0
  250. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  251. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  252. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  253. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  254. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  255. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  256. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  257. package/bundled-skills/redis/SKILL.md +421 -0
  258. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  259. package/bundled-skills/report-writing/SKILL.md +426 -0
  260. package/bundled-skills/report-writing/references/details.md +187 -0
  261. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  262. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  263. package/bundled-skills/runbook-creation/references/details.md +71 -0
  264. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  265. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  266. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  267. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  268. package/bundled-skills/security-arsenal/references/details.md +540 -0
  269. package/bundled-skills/security-automation/SKILL.md +146 -0
  270. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  271. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  272. package/bundled-skills/service-mesh/SKILL.md +422 -0
  273. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  274. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  275. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  276. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  277. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  278. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  279. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  280. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  281. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  282. package/bundled-skills/systemd-services/SKILL.md +379 -0
  283. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  284. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  285. package/bundled-skills/terraform-azure/references/details.md +231 -0
  286. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  287. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  288. package/bundled-skills/user-management/SKILL.md +383 -0
  289. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  290. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  291. package/bundled-skills/vendor-management/SKILL.md +439 -0
  292. package/bundled-skills/vendor-management/references/details.md +109 -0
  293. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  294. package/bundled-skills/vllm-server/SKILL.md +236 -0
  295. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  296. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  297. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  298. package/bundled-skills/waf-setup/SKILL.md +354 -0
  299. package/bundled-skills/waf-setup/references/details.md +211 -0
  300. package/bundled-skills/web2-recon/SKILL.md +440 -0
  301. package/bundled-skills/web2-recon/references/details.md +319 -0
  302. package/bundled-skills/web3-audit/SKILL.md +445 -0
  303. package/bundled-skills/web3-audit/references/details.md +224 -0
  304. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  305. package/bundled-skills/windows-hardening/references/details.md +204 -0
  306. package/bundled-skills/windows-server/SKILL.md +318 -0
  307. package/bundled-skills/zero-trust/SKILL.md +461 -0
  308. package/package.json +1 -1
  309. package/skills_index.json +6943 -323
@@ -0,0 +1,375 @@
1
+ ---
2
+ name: dns-management
3
+ description: Configure DNS zones and records. Manage Route53, Cloud DNS, and self-hosted
4
+ DNS. Use when setting up DNS infrastructure.
5
+ category: devops
6
+ risk: critical
7
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
8
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
9
+ source_type: community
10
+ date_added: '2026-09-20'
11
+ license: MIT
12
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
13
+ compatibility: Requires the relevant OS/platform tooling and privileged access where
14
+ noted. Docs-only; helper scripts and templates not bundled.
15
+ metadata:
16
+ author: devops-skills
17
+ version: '1.0'
18
+ ---
19
+
20
+ # DNS Management
21
+
22
+ Configure and manage DNS zones, records, and resolution for production infrastructure.
23
+
24
+ ## When to Use
25
+
26
+ - Setting up domains for web applications, APIs, and email.
27
+ - Migrating DNS providers or consolidating zones.
28
+ - Configuring DNS for CDN, load balancers, and cloud services.
29
+ - Troubleshooting resolution failures, propagation delays, or misconfigurations.
30
+ - Implementing DNSSEC, SPF, DKIM, and DMARC for email security.
31
+
32
+ ## Prerequisites
33
+
34
+ - Domain registered with a registrar (Namecheap, Route53, Google Domains, Cloudflare).
35
+ - Access to DNS provider dashboard or API.
36
+ - AWS CLI configured (for Route53 examples).
37
+ - `dig` and `nslookup` available locally (included in most OS installs).
38
+
39
+ ## DNS Record Types Reference
40
+
41
+ | Type | Purpose | Example Value |
42
+ |-------|---------|---------------|
43
+ | A | IPv4 address | `93.184.216.34` |
44
+ | AAAA | IPv6 address | `2606:2800:220:1:248:1893:25c8:1946` |
45
+ | CNAME | Alias to another domain | `www.example.com -> example.com` |
46
+ | MX | Mail server with priority | `10 mail.example.com` |
47
+ | TXT | Arbitrary text (SPF, DKIM, verification) | `v=spf1 include:_spf.google.com ~all` |
48
+ | NS | Authoritative name servers | `ns1.example.com` |
49
+ | SRV | Service location (host, port, priority) | `10 5 5060 sip.example.com` |
50
+ | CAA | Certificate Authority Authorization | `0 issue "letsencrypt.org"` |
51
+ | PTR | Reverse DNS lookup | `34.216.184.93.in-addr.arpa` |
52
+
53
+ ## AWS Route 53
54
+
55
+ ### Hosted Zone Management
56
+
57
+ ```bash
58
+ # Create a hosted zone
59
+ aws route53 create-hosted-zone \
60
+ --name example.com \
61
+ --caller-reference "$(date +%s)"
62
+
63
+ # List hosted zones
64
+ aws route53 list-hosted-zones
65
+
66
+ # Get name servers for a zone (update at your registrar)
67
+ aws route53 get-hosted-zone --id Z1234567890ABC \
68
+ --query 'DelegationSet.NameServers'
69
+ ```
70
+
71
+ ### Create and Manage Records
72
+
73
+ ```bash
74
+ # Create an A record
75
+ aws route53 change-resource-record-sets \
76
+ --hosted-zone-id Z1234567890ABC \
77
+ --change-batch '{
78
+ "Changes": [{
79
+ "Action": "CREATE",
80
+ "ResourceRecordSet": {
81
+ "Name": "app.example.com",
82
+ "Type": "A",
83
+ "TTL": 300,
84
+ "ResourceRecords": [{"Value": "93.184.216.34"}]
85
+ }
86
+ }]
87
+ }'
88
+
89
+ # Create a CNAME record
90
+ aws route53 change-resource-record-sets \
91
+ --hosted-zone-id Z1234567890ABC \
92
+ --change-batch '{
93
+ "Changes": [{
94
+ "Action": "CREATE",
95
+ "ResourceRecordSet": {
96
+ "Name": "www.example.com",
97
+ "Type": "CNAME",
98
+ "TTL": 300,
99
+ "ResourceRecords": [{"Value": "example.com"}]
100
+ }
101
+ }]
102
+ }'
103
+
104
+ # Create an alias record (no TTL, Route53-specific)
105
+ aws route53 change-resource-record-sets \
106
+ --hosted-zone-id Z1234567890ABC \
107
+ --change-batch '{
108
+ "Changes": [{
109
+ "Action": "CREATE",
110
+ "ResourceRecordSet": {
111
+ "Name": "example.com",
112
+ "Type": "A",
113
+ "AliasTarget": {
114
+ "HostedZoneId": "Z2FDTNDATAQYW2",
115
+ "DNSName": "d1234567890.cloudfront.net",
116
+ "EvaluateTargetHealth": false
117
+ }
118
+ }
119
+ }]
120
+ }'
121
+
122
+ # List records in a zone
123
+ aws route53 list-resource-record-sets --hosted-zone-id Z1234567890ABC
124
+
125
+ # Delete a record (Action: DELETE with exact match)
126
+ aws route53 change-resource-record-sets \
127
+ --hosted-zone-id Z1234567890ABC \
128
+ --change-batch '{
129
+ "Changes": [{
130
+ "Action": "DELETE",
131
+ "ResourceRecordSet": {
132
+ "Name": "old.example.com",
133
+ "Type": "A",
134
+ "TTL": 300,
135
+ "ResourceRecords": [{"Value": "1.2.3.4"}]
136
+ }
137
+ }]
138
+ }'
139
+ ```
140
+
141
+ ### Route 53 Health Checks
142
+
143
+ ```bash
144
+ # Create a health check
145
+ aws route53 create-health-check --caller-reference "$(date +%s)" \
146
+ --health-check-config '{
147
+ "IPAddress": "93.184.216.34",
148
+ "Port": 443,
149
+ "Type": "HTTPS",
150
+ "ResourcePath": "/health",
151
+ "RequestInterval": 30,
152
+ "FailureThreshold": 3
153
+ }'
154
+ ```
155
+
156
+ ## Cloudflare DNS
157
+
158
+ ### Manage Records via API
159
+
160
+ ```bash
161
+ # Get zone ID
162
+ ZONE_ID=$(curl -s "https://api.cloudflare.com/client/v4/zones?name=example.com" \
163
+ -H "Authorization: Bearer $CF_API_TOKEN" | jq -r '.result[0].id')
164
+
165
+ # Create an A record (proxied through Cloudflare)
166
+ curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
167
+ -H "Authorization: Bearer $CF_API_TOKEN" \
168
+ -H "Content-Type: application/json" \
169
+ -d '{"type":"A","name":"app","content":"93.184.216.34","proxied":true,"ttl":1}'
170
+
171
+ # Create a CNAME record (DNS only, not proxied)
172
+ curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
173
+ -H "Authorization: Bearer $CF_API_TOKEN" \
174
+ -d '{"type":"CNAME","name":"docs","content":"docs.readthedocs.io","proxied":false,"ttl":3600}'
175
+
176
+ # List all records
177
+ curl -s "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
178
+ -H "Authorization: Bearer $CF_API_TOKEN" | jq '.result[] | {name, type, content, proxied}'
179
+
180
+ # Delete a record
181
+ curl -X DELETE "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \
182
+ -H "Authorization: Bearer $CF_API_TOKEN"
183
+ ```
184
+
185
+ ## Terraform DNS Management
186
+
187
+ ### Route 53 with Terraform
188
+
189
+ ```hcl
190
+ # dns.tf
191
+ resource "aws_route53_zone" "main" {
192
+ name = "example.com"
193
+ }
194
+
195
+ resource "aws_route53_record" "app" {
196
+ zone_id = aws_route53_zone.main.zone_id
197
+ name = "app.example.com"
198
+ type = "A"
199
+ ttl = 300
200
+ records = ["93.184.216.34"]
201
+ }
202
+
203
+ resource "aws_route53_record" "www" {
204
+ zone_id = aws_route53_zone.main.zone_id
205
+ name = "www.example.com"
206
+ type = "CNAME"
207
+ ttl = 300
208
+ records = ["example.com"]
209
+ }
210
+
211
+ # Alias record for CloudFront
212
+ resource "aws_route53_record" "cdn" {
213
+ zone_id = aws_route53_zone.main.zone_id
214
+ name = "example.com"
215
+ type = "A"
216
+
217
+ alias {
218
+ name = aws_cloudfront_distribution.main.domain_name
219
+ zone_id = aws_cloudfront_distribution.main.hosted_zone_id
220
+ evaluate_target_health = false
221
+ }
222
+ }
223
+
224
+ # Email records
225
+ resource "aws_route53_record" "mx" {
226
+ zone_id = aws_route53_zone.main.zone_id
227
+ name = "example.com"
228
+ type = "MX"
229
+ ttl = 3600
230
+ records = [
231
+ "1 aspmx.l.google.com",
232
+ "5 alt1.aspmx.l.google.com",
233
+ "5 alt2.aspmx.l.google.com",
234
+ ]
235
+ }
236
+
237
+ resource "aws_route53_record" "spf" {
238
+ zone_id = aws_route53_zone.main.zone_id
239
+ name = "example.com"
240
+ type = "TXT"
241
+ ttl = 3600
242
+ records = ["v=spf1 include:_spf.google.com ~all"]
243
+ }
244
+
245
+ resource "aws_route53_record" "dmarc" {
246
+ zone_id = aws_route53_zone.main.zone_id
247
+ name = "_dmarc.example.com"
248
+ type = "TXT"
249
+ ttl = 3600
250
+ records = ["v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100"]
251
+ }
252
+ ```
253
+
254
+ ### Cloudflare with Terraform
255
+
256
+ ```hcl
257
+ resource "cloudflare_record" "app" {
258
+ zone_id = var.cloudflare_zone_id
259
+ name = "app"
260
+ content = "93.184.216.34"
261
+ type = "A"
262
+ proxied = true
263
+ }
264
+
265
+ resource "cloudflare_record" "mail" {
266
+ zone_id = var.cloudflare_zone_id
267
+ name = "@"
268
+ content = "aspmx.l.google.com"
269
+ type = "MX"
270
+ priority = 1
271
+ }
272
+ ```
273
+
274
+ ## DNS Troubleshooting Commands
275
+
276
+ ### dig
277
+
278
+ ```bash
279
+ # Query A record
280
+ dig app.example.com A +short
281
+
282
+ # Query from a specific DNS server
283
+ dig @8.8.8.8 app.example.com A
284
+
285
+ # Show full answer with TTL
286
+ dig app.example.com A +noall +answer
287
+
288
+ # Query MX records
289
+ dig example.com MX +short
290
+
291
+ # Trace the full resolution path
292
+ dig app.example.com +trace
293
+
294
+ # Check DNSSEC validation
295
+ dig example.com +dnssec +short
296
+
297
+ # Query TXT records (SPF, DKIM)
298
+ dig example.com TXT +short
299
+ dig default._domainkey.example.com TXT +short
300
+ ```
301
+
302
+ ### nslookup
303
+
304
+ ```bash
305
+ # Basic lookup
306
+ nslookup app.example.com
307
+
308
+ # Specify DNS server
309
+ nslookup app.example.com 8.8.8.8
310
+
311
+ # Query specific record type
312
+ nslookup -type=MX example.com
313
+ nslookup -type=TXT example.com
314
+ ```
315
+
316
+ ### Check DNS Propagation
317
+
318
+ ```bash
319
+ # Query multiple public resolvers
320
+ for dns in 8.8.8.8 1.1.1.1 9.9.9.9 208.67.222.222; do
321
+ echo "=== $dns ==="
322
+ dig @$dns app.example.com A +short
323
+ done
324
+ ```
325
+
326
+ ## Email Security Records
327
+
328
+ ```bash
329
+ # SPF — authorize sending servers
330
+ # TXT record on example.com
331
+ "v=spf1 include:_spf.google.com include:sendgrid.net -all"
332
+
333
+ # DKIM — email signing verification
334
+ # TXT record on google._domainkey.example.com
335
+ # (value provided by your email provider)
336
+
337
+ # DMARC — policy for failed SPF/DKIM
338
+ # TXT record on _dmarc.example.com
339
+ "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; pct=100"
340
+ ```
341
+
342
+ ## TTL Strategies
343
+
344
+ | Scenario | Recommended TTL | Rationale |
345
+ |----------|----------------|-----------|
346
+ | Stable production records | 3600-86400 (1h-24h) | Reduce DNS queries, faster resolution |
347
+ | Pre-migration warmup | 60-300 (1-5 min) | Lower TTL days before migration |
348
+ | During migration/failover | 60 | Fast propagation of changes |
349
+ | Post-migration cooldown | Gradually increase to 3600+ | Return to normal after confirming stability |
350
+ | Load-balanced records | 60-300 | Allow health-check-driven failover |
351
+
352
+ ## Troubleshooting
353
+
354
+ | Symptom | Cause | Fix |
355
+ |---------|-------|-----|
356
+ | DNS changes not visible | TTL not expired on recursive resolvers | Wait for old TTL to expire; lower TTL before next change |
357
+ | `SERVFAIL` response | DNSSEC validation failure or broken delegation | Check NS records at registrar; verify DNSSEC signatures |
358
+ | `NXDOMAIN` for valid record | Wrong hosted zone or missing record | Verify record exists with `dig @<authoritative-ns> domain` |
359
+ | CNAME at zone apex returns error | CNAME not allowed at zone apex per RFC | Use ALIAS (Route53) or proxied A record (Cloudflare) |
360
+ | Email going to spam | Missing or broken SPF/DKIM/DMARC | Verify TXT records with `dig example.com TXT`; test at mail-tester.com |
361
+ | Slow resolution | Recursive resolver far from authoritative NS | Use Anycast DNS providers (Cloudflare, Route53) |
362
+ | Inconsistent results across resolvers | Partial propagation or cache poisoning | Query authoritative NS directly; check for conflicting records |
363
+
364
+ ## Related Skills
365
+
366
+ - cdn-setup (`cdn-setup`) - CDN CNAME and alias record configuration
367
+ - load-balancing (`load-balancing`) - DNS-based load balancing and health checks
368
+ - cloudflare-zero-trust (`cloudflare-zero-trust`) - Tunnel DNS routing
369
+ - reverse-proxy (`reverse-proxy`) - Connecting domains to backend services
370
+
371
+ ## Limitations
372
+
373
+ - Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
374
+ - Docs-only import: upstream scripts and templates not bundled.
375
+