opencode-skills-collection 4.0.67 → 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.
- package/bundled-skills/.antigravity-install-manifest.json +281 -1
- package/bundled-skills/access-review/SKILL.md +394 -0
- package/bundled-skills/access-review/references/details.md +121 -0
- package/bundled-skills/agent-evals/SKILL.md +420 -0
- package/bundled-skills/agent-observability/SKILL.md +346 -0
- package/bundled-skills/agent-observability/references/details.md +786 -0
- package/bundled-skills/ai-agent-security/SKILL.md +393 -0
- package/bundled-skills/ai-agent-security/references/details.md +912 -0
- package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
- package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
- package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
- package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
- package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
- package/bundled-skills/alerting-oncall/SKILL.md +458 -0
- package/bundled-skills/alerting-oncall/references/details.md +84 -0
- package/bundled-skills/anti-slop-design/SKILL.md +393 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/argocd-gitops/SKILL.md +469 -0
- package/bundled-skills/arm-templates/SKILL.md +438 -0
- package/bundled-skills/arm-templates/references/details.md +64 -0
- package/bundled-skills/artifact-yylo/SKILL.md +122 -0
- package/bundled-skills/asset-inventory/SKILL.md +412 -0
- package/bundled-skills/asset-inventory/references/details.md +127 -0
- package/bundled-skills/audit-logging/SKILL.md +476 -0
- package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
- package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
- package/bundled-skills/aws-ec2/SKILL.md +426 -0
- package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
- package/bundled-skills/aws-iam/SKILL.md +463 -0
- package/bundled-skills/aws-lambda/SKILL.md +428 -0
- package/bundled-skills/aws-rds/SKILL.md +380 -0
- package/bundled-skills/aws-s3/SKILL.md +434 -0
- package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
- package/bundled-skills/aws-vpc/SKILL.md +436 -0
- package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
- package/bundled-skills/azure-aks/SKILL.md +423 -0
- package/bundled-skills/azure-devops/SKILL.md +457 -0
- package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
- package/bundled-skills/azure-keyvault/SKILL.md +455 -0
- package/bundled-skills/azure-keyvault/references/details.md +83 -0
- package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
- package/bundled-skills/azure-networking/SKILL.md +448 -0
- package/bundled-skills/azure-networking/references/details.md +135 -0
- package/bundled-skills/azure-sql/SKILL.md +413 -0
- package/bundled-skills/azure-sql/references/details.md +113 -0
- package/bundled-skills/azure-vms/SKILL.md +402 -0
- package/bundled-skills/azure-vms/references/details.md +134 -0
- package/bundled-skills/backup-recovery/SKILL.md +388 -0
- package/bundled-skills/bb-methodology/SKILL.md +451 -0
- package/bundled-skills/bb-methodology/references/details.md +120 -0
- package/bundled-skills/block-storage/SKILL.md +371 -0
- package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
- package/bundled-skills/blue-green-deploy/references/details.md +90 -0
- package/bundled-skills/bug-bounty/SKILL.md +447 -0
- package/bundled-skills/bug-bounty/references/details.md +1316 -0
- package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
- package/bundled-skills/business-continuity/SKILL.md +463 -0
- package/bundled-skills/career-ops/SKILL.md +186 -0
- package/bundled-skills/cdn-setup/SKILL.md +374 -0
- package/bundled-skills/change-management/SKILL.md +438 -0
- package/bundled-skills/change-management/references/details.md +105 -0
- package/bundled-skills/circleci/SKILL.md +475 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
- package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
- package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
- package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
- package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
- package/bundled-skills/cloudformation/SKILL.md +461 -0
- package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
- package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
- package/bundled-skills/container-hardening/SKILL.md +126 -0
- package/bundled-skills/container-registries/SKILL.md +435 -0
- package/bundled-skills/container-scanning/SKILL.md +416 -0
- package/bundled-skills/convex-backend/SKILL.md +338 -0
- package/bundled-skills/dast-scanning/SKILL.md +437 -0
- package/bundled-skills/database-backups/SKILL.md +425 -0
- package/bundled-skills/datadog/SKILL.md +487 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/disaster-recovery/SKILL.md +374 -0
- package/bundled-skills/disaster-recovery/references/details.md +219 -0
- package/bundled-skills/dns-management/SKILL.md +375 -0
- package/bundled-skills/docker-compose/SKILL.md +482 -0
- package/bundled-skills/docker-management/SKILL.md +426 -0
- package/bundled-skills/ebpf-observability/SKILL.md +436 -0
- package/bundled-skills/ebpf-observability/references/details.md +542 -0
- package/bundled-skills/elk-stack/SKILL.md +487 -0
- package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
- package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
- package/bundled-skills/feature-flags/SKILL.md +426 -0
- package/bundled-skills/feature-flags/references/details.md +86 -0
- package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
- package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
- package/bundled-skills/firewall-config/SKILL.md +479 -0
- package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
- package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
- package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
- package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
- package/bundled-skills/gcp-compute/SKILL.md +319 -0
- package/bundled-skills/gcp-gke/SKILL.md +307 -0
- package/bundled-skills/gcp-networking/SKILL.md +293 -0
- package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
- package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
- package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
- package/bundled-skills/gdpr-compliance/references/details.md +145 -0
- package/bundled-skills/geo-audit/SKILL.md +368 -0
- package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
- package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
- package/bundled-skills/geo-citability/SKILL.md +350 -0
- package/bundled-skills/geo-compare/SKILL.md +340 -0
- package/bundled-skills/geo-content/SKILL.md +383 -0
- package/bundled-skills/geo-crawlers/SKILL.md +408 -0
- package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
- package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
- package/bundled-skills/geo-proposal/SKILL.md +378 -0
- package/bundled-skills/geo-prospect/SKILL.md +225 -0
- package/bundled-skills/geo-report/SKILL.md +436 -0
- package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
- package/bundled-skills/geo-schema/SKILL.md +408 -0
- package/bundled-skills/geo-technical/SKILL.md +78 -0
- package/bundled-skills/geo-technical/references/details.md +543 -0
- package/bundled-skills/git-workflow/SKILL.md +460 -0
- package/bundled-skills/github-actions/SKILL.md +368 -0
- package/bundled-skills/gitlab-ci/SKILL.md +340 -0
- package/bundled-skills/google-no-code/SKILL.md +136 -0
- package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
- package/bundled-skills/gpu-server-management/SKILL.md +236 -0
- package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
- package/bundled-skills/helm-charts/SKILL.md +469 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
- package/bundled-skills/hunt-ato/SKILL.md +184 -0
- package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
- package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
- package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
- package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
- package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
- package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
- package/bundled-skills/hunt-cicd/SKILL.md +311 -0
- package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
- package/bundled-skills/hunt-cors/SKILL.md +335 -0
- package/bundled-skills/hunt-dom/SKILL.md +323 -0
- package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
- package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
- package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
- package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
- package/bundled-skills/hunt-grpc/SKILL.md +317 -0
- package/bundled-skills/hunt-host-header/SKILL.md +309 -0
- package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
- package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
- package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
- package/bundled-skills/hunt-idor/SKILL.md +434 -0
- package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
- package/bundled-skills/hunt-k8s/SKILL.md +337 -0
- package/bundled-skills/hunt-laravel/SKILL.md +255 -0
- package/bundled-skills/hunt-ldap/SKILL.md +351 -0
- package/bundled-skills/hunt-lfi/SKILL.md +311 -0
- package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
- package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
- package/bundled-skills/hunt-misc/SKILL.md +378 -0
- package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
- package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
- package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
- package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
- package/bundled-skills/hunt-oauth/SKILL.md +459 -0
- package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
- package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
- package/bundled-skills/hunt-race-condition/references/details.md +159 -0
- package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
- package/bundled-skills/hunt-rce/SKILL.md +444 -0
- package/bundled-skills/hunt-rce/references/details.md +110 -0
- package/bundled-skills/hunt-saml/SKILL.md +156 -0
- package/bundled-skills/hunt-session/SKILL.md +342 -0
- package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
- package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
- package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
- package/bundled-skills/hunt-springboot/SKILL.md +285 -0
- package/bundled-skills/hunt-sqli/SKILL.md +466 -0
- package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
- package/bundled-skills/hunt-ssrf/references/details.md +179 -0
- package/bundled-skills/hunt-ssti/SKILL.md +163 -0
- package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
- package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
- package/bundled-skills/hunt-xxe/SKILL.md +466 -0
- package/bundled-skills/i-have-adhd/SKILL.md +170 -0
- package/bundled-skills/idea-evaluator/SKILL.md +75 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -0
- package/bundled-skills/identity-access-management/SKILL.md +382 -0
- package/bundled-skills/identity-access-management/references/details.md +524 -0
- package/bundled-skills/incident-management/SKILL.md +484 -0
- package/bundled-skills/incident-response/SKILL.md +448 -0
- package/bundled-skills/incident-response/references/details.md +113 -0
- package/bundled-skills/interview-me/SKILL.md +248 -0
- package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
- package/bundled-skills/jenkins/SKILL.md +462 -0
- package/bundled-skills/jev-use/SKILL.md +158 -0
- package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
- package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
- package/bundled-skills/kubernetes-ops/references/details.md +108 -0
- package/bundled-skills/kustomize/SKILL.md +478 -0
- package/bundled-skills/ledger-tasks-yylo/SKILL.md +219 -0
- package/bundled-skills/linux-administration/SKILL.md +367 -0
- package/bundled-skills/linux-hardening/SKILL.md +154 -0
- package/bundled-skills/llm-app-security/SKILL.md +389 -0
- package/bundled-skills/llm-app-security/references/details.md +674 -0
- package/bundled-skills/llm-caching/SKILL.md +334 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
- package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
- package/bundled-skills/llm-gateway/SKILL.md +282 -0
- package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
- package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
- package/bundled-skills/load-balancing/SKILL.md +403 -0
- package/bundled-skills/loki-logging/SKILL.md +479 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/mcp-server-security/SKILL.md +356 -0
- package/bundled-skills/mcp-server-security/references/details.md +745 -0
- package/bundled-skills/mdm-device-management/SKILL.md +404 -0
- package/bundled-skills/mdm-device-management/references/details.md +410 -0
- package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
- package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
- package/bundled-skills/model-registry-governance/SKILL.md +452 -0
- package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
- package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
- package/bundled-skills/mongodb/SKILL.md +436 -0
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
- package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
- package/bundled-skills/mysql/SKILL.md +390 -0
- package/bundled-skills/new-relic/SKILL.md +472 -0
- package/bundled-skills/nfs-storage/SKILL.md +356 -0
- package/bundled-skills/object-storage/SKILL.md +378 -0
- package/bundled-skills/offensive-osint/SKILL.md +443 -0
- package/bundled-skills/okta-attack/SKILL.md +436 -0
- package/bundled-skills/ollama-stack/SKILL.md +379 -0
- package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
- package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
- package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
- package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
- package/bundled-skills/openshift/SKILL.md +485 -0
- package/bundled-skills/opentelemetry/SKILL.md +438 -0
- package/bundled-skills/opentelemetry/references/details.md +78 -0
- package/bundled-skills/opentofu-migration/SKILL.md +349 -0
- package/bundled-skills/osint-methodology/SKILL.md +460 -0
- package/bundled-skills/osint-methodology/references/details.md +1350 -0
- package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
- package/bundled-skills/penetration-testing/SKILL.md +152 -0
- package/bundled-skills/performance-tuning/SKILL.md +381 -0
- package/bundled-skills/plan-ledger-tasks-yylo/SKILL.md +52 -0
- package/bundled-skills/planetscale/SKILL.md +297 -0
- package/bundled-skills/platform-engineering/SKILL.md +348 -0
- package/bundled-skills/platform-engineering/references/details.md +944 -0
- package/bundled-skills/podman/SKILL.md +405 -0
- package/bundled-skills/policy-as-code/SKILL.md +434 -0
- package/bundled-skills/policy-as-code/references/details.md +204 -0
- package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
- package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
- package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
- package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
- package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
- package/bundled-skills/rag-observability-evals/references/details.md +92 -0
- package/bundled-skills/ralph-loop-yylo/SKILL.md +55 -0
- package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
- package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -0
- package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
- package/bundled-skills/redis/SKILL.md +421 -0
- package/bundled-skills/redteam-report-template/SKILL.md +370 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -0
- package/bundled-skills/resumable-implementation-contracts/SKILL.md +254 -0
- package/bundled-skills/reverse-proxy/SKILL.md +420 -0
- package/bundled-skills/runbook-creation/SKILL.md +438 -0
- package/bundled-skills/runbook-creation/references/details.md +71 -0
- package/bundled-skills/saas-security-posture/SKILL.md +415 -0
- package/bundled-skills/sast-scanning/SKILL.md +444 -0
- package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
- package/bundled-skills/security-arsenal/SKILL.md +446 -0
- package/bundled-skills/security-arsenal/references/details.md +540 -0
- package/bundled-skills/security-automation/SKILL.md +146 -0
- package/bundled-skills/semantic-versioning/SKILL.md +434 -0
- package/bundled-skills/semantic-versioning/references/details.md +83 -0
- package/bundled-skills/service-mesh/SKILL.md +422 -0
- package/bundled-skills/soc2-compliance/SKILL.md +409 -0
- package/bundled-skills/sops-encryption/SKILL.md +124 -0
- package/bundled-skills/sre-dashboards/SKILL.md +143 -0
- package/bundled-skills/ssh-configuration/SKILL.md +324 -0
- package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
- package/bundled-skills/ssl-tls-management/references/details.md +99 -0
- package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
- package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
- package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
- package/bundled-skills/systemd-services/SKILL.md +379 -0
- package/bundled-skills/terraform-aws/SKILL.md +125 -0
- package/bundled-skills/terraform-azure/SKILL.md +415 -0
- package/bundled-skills/terraform-azure/references/details.md +231 -0
- package/bundled-skills/terraform-gcp/SKILL.md +369 -0
- package/bundled-skills/threat-modeling/SKILL.md +487 -0
- package/bundled-skills/understand-project-yylo/SKILL.md +62 -0
- package/bundled-skills/user-management/SKILL.md +383 -0
- package/bundled-skills/using-agent-skills/SKILL.md +220 -0
- package/bundled-skills/vector-database-ops/SKILL.md +300 -0
- package/bundled-skills/vendor-management/SKILL.md +439 -0
- package/bundled-skills/vendor-management/references/details.md +109 -0
- package/bundled-skills/vercel-deployments/SKILL.md +296 -0
- package/bundled-skills/vllm-server/SKILL.md +236 -0
- package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
- package/bundled-skills/vpn-setup/SKILL.md +452 -0
- package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
- package/bundled-skills/waf-setup/SKILL.md +354 -0
- package/bundled-skills/waf-setup/references/details.md +211 -0
- package/bundled-skills/weather-model-data-fetching/SKILL.md +277 -0
- package/bundled-skills/weather-observation-fetching/SKILL.md +246 -0
- package/bundled-skills/web2-recon/SKILL.md +440 -0
- package/bundled-skills/web2-recon/references/details.md +319 -0
- package/bundled-skills/web3-audit/SKILL.md +445 -0
- package/bundled-skills/web3-audit/references/details.md +224 -0
- package/bundled-skills/wiki-yylo/SKILL.md +114 -0
- package/bundled-skills/windows-hardening/SKILL.md +454 -0
- package/bundled-skills/windows-hardening/references/details.md +204 -0
- package/bundled-skills/windows-server/SKILL.md +318 -0
- package/bundled-skills/workflow-yylo/SKILL.md +107 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6924 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: llm-inference-scaling
|
|
3
|
+
description: Auto-scale LLM inference clusters on Kubernetes using KEDA, custom GPU
|
|
4
|
+
metrics, and horizontal pod autoscaling.
|
|
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
|
+
# LLM Inference Scaling
|
|
21
|
+
|
|
22
|
+
Scale LLM inference horizontally on Kubernetes with GPU-aware autoscaling, request queuing, and cost-efficient spot instance strategies.
|
|
23
|
+
|
|
24
|
+
## When to Use This Skill
|
|
25
|
+
|
|
26
|
+
Use this skill when:
|
|
27
|
+
- LLM API traffic is unpredictable and you need to scale up/down automatically
|
|
28
|
+
- Managing a fleet of vLLM or TGI inference pods on Kubernetes
|
|
29
|
+
- Reducing inference costs with spot/preemptible GPU instances
|
|
30
|
+
- Implementing queue-based autoscaling for batch inference jobs
|
|
31
|
+
- Building a multi-model serving platform that shares GPU resources
|
|
32
|
+
|
|
33
|
+
## Prerequisites
|
|
34
|
+
|
|
35
|
+
- Kubernetes cluster with GPU nodes (NVIDIA operator installed)
|
|
36
|
+
- KEDA (Kubernetes Event-Driven Autoscaler) installed
|
|
37
|
+
- Prometheus with GPU metrics (`dcgm-exporter` or `gpu-operator`)
|
|
38
|
+
- Helm 3+ for chart deployments
|
|
39
|
+
|
|
40
|
+
## GPU Node Setup
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Install NVIDIA GPU Operator (handles drivers, container toolkit, DCGM)
|
|
44
|
+
helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
|
|
45
|
+
helm repo update
|
|
46
|
+
|
|
47
|
+
helm install gpu-operator nvidia/gpu-operator \
|
|
48
|
+
--namespace gpu-operator \
|
|
49
|
+
--create-namespace \
|
|
50
|
+
--set driver.enabled=true \
|
|
51
|
+
--set dcgm.enabled=true \
|
|
52
|
+
--set devicePlugin.enabled=true
|
|
53
|
+
|
|
54
|
+
# Verify GPU nodes are recognized
|
|
55
|
+
kubectl get nodes -l nvidia.com/gpu.present=true
|
|
56
|
+
kubectl describe node <gpu-node> | grep nvidia
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## vLLM Deployment with GPU Resources
|
|
60
|
+
|
|
61
|
+
```yaml
|
|
62
|
+
apiVersion: apps/v1
|
|
63
|
+
kind: Deployment
|
|
64
|
+
metadata:
|
|
65
|
+
name: vllm-llama-8b
|
|
66
|
+
labels:
|
|
67
|
+
app: vllm
|
|
68
|
+
model: llama-3.1-8b
|
|
69
|
+
spec:
|
|
70
|
+
replicas: 1
|
|
71
|
+
selector:
|
|
72
|
+
matchLabels:
|
|
73
|
+
app: vllm
|
|
74
|
+
model: llama-3.1-8b
|
|
75
|
+
template:
|
|
76
|
+
metadata:
|
|
77
|
+
labels:
|
|
78
|
+
app: vllm
|
|
79
|
+
model: llama-3.1-8b
|
|
80
|
+
spec:
|
|
81
|
+
nodeSelector:
|
|
82
|
+
nvidia.com/gpu.present: "true"
|
|
83
|
+
tolerations:
|
|
84
|
+
- key: nvidia.com/gpu
|
|
85
|
+
operator: Exists
|
|
86
|
+
effect: NoSchedule
|
|
87
|
+
containers:
|
|
88
|
+
- name: vllm
|
|
89
|
+
image: vllm/vllm-openai:latest
|
|
90
|
+
args:
|
|
91
|
+
- "--model"
|
|
92
|
+
- "meta-llama/Llama-3.1-8B-Instruct"
|
|
93
|
+
- "--tensor-parallel-size"
|
|
94
|
+
- "1"
|
|
95
|
+
- "--gpu-memory-utilization"
|
|
96
|
+
- "0.90"
|
|
97
|
+
- "--max-num-seqs"
|
|
98
|
+
- "128"
|
|
99
|
+
resources:
|
|
100
|
+
requests:
|
|
101
|
+
nvidia.com/gpu: "1"
|
|
102
|
+
memory: "20Gi"
|
|
103
|
+
cpu: "4"
|
|
104
|
+
limits:
|
|
105
|
+
nvidia.com/gpu: "1"
|
|
106
|
+
memory: "24Gi"
|
|
107
|
+
cpu: "8"
|
|
108
|
+
ports:
|
|
109
|
+
- containerPort: 8000
|
|
110
|
+
readinessProbe:
|
|
111
|
+
httpGet:
|
|
112
|
+
path: /health
|
|
113
|
+
port: 8000
|
|
114
|
+
initialDelaySeconds: 60
|
|
115
|
+
periodSeconds: 10
|
|
116
|
+
env:
|
|
117
|
+
- name: HUGGING_FACE_HUB_TOKEN
|
|
118
|
+
valueFrom:
|
|
119
|
+
secretKeyRef:
|
|
120
|
+
name: hf-token
|
|
121
|
+
key: token
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## KEDA Autoscaling on Prometheus Metrics
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
apiVersion: keda.sh/v1alpha1
|
|
128
|
+
kind: ScaledObject
|
|
129
|
+
metadata:
|
|
130
|
+
name: vllm-scaledobject
|
|
131
|
+
spec:
|
|
132
|
+
scaleTargetRef:
|
|
133
|
+
name: vllm-llama-8b
|
|
134
|
+
minReplicaCount: 1
|
|
135
|
+
maxReplicaCount: 8
|
|
136
|
+
cooldownPeriod: 300 # 5 min before scale-down
|
|
137
|
+
pollingInterval: 15
|
|
138
|
+
triggers:
|
|
139
|
+
- type: prometheus
|
|
140
|
+
metadata:
|
|
141
|
+
serverAddress: http://prometheus-server.monitoring:9090
|
|
142
|
+
metricName: vllm_num_requests_waiting
|
|
143
|
+
threshold: "10" # scale up if >10 requests waiting
|
|
144
|
+
query: |
|
|
145
|
+
sum(vllm:num_requests_waiting{deployment="vllm-llama-8b"})
|
|
146
|
+
- type: prometheus
|
|
147
|
+
metadata:
|
|
148
|
+
serverAddress: http://prometheus-server.monitoring:9090
|
|
149
|
+
metricName: vllm_gpu_cache_usage
|
|
150
|
+
threshold: "0.8" # scale up if KV cache >80% full
|
|
151
|
+
query: |
|
|
152
|
+
avg(vllm:gpu_cache_usage_perc{deployment="vllm-llama-8b"})
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Queue-Based Scaling (Redis + KEDA)
|
|
156
|
+
|
|
157
|
+
```yaml
|
|
158
|
+
# ScaledJob for async batch inference
|
|
159
|
+
apiVersion: keda.sh/v1alpha1
|
|
160
|
+
kind: ScaledJob
|
|
161
|
+
metadata:
|
|
162
|
+
name: llm-batch-inference
|
|
163
|
+
spec:
|
|
164
|
+
jobTargetRef:
|
|
165
|
+
template:
|
|
166
|
+
spec:
|
|
167
|
+
containers:
|
|
168
|
+
- name: inference-worker
|
|
169
|
+
image: myapp/inference-worker:latest
|
|
170
|
+
env:
|
|
171
|
+
- name: REDIS_URL
|
|
172
|
+
value: redis://redis:6379
|
|
173
|
+
- name: QUEUE_NAME
|
|
174
|
+
value: inference-jobs
|
|
175
|
+
restartPolicy: OnFailure
|
|
176
|
+
minReplicaCount: 0
|
|
177
|
+
maxReplicaCount: 20
|
|
178
|
+
pollingInterval: 5
|
|
179
|
+
successfulJobsHistoryLimit: 3
|
|
180
|
+
triggers:
|
|
181
|
+
- type: redis
|
|
182
|
+
metadata:
|
|
183
|
+
address: redis:6379
|
|
184
|
+
listName: inference-jobs
|
|
185
|
+
listLength: "5" # 1 worker per 5 queued jobs
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Spot Instance Strategy
|
|
189
|
+
|
|
190
|
+
```yaml
|
|
191
|
+
# Mixed node pool: on-demand + spot GPUs
|
|
192
|
+
apiVersion: v1
|
|
193
|
+
kind: ConfigMap
|
|
194
|
+
metadata:
|
|
195
|
+
name: cluster-autoscaler-priority-config
|
|
196
|
+
data:
|
|
197
|
+
priorities: |
|
|
198
|
+
10: # low priority = prefer
|
|
199
|
+
- .*spot.*
|
|
200
|
+
50:
|
|
201
|
+
- .*on-demand.*
|
|
202
|
+
---
|
|
203
|
+
# Node affinity for spot with on-demand fallback
|
|
204
|
+
spec:
|
|
205
|
+
affinity:
|
|
206
|
+
nodeAffinity:
|
|
207
|
+
preferredDuringSchedulingIgnoredDuringExecution:
|
|
208
|
+
- weight: 80
|
|
209
|
+
preference:
|
|
210
|
+
matchExpressions:
|
|
211
|
+
- key: node.kubernetes.io/lifecycle
|
|
212
|
+
operator: In
|
|
213
|
+
values: [spot]
|
|
214
|
+
- weight: 20
|
|
215
|
+
preference:
|
|
216
|
+
matchExpressions:
|
|
217
|
+
- key: node.kubernetes.io/lifecycle
|
|
218
|
+
operator: In
|
|
219
|
+
values: [on-demand]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## Cluster Autoscaler for GPU Nodes
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# AWS EKS — enable cluster autoscaler for GPU node group
|
|
226
|
+
helm install cluster-autoscaler autoscaler/cluster-autoscaler \
|
|
227
|
+
--namespace kube-system \
|
|
228
|
+
--set autoDiscovery.clusterName=my-cluster \
|
|
229
|
+
--set awsRegion=us-east-1 \
|
|
230
|
+
--set rbac.serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=arn:aws:iam::ACCOUNT:role/ClusterAutoscalerRole \
|
|
231
|
+
--set extraArgs.skip-nodes-with-local-storage=false \
|
|
232
|
+
--set extraArgs.expander=least-waste
|
|
233
|
+
|
|
234
|
+
# Annotate GPU node group for autoscaler
|
|
235
|
+
kubectl annotate node <node> \
|
|
236
|
+
cluster-autoscaler.kubernetes.io/safe-to-evict="false"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## Scaling Metrics to Monitor
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# Prometheus queries for scaling decisions
|
|
243
|
+
# Requests waiting in vLLM queue
|
|
244
|
+
sum(vllm:num_requests_waiting) by (model)
|
|
245
|
+
|
|
246
|
+
# GPU KV cache utilization (>80% = bottleneck)
|
|
247
|
+
avg(vllm:gpu_cache_usage_perc) by (pod)
|
|
248
|
+
|
|
249
|
+
# Tokens per second throughput
|
|
250
|
+
sum(rate(vllm:generation_tokens_total[5m])) by (model)
|
|
251
|
+
|
|
252
|
+
# P99 time-to-first-token
|
|
253
|
+
histogram_quantile(0.99, rate(vllm:time_to_first_token_seconds_bucket[5m]))
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## Common Issues
|
|
257
|
+
|
|
258
|
+
| Issue | Cause | Fix |
|
|
259
|
+
|-------|-------|-----|
|
|
260
|
+
| Pods stuck in `Pending` | No GPU nodes available | Check cluster autoscaler logs; verify node group limits |
|
|
261
|
+
| Scale-up too slow | Cluster autoscaler delay + model load time | Pre-warm replicas; increase `minReplicaCount` |
|
|
262
|
+
| GPU fragmentation | Multiple small models on large GPUs | Use MIG partitioning or consolidate model sizes |
|
|
263
|
+
| Spot eviction causes errors | Spot instance reclamation | Add `PodDisruptionBudget`; use graceful shutdown |
|
|
264
|
+
| KEDA not scaling | Prometheus query returns no data | Test query in Prometheus UI first |
|
|
265
|
+
|
|
266
|
+
## Best Practices
|
|
267
|
+
|
|
268
|
+
- Set `minReplicaCount: 1` to avoid cold starts; scale to 0 only for batch jobs.
|
|
269
|
+
- Use `PodDisruptionBudget` with `minAvailable: 1` to survive spot evictions.
|
|
270
|
+
- Pre-pull model weights into a shared PVC to speed up pod startup by 5–10×.
|
|
271
|
+
- Separate model families across node pools (A10G for 7B, A100 for 70B).
|
|
272
|
+
- Use Kubernetes VPA for CPU/memory right-sizing alongside KEDA for replica count.
|
|
273
|
+
|
|
274
|
+
## Related Skills
|
|
275
|
+
|
|
276
|
+
- vllm-server (`vllm-server`) - vLLM configuration and tuning
|
|
277
|
+
- gpu-server-management (`gpu-server-management`) - GPU node setup
|
|
278
|
+
- model-serving-kubernetes (`model-serving-kubernetes`) - KServe
|
|
279
|
+
- kubernetes-ops (`kubernetes-ops`) - Core Kubernetes
|
|
280
|
+
- llm-cost-optimization (`llm-cost-optimization`) - Cost strategies
|
|
281
|
+
|
|
282
|
+
## Limitations
|
|
283
|
+
|
|
284
|
+
- Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
|
|
285
|
+
- Docs-only import: upstream scripts and templates not bundled.
|
|
286
|
+
|