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,435 @@
1
+ ---
2
+ name: container-registries
3
+ description: Manage container registries including ECR, ACR, GCR, and Docker Hub.
4
+ category: devops
5
+ risk: critical
6
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
7
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
8
+ source_type: community
9
+ date_added: '2026-09-20'
10
+ license: MIT
11
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
12
+ compatibility: Requires the relevant platform CLIs (kubectl, helm, terraform, git,
13
+ CI runners) and authorized access to the target environment. Docs-only; helper scripts
14
+ and templates not bundled.
15
+ metadata:
16
+ author: devops-skills
17
+ version: '1.0'
18
+ ---
19
+
20
+ # Container Registries
21
+
22
+ Store, manage, and distribute container images across cloud and self-hosted registries.
23
+
24
+ ## When to Use This Skill
25
+
26
+ Use this skill when:
27
+ - Pushing and pulling container images
28
+ - Configuring registry authentication
29
+ - Setting up image retention policies
30
+ - Managing private container registries
31
+ - Implementing image scanning and security
32
+
33
+ ## Prerequisites
34
+
35
+ - Docker or Podman installed
36
+ - Cloud CLI tools (AWS CLI, az, gcloud) for respective registries
37
+ - Appropriate IAM permissions
38
+
39
+ ## Docker Hub
40
+
41
+ ### Authentication
42
+
43
+ ```bash
44
+ # Login
45
+ docker login
46
+
47
+ # Login with token
48
+ echo "$DOCKER_TOKEN" | docker login -u username --password-stdin
49
+ ```
50
+
51
+ ### Push/Pull Images
52
+
53
+ ```bash
54
+ # Tag image
55
+ docker tag myapp:latest username/myapp:latest
56
+
57
+ # Push
58
+ docker push username/myapp:latest
59
+
60
+ # Pull
61
+ docker pull username/myapp:latest
62
+ ```
63
+
64
+ ### Automated Builds
65
+
66
+ Configure in Docker Hub UI:
67
+ 1. Connect GitHub/Bitbucket repository
68
+ 2. Set build rules (branch → tag mapping)
69
+ 3. Configure build context and Dockerfile path
70
+
71
+ ## Amazon ECR
72
+
73
+ ### Setup
74
+
75
+ ```bash
76
+ # Create repository
77
+ aws ecr create-repository \
78
+ --repository-name myapp \
79
+ --image-scanning-configuration scanOnPush=true \
80
+ --encryption-configuration encryptionType=AES256
81
+
82
+ # Get registry URI
83
+ REGISTRY=$(aws ecr describe-repositories \
84
+ --repository-names myapp \
85
+ --query 'repositories[0].repositoryUri' \
86
+ --output text | cut -d'/' -f1)
87
+ ```
88
+
89
+ ### Authentication
90
+
91
+ ```bash
92
+ # Login (Docker)
93
+ aws ecr get-login-password --region us-east-1 | \
94
+ docker login --username AWS --password-stdin $REGISTRY
95
+
96
+ # Login with credential helper
97
+ # Add to ~/.docker/config.json:
98
+ {
99
+ "credHelpers": {
100
+ "123456789.dkr.ecr.us-east-1.amazonaws.com": "ecr-login"
101
+ }
102
+ }
103
+ ```
104
+
105
+ ### Push/Pull
106
+
107
+ ```bash
108
+ # Tag and push
109
+ docker tag myapp:latest $REGISTRY/myapp:latest
110
+ docker push $REGISTRY/myapp:latest
111
+
112
+ # Pull
113
+ docker pull $REGISTRY/myapp:latest
114
+ ```
115
+
116
+ ### Lifecycle Policy
117
+
118
+ ```bash
119
+ # Create lifecycle policy
120
+ aws ecr put-lifecycle-policy \
121
+ --repository-name myapp \
122
+ --lifecycle-policy-text '{
123
+ "rules": [
124
+ {
125
+ "rulePriority": 1,
126
+ "description": "Keep last 10 images",
127
+ "selection": {
128
+ "tagStatus": "any",
129
+ "countType": "imageCountMoreThan",
130
+ "countNumber": 10
131
+ },
132
+ "action": {
133
+ "type": "expire"
134
+ }
135
+ }
136
+ ]
137
+ }'
138
+ ```
139
+
140
+ ### Repository Policy
141
+
142
+ ```bash
143
+ # Allow cross-account access
144
+ aws ecr set-repository-policy \
145
+ --repository-name myapp \
146
+ --policy-text '{
147
+ "Version": "2012-10-17",
148
+ "Statement": [
149
+ {
150
+ "Sid": "CrossAccountPull",
151
+ "Effect": "Allow",
152
+ "Principal": {
153
+ "AWS": "arn:aws:iam::OTHER_ACCOUNT:root"
154
+ },
155
+ "Action": [
156
+ "ecr:GetDownloadUrlForLayer",
157
+ "ecr:BatchGetImage"
158
+ ]
159
+ }
160
+ ]
161
+ }'
162
+ ```
163
+
164
+ ## Azure Container Registry (ACR)
165
+
166
+ ### Setup
167
+
168
+ ```bash
169
+ # Create registry
170
+ az acr create \
171
+ --resource-group mygroup \
172
+ --name myregistry \
173
+ --sku Standard \
174
+ --admin-enabled false
175
+
176
+ # Get login server
177
+ az acr show --name myregistry --query loginServer -o tsv
178
+ ```
179
+
180
+ ### Authentication
181
+
182
+ ```bash
183
+ # Login with Azure CLI
184
+ az acr login --name myregistry
185
+
186
+ # Login with service principal
187
+ docker login myregistry.azurecr.io \
188
+ -u $SP_APP_ID \
189
+ -p $SP_PASSWORD
190
+
191
+ # Get access token
192
+ az acr login --name myregistry --expose-token
193
+ ```
194
+
195
+ ### Push/Pull
196
+
197
+ ```bash
198
+ # Tag and push
199
+ docker tag myapp:latest myregistry.azurecr.io/myapp:latest
200
+ docker push myregistry.azurecr.io/myapp:latest
201
+
202
+ # ACR Build (build in cloud)
203
+ az acr build \
204
+ --registry myregistry \
205
+ --image myapp:latest \
206
+ --file Dockerfile .
207
+ ```
208
+
209
+ ### Retention Policy
210
+
211
+ ```bash
212
+ # Enable retention policy
213
+ az acr config retention update \
214
+ --registry myregistry \
215
+ --status enabled \
216
+ --days 30 \
217
+ --type UntaggedManifests
218
+ ```
219
+
220
+ ### Geo-Replication
221
+
222
+ ```bash
223
+ # Enable replication
224
+ az acr replication create \
225
+ --registry myregistry \
226
+ --location westeurope
227
+
228
+ # List replications
229
+ az acr replication list --registry myregistry
230
+ ```
231
+
232
+ ## Google Container Registry (GCR) / Artifact Registry
233
+
234
+ ### Setup (Artifact Registry)
235
+
236
+ ```bash
237
+ # Create repository
238
+ gcloud artifacts repositories create myrepo \
239
+ --repository-format=docker \
240
+ --location=us-central1 \
241
+ --description="Docker repository"
242
+ ```
243
+
244
+ ### Authentication
245
+
246
+ ```bash
247
+ # Configure Docker auth
248
+ gcloud auth configure-docker us-central1-docker.pkg.dev
249
+
250
+ # Or use credential helper
251
+ gcloud auth print-access-token | \
252
+ docker login -u oauth2accesstoken --password-stdin \
253
+ https://us-central1-docker.pkg.dev
254
+ ```
255
+
256
+ ### Push/Pull
257
+
258
+ ```bash
259
+ # Tag for Artifact Registry
260
+ docker tag myapp:latest \
261
+ us-central1-docker.pkg.dev/PROJECT_ID/myrepo/myapp:latest
262
+
263
+ # Push
264
+ docker push us-central1-docker.pkg.dev/PROJECT_ID/myrepo/myapp:latest
265
+
266
+ # Pull
267
+ docker pull us-central1-docker.pkg.dev/PROJECT_ID/myrepo/myapp:latest
268
+ ```
269
+
270
+ ### Cleanup Policy
271
+
272
+ ```bash
273
+ # Create cleanup policy
274
+ gcloud artifacts repositories set-cleanup-policies myrepo \
275
+ --location=us-central1 \
276
+ --policy=policy.json
277
+
278
+ # policy.json
279
+ {
280
+ "name": "delete-old",
281
+ "action": {"type": "Delete"},
282
+ "condition": {
283
+ "olderThan": "30d",
284
+ "tagState": "untagged"
285
+ }
286
+ }
287
+ ```
288
+
289
+ ## GitHub Container Registry (GHCR)
290
+
291
+ ### Authentication
292
+
293
+ ```bash
294
+ # Login with PAT
295
+ echo "$GITHUB_TOKEN" | docker login ghcr.io -u USERNAME --password-stdin
296
+ ```
297
+
298
+ ### Push/Pull
299
+
300
+ ```bash
301
+ # Tag
302
+ docker tag myapp:latest ghcr.io/OWNER/myapp:latest
303
+
304
+ # Push
305
+ docker push ghcr.io/OWNER/myapp:latest
306
+
307
+ # Pull
308
+ docker pull ghcr.io/OWNER/myapp:latest
309
+ ```
310
+
311
+ ### Visibility Settings
312
+
313
+ Configure in GitHub:
314
+ 1. Go to package settings
315
+ 2. Change visibility (public/private)
316
+ 3. Manage access for teams/users
317
+
318
+ ## Self-Hosted Registry
319
+
320
+ ### Deploy with Docker
321
+
322
+ ```bash
323
+ # Run registry
324
+ docker run -d -p 5000:5000 \
325
+ --name registry \
326
+ -v registry-data:/var/lib/registry \
327
+ registry:2
328
+
329
+ # Configure TLS
330
+ docker run -d -p 443:5000 \
331
+ --name registry \
332
+ -v /certs:/certs \
333
+ -v registry-data:/var/lib/registry \
334
+ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
335
+ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
336
+ registry:2
337
+ ```
338
+
339
+ ### Harbor Registry
340
+
341
+ ```bash
342
+ # Download Harbor
343
+ wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-online-installer-v2.9.0.tgz
344
+ tar xzvf harbor-online-installer-v2.9.0.tgz
345
+
346
+ # Configure harbor.yml
347
+ # Set hostname, https certificate, admin password
348
+
349
+ # Install
350
+ ./install.sh --with-trivy --with-chartmuseum
351
+ ```
352
+
353
+ ## Image Security
354
+
355
+ ### Vulnerability Scanning
356
+
357
+ ```bash
358
+ # ECR - Enable scan on push
359
+ aws ecr put-image-scanning-configuration \
360
+ --repository-name myapp \
361
+ --image-scanning-configuration scanOnPush=true
362
+
363
+ # Get scan results
364
+ aws ecr describe-image-scan-findings \
365
+ --repository-name myapp \
366
+ --image-id imageTag=latest
367
+
368
+ # ACR - Scan with Defender
369
+ az acr task create \
370
+ --registry myregistry \
371
+ --name scan-images \
372
+ --cmd "mcr.microsoft.com/azure-cli az acr run-scan"
373
+ ```
374
+
375
+ ### Image Signing
376
+
377
+ ```bash
378
+ # Enable content trust
379
+ export DOCKER_CONTENT_TRUST=1
380
+
381
+ # Sign image on push
382
+ docker push myregistry/myapp:latest
383
+
384
+ # Verify signature
385
+ docker trust inspect myregistry/myapp:latest
386
+ ```
387
+
388
+ ## Common Issues
389
+
390
+ ### Issue: Authentication Expired
391
+ **Problem**: Push/pull fails with auth error
392
+ **Solution**: Re-run login command, check credential helper
393
+
394
+ ### Issue: Image Not Found
395
+ **Problem**: Pull fails with manifest unknown
396
+ **Solution**: Verify tag exists, check registry URL
397
+
398
+ ### Issue: Push Permission Denied
399
+ **Problem**: Cannot push to repository
400
+ **Solution**: Check IAM permissions, verify repository exists
401
+
402
+ ### Issue: Rate Limiting (Docker Hub)
403
+ **Problem**: Too many requests error
404
+ **Solution**: Authenticate for higher limits, use pull-through cache
405
+
406
+ ## Best Practices
407
+
408
+ - Enable vulnerability scanning on all repositories
409
+ - Implement lifecycle policies to manage storage costs
410
+ - Use immutable tags for production images
411
+ - Configure cross-region replication for availability
412
+ - Use service accounts/principals for CI/CD authentication
413
+ - Enable audit logging for compliance
414
+ - Implement image signing for supply chain security
415
+ - Use pull-through cache to avoid rate limits
416
+
417
+ ## Related Skills
418
+
419
+ - docker-management (`docker-management`) - Building images
420
+ - container-scanning (`container-scanning`) - Security scanning
421
+ - aws-iam (`aws-iam`) - AWS permissions
422
+
423
+ ## Limitations
424
+
425
+ - Guidance executes against real environments: confirm target, blast radius, and rollback plan before applying anything.
426
+ - Never deploy to production without explicit approval. Docs-only import: upstream scripts and templates not bundled.
427
+
428
+ ### Example
429
+
430
+ ```bash
431
+ git status && git diff --stat
432
+ kubectl diff -f manifest.yaml
433
+ ```
434
+
435
+ > Adapted from [BagelHole/DevOps-Security-Agent-Skills](https://github.com/BagelHole/DevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.