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,422 @@
1
+ ---
2
+ name: service-mesh
3
+ description: Implement Istio and Linkerd service meshes. Configure mTLS, traffic management,
4
+ and observability. Use when managing microservices communication.
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
+ # Service Mesh
21
+
22
+ Implement service-to-service communication management with mTLS, traffic shaping, observability, and policy enforcement using Istio or Linkerd.
23
+
24
+ ## When to Use
25
+
26
+ - Securing microservice communication with automatic mTLS.
27
+ - Implementing canary deployments, traffic splitting, or A/B testing.
28
+ - Adding circuit breakers, retries, and timeouts without changing application code.
29
+ - Gaining service-level observability (latency, error rates, request volume).
30
+ - Enforcing authorization policies between services.
31
+
32
+ ## Prerequisites
33
+
34
+ - Kubernetes cluster (1.26+) with kubectl configured.
35
+ - Helm 3 installed (for some installation methods).
36
+ - Sufficient cluster resources (Istio control plane needs ~2 GB RAM).
37
+ - For Istio: `istioctl` CLI installed.
38
+ - For Linkerd: `linkerd` CLI installed.
39
+
40
+ ## Istio Installation
41
+
42
+ ### Install with istioctl
43
+
44
+ ```bash
45
+ # Download istioctl
46
+ curl -L https://istio.io/downloadIstio -o /tmp/downloadIstio.sh && sh /tmp/downloadIstio.sh && rm /tmp/downloadIstio.sh
47
+ cd istio-*
48
+ export PATH=$PWD/bin:$PATH
49
+
50
+ # Install with the production profile
51
+ istioctl install --set profile=default -y
52
+
53
+ # Or use the demo profile (includes all addons, good for learning)
54
+ istioctl install --set profile=demo -y
55
+
56
+ # Verify installation
57
+ istioctl verify-install
58
+
59
+ # Check running components
60
+ kubectl get pods -n istio-system
61
+ ```
62
+
63
+ ### Enable Sidecar Injection
64
+
65
+ ```bash
66
+ # Enable automatic sidecar injection for a namespace
67
+ kubectl label namespace default istio-injection=enabled
68
+
69
+ # Verify label
70
+ kubectl get namespace default --show-labels
71
+
72
+ # Restart existing pods to inject sidecars
73
+ kubectl rollout restart deployment -n default
74
+
75
+ # Check sidecar status
76
+ kubectl get pods -n default -o jsonpath='{range .items[*]}{.metadata.name}{" containers: "}{range .spec.containers[*]}{.name}{" "}{end}{"\n"}{end}'
77
+ ```
78
+
79
+ ### Install Observability Addons
80
+
81
+ ```bash
82
+ # Install Kiali, Prometheus, Grafana, Jaeger
83
+ kubectl apply -f samples/addons/prometheus.yaml
84
+ kubectl apply -f samples/addons/grafana.yaml
85
+ kubectl apply -f samples/addons/jaeger.yaml
86
+ kubectl apply -f samples/addons/kiali.yaml
87
+
88
+ # Wait for rollout
89
+ kubectl rollout status deployment/kiali -n istio-system
90
+
91
+ # Access dashboards
92
+ istioctl dashboard kiali
93
+ istioctl dashboard grafana
94
+ istioctl dashboard jaeger
95
+ ```
96
+
97
+ ## Traffic Management
98
+
99
+ ### VirtualService (Routing Rules)
100
+
101
+ ```yaml
102
+ # virtualservice.yaml — canary deployment with traffic split
103
+ apiVersion: networking.istio.io/v1beta1
104
+ kind: VirtualService
105
+ metadata:
106
+ name: my-app
107
+ namespace: default
108
+ spec:
109
+ hosts:
110
+ - my-app
111
+ http:
112
+ # Header-based routing (canary testers)
113
+ - match:
114
+ - headers:
115
+ x-canary:
116
+ exact: "true"
117
+ route:
118
+ - destination:
119
+ host: my-app
120
+ subset: canary
121
+ # Percentage-based traffic split
122
+ - route:
123
+ - destination:
124
+ host: my-app
125
+ subset: stable
126
+ weight: 90
127
+ - destination:
128
+ host: my-app
129
+ subset: canary
130
+ weight: 10
131
+ timeout: 30s
132
+ retries:
133
+ attempts: 3
134
+ perTryTimeout: 10s
135
+ retryOn: gateway-error,connect-failure,refused-stream
136
+ ```
137
+
138
+ ### DestinationRule (Subsets and Connection Policy)
139
+
140
+ ```yaml
141
+ # destinationrule.yaml
142
+ apiVersion: networking.istio.io/v1beta1
143
+ kind: DestinationRule
144
+ metadata:
145
+ name: my-app
146
+ namespace: default
147
+ spec:
148
+ host: my-app
149
+ trafficPolicy:
150
+ connectionPool:
151
+ tcp:
152
+ maxConnections: 100
153
+ http:
154
+ h2UpgradePolicy: DEFAULT
155
+ http1MaxPendingRequests: 100
156
+ http2MaxRequests: 1000
157
+ maxRequestsPerConnection: 10
158
+ outlierDetection:
159
+ consecutive5xxErrors: 5
160
+ interval: 10s
161
+ baseEjectionTime: 30s
162
+ maxEjectionPercent: 50
163
+ subsets:
164
+ - name: stable
165
+ labels:
166
+ version: v1
167
+ - name: canary
168
+ labels:
169
+ version: v2
170
+ ```
171
+
172
+ ### Gateway (Ingress Traffic)
173
+
174
+ ```yaml
175
+ # gateway.yaml — expose service to external traffic
176
+ apiVersion: networking.istio.io/v1beta1
177
+ kind: Gateway
178
+ metadata:
179
+ name: app-gateway
180
+ namespace: default
181
+ spec:
182
+ selector:
183
+ istio: ingressgateway
184
+ servers:
185
+ - port:
186
+ number: 443
187
+ name: https
188
+ protocol: HTTPS
189
+ tls:
190
+ mode: SIMPLE
191
+ credentialName: app-tls-cert # Kubernetes secret
192
+ hosts:
193
+ - app.example.com
194
+ - port:
195
+ number: 80
196
+ name: http
197
+ protocol: HTTP
198
+ hosts:
199
+ - app.example.com
200
+ tls:
201
+ httpsRedirect: true
202
+ ---
203
+ apiVersion: networking.istio.io/v1beta1
204
+ kind: VirtualService
205
+ metadata:
206
+ name: app-external
207
+ namespace: default
208
+ spec:
209
+ hosts:
210
+ - app.example.com
211
+ gateways:
212
+ - app-gateway
213
+ http:
214
+ - route:
215
+ - destination:
216
+ host: my-app
217
+ port:
218
+ number: 8080
219
+ ```
220
+
221
+ ## mTLS Configuration
222
+
223
+ ### Strict mTLS (Cluster-Wide)
224
+
225
+ ```yaml
226
+ # peer-authentication.yaml
227
+ apiVersion: security.istio.io/v1beta1
228
+ kind: PeerAuthentication
229
+ metadata:
230
+ name: default
231
+ namespace: istio-system # Applies to entire mesh
232
+ spec:
233
+ mtls:
234
+ mode: STRICT
235
+ ```
236
+
237
+ ### Permissive mTLS (Per Namespace)
238
+
239
+ ```yaml
240
+ # Allow both plaintext and mTLS during migration
241
+ apiVersion: security.istio.io/v1beta1
242
+ kind: PeerAuthentication
243
+ metadata:
244
+ name: default
245
+ namespace: legacy-apps
246
+ spec:
247
+ mtls:
248
+ mode: PERMISSIVE
249
+ ```
250
+
251
+ ### Verify mTLS Status
252
+
253
+ ```bash
254
+ # Check mTLS status for a namespace
255
+ istioctl x describe pod <pod-name> -n default
256
+
257
+ # View TLS configuration
258
+ istioctl proxy-config cluster <pod-name>.default --fqdn my-app.default.svc.cluster.local -o json | grep -A5 "tlsContext"
259
+
260
+ # Verify with istioctl authn
261
+ istioctl authn tls-check <pod-name>.default my-app.default.svc.cluster.local
262
+ ```
263
+
264
+ ## Authorization Policies
265
+
266
+ ```yaml
267
+ # authz-policy.yaml — only allow frontend to call API
268
+ apiVersion: security.istio.io/v1beta1
269
+ kind: AuthorizationPolicy
270
+ metadata:
271
+ name: api-access
272
+ namespace: default
273
+ spec:
274
+ selector:
275
+ matchLabels:
276
+ app: my-api
277
+ action: ALLOW
278
+ rules:
279
+ - from:
280
+ - source:
281
+ principals:
282
+ - "cluster.local/ns/default/sa/frontend"
283
+ to:
284
+ - operation:
285
+ methods: ["GET", "POST"]
286
+ paths: ["/api/*"]
287
+ ---
288
+ # Deny all other traffic to api
289
+ apiVersion: security.istio.io/v1beta1
290
+ kind: AuthorizationPolicy
291
+ metadata:
292
+ name: deny-all
293
+ namespace: default
294
+ spec:
295
+ selector:
296
+ matchLabels:
297
+ app: my-api
298
+ action: DENY
299
+ rules:
300
+ - from:
301
+ - source:
302
+ notPrincipals:
303
+ - "cluster.local/ns/default/sa/frontend"
304
+ ```
305
+
306
+ ## Circuit Breaking
307
+
308
+ ```yaml
309
+ # circuit-breaker.yaml
310
+ apiVersion: networking.istio.io/v1beta1
311
+ kind: DestinationRule
312
+ metadata:
313
+ name: my-api-circuit-breaker
314
+ spec:
315
+ host: my-api
316
+ trafficPolicy:
317
+ connectionPool:
318
+ tcp:
319
+ maxConnections: 50
320
+ http:
321
+ http1MaxPendingRequests: 50
322
+ http2MaxRequests: 100
323
+ maxRetries: 3
324
+ outlierDetection:
325
+ consecutive5xxErrors: 3
326
+ interval: 15s
327
+ baseEjectionTime: 60s
328
+ maxEjectionPercent: 100
329
+ ```
330
+
331
+ ## Linkerd Installation
332
+
333
+ ```bash
334
+ # Install Linkerd CLI
335
+ curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install -o /tmp/install-linkerd.sh && sh /tmp/install-linkerd.sh && rm /tmp/install-linkerd.sh
336
+ export PATH=$HOME/.linkerd2/bin:$PATH
337
+
338
+ # Validate cluster prerequisites
339
+ linkerd check --pre
340
+
341
+ # Install Linkerd CRDs
342
+ linkerd install --crds | kubectl apply -f -
343
+
344
+ # Install Linkerd control plane
345
+ linkerd install | kubectl apply -f -
346
+
347
+ # Verify installation
348
+ linkerd check
349
+
350
+ # Inject sidecar into a namespace
351
+ kubectl get deploy -n my-app -o yaml | linkerd inject - | kubectl apply -f -
352
+
353
+ # Or annotate namespace for auto-injection
354
+ kubectl annotate namespace my-app linkerd.io/inject=enabled
355
+
356
+ # View live traffic dashboard
357
+ linkerd viz install | kubectl apply -f -
358
+ linkerd viz dashboard
359
+ ```
360
+
361
+ ### Linkerd Traffic Split (SMI)
362
+
363
+ ```yaml
364
+ # traffic-split.yaml
365
+ apiVersion: split.smi-spec.io/v1alpha4
366
+ kind: TrafficSplit
367
+ metadata:
368
+ name: my-app-split
369
+ namespace: default
370
+ spec:
371
+ service: my-app
372
+ backends:
373
+ - service: my-app-stable
374
+ weight: 900
375
+ - service: my-app-canary
376
+ weight: 100
377
+ ```
378
+
379
+ ## Debugging
380
+
381
+ ```bash
382
+ # Istio: check proxy configuration
383
+ istioctl proxy-config routes <pod-name>.default
384
+ istioctl proxy-config clusters <pod-name>.default
385
+ istioctl proxy-config listeners <pod-name>.default
386
+
387
+ # Istio: analyze configuration for issues
388
+ istioctl analyze -n default
389
+
390
+ # Istio: proxy debug logs
391
+ istioctl proxy-config log <pod-name>.default --level debug
392
+
393
+ # Linkerd: check proxy stats
394
+ linkerd viz stat deploy -n default
395
+ linkerd viz top deploy/my-app -n default
396
+ linkerd viz edges deploy -n default
397
+ ```
398
+
399
+ ## Troubleshooting
400
+
401
+ | Symptom | Cause | Fix |
402
+ |---------|-------|-----|
403
+ | Sidecar not injected | Missing namespace label | Add `istio-injection=enabled` label; restart pods |
404
+ | 503 errors between services | mTLS mismatch (one side plaintext) | Set `PeerAuthentication` to `PERMISSIVE` during migration |
405
+ | High latency after mesh install | Sidecar resource limits too low | Increase sidecar CPU/memory limits in mesh config |
406
+ | VirtualService not routing | Missing DestinationRule subsets | Create matching DestinationRule with subset labels |
407
+ | `upstream connect error` | Circuit breaker tripped | Check outlier detection settings; increase thresholds |
408
+ | Authorization policy blocks everything | Default deny without matching allow rule | Add explicit ALLOW rule before DENY-all |
409
+ | Kiali shows "Unknown" traffic | Missing sidecar on calling service | Inject sidecar into all communicating services |
410
+
411
+ ## Related Skills
412
+
413
+ - load-balancing (`load-balancing`) - Layer 4/7 load balancing outside Kubernetes
414
+ - reverse-proxy (`reverse-proxy`) - Ingress-level proxying
415
+ - ai-inference-service-mesh (`ai-inference-service-mesh`) - Mesh patterns for ML workloads
416
+ - dns-management (`dns-management`) - DNS for mesh ingress gateways
417
+
418
+ ## Limitations
419
+
420
+ - Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
421
+ - Docs-only import: upstream scripts and templates not bundled.
422
+