opencode-skills-collection 4.0.68 → 4.0.70
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 +304 -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/api-integration-architect/SKILL.md +241 -0
- package/bundled-skills/apify-generate-output-schema/SKILL.md +438 -0
- package/bundled-skills/apify-integration-development/SKILL.md +168 -0
- package/bundled-skills/apify-integration-development/references/ai-framework-package.md +158 -0
- package/bundled-skills/apify-integration-development/references/ai-harness-plugin.md +192 -0
- package/bundled-skills/apify-integration-development/references/sdk-integration.md +236 -0
- package/bundled-skills/apify-integration-development/references/workflow-automation.md +163 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/architecture-review/README.md +42 -0
- package/bundled-skills/architecture-review/SKILL.md +77 -0
- package/bundled-skills/architecture-review/examples.md +11 -0
- package/bundled-skills/architecture-review/reference/best-practices.md +7 -0
- package/bundled-skills/architecture-review/reference/capabilities.md +20 -0
- package/bundled-skills/architecture-review/reference/fallbacks.md +11 -0
- package/bundled-skills/architecture-review/reference/graph.md +15 -0
- package/bundled-skills/architecture-review/reference/mcp.md +14 -0
- package/bundled-skills/architecture-review/reference/workflow.md +15 -0
- package/bundled-skills/architecture-review/templates/architecture-review.md +21 -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/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/code-review-sensei/SKILL.md +177 -0
- package/bundled-skills/codebase-onboarding/README.md +42 -0
- package/bundled-skills/codebase-onboarding/SKILL.md +77 -0
- package/bundled-skills/codebase-onboarding/examples.md +11 -0
- package/bundled-skills/codebase-onboarding/reference/best-practices.md +7 -0
- package/bundled-skills/codebase-onboarding/reference/capabilities.md +20 -0
- package/bundled-skills/codebase-onboarding/reference/fallbacks.md +11 -0
- package/bundled-skills/codebase-onboarding/reference/graph.md +15 -0
- package/bundled-skills/codebase-onboarding/reference/mcp.md +14 -0
- package/bundled-skills/codebase-onboarding/reference/workflow.md +15 -0
- package/bundled-skills/codebase-onboarding/templates/repository-onboarding.md +21 -0
- package/bundled-skills/connection-auth-rules/SKILL.md +199 -0
- package/bundled-skills/connection-auth-rules/fetch_schema.py +320 -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-analysis/README.md +42 -0
- package/bundled-skills/dependency-analysis/SKILL.md +76 -0
- package/bundled-skills/dependency-analysis/examples.md +11 -0
- package/bundled-skills/dependency-analysis/reference/best-practices.md +7 -0
- package/bundled-skills/dependency-analysis/reference/capabilities.md +20 -0
- package/bundled-skills/dependency-analysis/reference/fallbacks.md +11 -0
- package/bundled-skills/dependency-analysis/reference/graph.md +15 -0
- package/bundled-skills/dependency-analysis/reference/mcp.md +14 -0
- package/bundled-skills/dependency-analysis/reference/workflow.md +15 -0
- package/bundled-skills/dependency-analysis/templates/dependency-review.md +21 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/devops-pipeline-builder/SKILL.md +200 -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/eas-app-stores/SKILL.md +197 -0
- package/bundled-skills/eas-app-stores/agents/openai.yaml +4 -0
- package/bundled-skills/eas-app-stores/references/app-store-metadata.md +497 -0
- package/bundled-skills/eas-app-stores/references/ios-app-store.md +376 -0
- package/bundled-skills/eas-app-stores/references/native-ios.md +167 -0
- package/bundled-skills/eas-app-stores/references/play-store.md +244 -0
- package/bundled-skills/eas-app-stores/references/testflight.md +62 -0
- package/bundled-skills/eas-app-stores/references/workflows.md +120 -0
- package/bundled-skills/eas-hosting/SKILL.md +448 -0
- package/bundled-skills/eas-hosting/agents/openai.yaml +4 -0
- package/bundled-skills/eas-observe/SKILL.md +75 -0
- package/bundled-skills/eas-observe/agents/openai.yaml +4 -0
- package/bundled-skills/eas-observe/references/metrics.md +98 -0
- package/bundled-skills/eas-observe/references/queries.md +403 -0
- package/bundled-skills/eas-observe/references/setup.md +476 -0
- package/bundled-skills/eas-observe/references/third-party.md +136 -0
- package/bundled-skills/eas-simulator/SKILL.md +251 -0
- package/bundled-skills/eas-simulator/agents/openai.yaml +4 -0
- package/bundled-skills/eas-simulator/references/controllers.md +135 -0
- package/bundled-skills/eas-simulator/references/run-your-app.md +240 -0
- package/bundled-skills/eas-simulator/references/troubleshooting.md +47 -0
- package/bundled-skills/eas-workflows/SKILL.md +119 -0
- package/bundled-skills/eas-workflows/agents/openai.yaml +4 -0
- package/bundled-skills/eas-workflows/scripts/fetch.js +109 -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/expo-animation/LICENSE +21 -0
- package/bundled-skills/expo-animation/RECIPES.md +385 -0
- package/bundled-skills/expo-animation/SKILL.md +295 -0
- package/bundled-skills/expo-animation/agents/openai.yaml +4 -0
- package/bundled-skills/fact-check-x-unified/SKILL.md +178 -0
- package/bundled-skills/fact-check-x-unified/agents/openai.yaml +4 -0
- package/bundled-skills/fact-check-x-unified/references/acceptance-criteria.md +44 -0
- package/bundled-skills/fact-check-x-unified/references/contracts.md +39 -0
- package/bundled-skills/fact-check-x-unified/scripts/common.py +31 -0
- package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +1832 -0
- package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +324 -0
- package/bundled-skills/fact-check-x-unified/tests/anchor_downgrade_test.py +90 -0
- package/bundled-skills/fact-check-x-unified/tests/multi_platform_test.py +369 -0
- package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +740 -0
- package/bundled-skills/fact-check-x-unified/tests/stage_checkpoint_test.py +103 -0
- package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +156 -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/gpt-taste/SKILL.md +8 -1
- 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/hf-cli/SKILL.md +263 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/huggingface-community-evals/SKILL.md +228 -0
- package/bundled-skills/huggingface-community-evals/examples/.env.example +3 -0
- package/bundled-skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
- package/bundled-skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
- package/bundled-skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
- package/bundled-skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
- package/bundled-skills/huggingface-datasets/SKILL.md +130 -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/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-social/SKILL.md +182 -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/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/longbridge-derivatives/SKILL.md +117 -0
- package/bundled-skills/longbridge-derivatives/references/option.md +36 -0
- package/bundled-skills/longbridge-derivatives/references/options-advanced.md +101 -0
- package/bundled-skills/longbridge-derivatives/references/options-pnl.md +74 -0
- package/bundled-skills/longbridge-derivatives/references/options-strategy.md +82 -0
- package/bundled-skills/longbridge-derivatives/references/options-volatility.md +70 -0
- package/bundled-skills/longbridge-derivatives/references/warrant.md +12 -0
- package/bundled-skills/longbridge-quant/SKILL.md +151 -0
- package/bundled-skills/longbridge-quant/references/correlation.md +51 -0
- package/bundled-skills/longbridge-quant/references/execution-model.md +68 -0
- package/bundled-skills/longbridge-quant/references/factor-research.md +95 -0
- package/bundled-skills/longbridge-quant/references/factor-screen.md +101 -0
- package/bundled-skills/longbridge-quant/references/hedging.md +136 -0
- package/bundled-skills/longbridge-quant/references/ml-strategy.md +77 -0
- package/bundled-skills/longbridge-quant/references/multifactor.md +68 -0
- package/bundled-skills/longbridge-quant/references/pairs-trading.md +61 -0
- package/bundled-skills/longbridge-quant/references/quant-cli.md +133 -0
- package/bundled-skills/longbridge-quant/references/quant-stats.md +150 -0
- package/bundled-skills/longbridge-quant/references/seasonality.md +50 -0
- package/bundled-skills/longbridge-quant/references/strategy-optimizer.md +68 -0
- package/bundled-skills/longbridge-quant/references/volatility-strategy.md +52 -0
- package/bundled-skills/longbridge-research/SKILL.md +187 -0
- package/bundled-skills/longbridge-research/references/company-profile.md +96 -0
- package/bundled-skills/longbridge-research/references/company-tearsheet.md +82 -0
- package/bundled-skills/longbridge-research/references/competitive-analysis.md +81 -0
- package/bundled-skills/longbridge-research/references/consensus.md +92 -0
- package/bundled-skills/longbridge-research/references/coverage-initiation.md +76 -0
- package/bundled-skills/longbridge-research/references/defi-yield.md +60 -0
- package/bundled-skills/longbridge-research/references/finance-calendar.md +165 -0
- package/bundled-skills/longbridge-research/references/financial-planning.md +77 -0
- package/bundled-skills/longbridge-research/references/forecast-eps.md +39 -0
- package/bundled-skills/longbridge-research/references/fund-holder.md +44 -0
- package/bundled-skills/longbridge-research/references/hkipo-analysis.md +101 -0
- package/bundled-skills/longbridge-research/references/industry-peers.md +46 -0
- package/bundled-skills/longbridge-research/references/industry-rank.md +62 -0
- package/bundled-skills/longbridge-research/references/insider-trades.md +48 -0
- package/bundled-skills/longbridge-research/references/institution-rating.md +62 -0
- package/bundled-skills/longbridge-research/references/investment-ideas.md +69 -0
- package/bundled-skills/longbridge-research/references/investment-proposal.md +95 -0
- package/bundled-skills/longbridge-research/references/investors.md +87 -0
- package/bundled-skills/longbridge-research/references/onchain.md +70 -0
- package/bundled-skills/longbridge-research/references/post-investment.md +76 -0
- package/bundled-skills/longbridge-research/references/shareholder.md +72 -0
- package/bundled-skills/longbridge-research/references/short-positions.md +50 -0
- package/bundled-skills/longbridge-research/references/short-trades.md +50 -0
- package/bundled-skills/longbridge-research/references/stock-research.md +61 -0
- package/bundled-skills/longbridge-research/references/thesis-tracker.md +64 -0
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/makepad-2-0-animation/SKILL.md +318 -0
- package/bundled-skills/makepad-2-0-animation/references/animator-reference.md +433 -0
- package/bundled-skills/makepad-2-0-dsl/SKILL.md +492 -0
- package/bundled-skills/makepad-2-0-dsl/references/dsl-syntax-reference.md +511 -0
- package/bundled-skills/makepad-2-0-dsl/references/extended-guide.md +56 -0
- package/bundled-skills/makepad-2-0-dsl/references/property-system.md +757 -0
- package/bundled-skills/makepad-2-0-events/SKILL.md +497 -0
- package/bundled-skills/makepad-2-0-events/references/event-patterns.md +802 -0
- package/bundled-skills/makepad-2-0-events/references/extended-guide.md +590 -0
- package/bundled-skills/makepad-2-0-layout/SKILL.md +499 -0
- package/bundled-skills/makepad-2-0-layout/references/extended-guide.md +243 -0
- package/bundled-skills/makepad-2-0-layout/references/layout-patterns.md +881 -0
- package/bundled-skills/makepad-2-0-widgets/SKILL.md +261 -0
- package/bundled-skills/makepad-2-0-widgets/references/widget-advanced.md +648 -0
- package/bundled-skills/makepad-2-0-widgets/references/widget-catalog.md +547 -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/meeting-distiller-pro/SKILL.md +120 -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/monte-carlo-analyze-root-cause/SKILL.md +12 -1
- package/bundled-skills/monte-carlo-asset-health/SKILL.md +12 -1
- package/bundled-skills/monte-carlo-context-detection/SKILL.md +170 -0
- package/bundled-skills/monte-carlo-context-detection/references/signal-definitions.md +46 -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/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/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/remotion-captions/SKILL.md +57 -0
- package/bundled-skills/remotion-captions/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-captions/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-captions/display-captions.md +190 -0
- package/bundled-skills/remotion-captions/import-srt-captions.md +73 -0
- package/bundled-skills/remotion-captions/transcribe-captions.md +70 -0
- package/bundled-skills/remotion-create/SKILL.md +106 -0
- package/bundled-skills/remotion-create/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-create/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-create/tailwind.md +11 -0
- package/bundled-skills/remotion-create/video-layout.md +9 -0
- package/bundled-skills/remotion-docs/SKILL.md +67 -0
- package/bundled-skills/remotion-docs/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-docs/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-interactivity/SKILL.md +270 -0
- package/bundled-skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-interactivity/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-render/SKILL.md +48 -0
- package/bundled-skills/remotion-render/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-render/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-render/transparent-videos.md +106 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -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-pricing-strategist/SKILL.md +169 -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/score-eval/SKILL.md +35 -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/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/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/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/writing-guidelines/SKILL.md +60 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +7874 -277
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: load-balancing
|
|
3
|
+
description: Configure load balancers and traffic distribution. Implement health checks
|
|
4
|
+
and SSL termination. Use when distributing traffic across servers.
|
|
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
|
+
# Load Balancing
|
|
21
|
+
|
|
22
|
+
Distribute traffic across application servers for high availability, scalability, and fault tolerance.
|
|
23
|
+
|
|
24
|
+
## When to Use
|
|
25
|
+
|
|
26
|
+
- Distributing HTTP/HTTPS traffic across multiple backend servers.
|
|
27
|
+
- Implementing health checks to route around unhealthy instances.
|
|
28
|
+
- Terminating TLS at the load balancer for simplified certificate management.
|
|
29
|
+
- Enabling blue/green or canary deployments with traffic shifting.
|
|
30
|
+
- Scaling horizontally behind a single entry point.
|
|
31
|
+
|
|
32
|
+
## Prerequisites
|
|
33
|
+
|
|
34
|
+
- Two or more backend servers running the same application.
|
|
35
|
+
- TLS certificate for HTTPS termination (ACM, Let's Encrypt, or self-signed for internal).
|
|
36
|
+
- For AWS: VPC with public and private subnets across availability zones.
|
|
37
|
+
- For nginx/HAProxy: Linux server with root access.
|
|
38
|
+
|
|
39
|
+
## nginx Load Balancer
|
|
40
|
+
|
|
41
|
+
### Basic Round-Robin
|
|
42
|
+
|
|
43
|
+
```nginx
|
|
44
|
+
# /etc/nginx/conf.d/loadbalancer.conf
|
|
45
|
+
upstream app_backend {
|
|
46
|
+
server 10.0.1.10:8080;
|
|
47
|
+
server 10.0.1.11:8080;
|
|
48
|
+
server 10.0.1.12:8080;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
server {
|
|
52
|
+
listen 80;
|
|
53
|
+
server_name app.example.com;
|
|
54
|
+
return 301 https://$host$request_uri;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
server {
|
|
58
|
+
listen 443 ssl http2;
|
|
59
|
+
server_name app.example.com;
|
|
60
|
+
|
|
61
|
+
ssl_certificate /etc/ssl/certs/app.example.com.pem;
|
|
62
|
+
ssl_certificate_key /etc/ssl/private/app.example.com-key.pem;
|
|
63
|
+
ssl_protocols TLSv1.2 TLSv1.3;
|
|
64
|
+
ssl_ciphers HIGH:!aNULL:!MD5;
|
|
65
|
+
|
|
66
|
+
location / {
|
|
67
|
+
proxy_pass http://app_backend;
|
|
68
|
+
proxy_set_header Host $host;
|
|
69
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
70
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
71
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
72
|
+
|
|
73
|
+
proxy_connect_timeout 5s;
|
|
74
|
+
proxy_read_timeout 30s;
|
|
75
|
+
proxy_send_timeout 30s;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
location /health {
|
|
79
|
+
access_log off;
|
|
80
|
+
return 200 "OK";
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Weighted and Backup Servers
|
|
86
|
+
|
|
87
|
+
```nginx
|
|
88
|
+
upstream app_backend {
|
|
89
|
+
least_conn; # Route to server with fewest active connections
|
|
90
|
+
|
|
91
|
+
server 10.0.1.10:8080 weight=5; # Gets 5x traffic
|
|
92
|
+
server 10.0.1.11:8080 weight=3; # Gets 3x traffic
|
|
93
|
+
server 10.0.1.12:8080 weight=1; # Gets 1x traffic
|
|
94
|
+
server 10.0.1.20:8080 backup; # Only used when others are down
|
|
95
|
+
server 10.0.1.21:8080 down; # Temporarily removed from pool
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Health Checks (nginx Plus / OpenResty)
|
|
100
|
+
|
|
101
|
+
```nginx
|
|
102
|
+
upstream app_backend {
|
|
103
|
+
zone backend 64k; # Shared memory zone for health data
|
|
104
|
+
|
|
105
|
+
server 10.0.1.10:8080;
|
|
106
|
+
server 10.0.1.11:8080;
|
|
107
|
+
server 10.0.1.12:8080;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
# Health check (requires nginx Plus or third-party module)
|
|
111
|
+
# match healthy {
|
|
112
|
+
# status 200;
|
|
113
|
+
# body ~ "OK";
|
|
114
|
+
# }
|
|
115
|
+
# health_check interval=5s fails=3 passes=2 match=healthy;
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Sticky Sessions (IP Hash)
|
|
119
|
+
|
|
120
|
+
```nginx
|
|
121
|
+
upstream app_backend {
|
|
122
|
+
ip_hash; # Same client IP always goes to the same server
|
|
123
|
+
server 10.0.1.10:8080;
|
|
124
|
+
server 10.0.1.11:8080;
|
|
125
|
+
server 10.0.1.12:8080;
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## HAProxy Configuration
|
|
130
|
+
|
|
131
|
+
### Full Production Config
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
# /etc/haproxy/haproxy.cfg
|
|
135
|
+
global
|
|
136
|
+
log /dev/log local0
|
|
137
|
+
maxconn 4096
|
|
138
|
+
daemon
|
|
139
|
+
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
|
|
140
|
+
ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11
|
|
141
|
+
tune.ssl.default-dh-param 2048
|
|
142
|
+
|
|
143
|
+
defaults
|
|
144
|
+
mode http
|
|
145
|
+
log global
|
|
146
|
+
option httplog
|
|
147
|
+
option dontlognull
|
|
148
|
+
option forwardfor
|
|
149
|
+
timeout connect 5s
|
|
150
|
+
timeout client 30s
|
|
151
|
+
timeout server 30s
|
|
152
|
+
timeout http-request 10s
|
|
153
|
+
timeout http-keep-alive 5s
|
|
154
|
+
retries 3
|
|
155
|
+
|
|
156
|
+
frontend http_front
|
|
157
|
+
bind *:80
|
|
158
|
+
redirect scheme https code 301 if !{ ssl_fc }
|
|
159
|
+
|
|
160
|
+
frontend https_front
|
|
161
|
+
bind *:443 ssl crt /etc/ssl/certs/app.example.com.pem
|
|
162
|
+
http-request set-header X-Forwarded-Proto https
|
|
163
|
+
|
|
164
|
+
# Route based on path
|
|
165
|
+
acl is_api path_beg /api/
|
|
166
|
+
acl is_ws path_beg /ws/
|
|
167
|
+
|
|
168
|
+
use_backend api_servers if is_api
|
|
169
|
+
use_backend ws_servers if is_ws
|
|
170
|
+
default_backend web_servers
|
|
171
|
+
|
|
172
|
+
backend web_servers
|
|
173
|
+
balance roundrobin
|
|
174
|
+
option httpchk GET /health HTTP/1.1\r\nHost:\ app.example.com
|
|
175
|
+
http-check expect status 200
|
|
176
|
+
|
|
177
|
+
cookie SERVERID insert indirect nocache
|
|
178
|
+
server web1 10.0.1.10:8080 check inter 5s fall 3 rise 2 cookie web1
|
|
179
|
+
server web2 10.0.1.11:8080 check inter 5s fall 3 rise 2 cookie web2
|
|
180
|
+
server web3 10.0.1.12:8080 check inter 5s fall 3 rise 2 cookie web3
|
|
181
|
+
|
|
182
|
+
backend api_servers
|
|
183
|
+
balance leastconn
|
|
184
|
+
option httpchk GET /api/health
|
|
185
|
+
http-check expect status 200
|
|
186
|
+
|
|
187
|
+
server api1 10.0.2.10:8080 check inter 5s fall 3 rise 2
|
|
188
|
+
server api2 10.0.2.11:8080 check inter 5s fall 3 rise 2
|
|
189
|
+
|
|
190
|
+
backend ws_servers
|
|
191
|
+
balance source
|
|
192
|
+
option httpchk GET /health
|
|
193
|
+
timeout tunnel 1h
|
|
194
|
+
|
|
195
|
+
server ws1 10.0.3.10:8080 check inter 5s fall 3 rise 2
|
|
196
|
+
server ws2 10.0.3.11:8080 check inter 5s fall 3 rise 2
|
|
197
|
+
|
|
198
|
+
listen stats
|
|
199
|
+
bind *:8404
|
|
200
|
+
stats enable
|
|
201
|
+
stats uri /stats
|
|
202
|
+
stats refresh 10s
|
|
203
|
+
stats admin if LOCALHOST
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### HAProxy Management
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
# Test config before reloading
|
|
210
|
+
haproxy -c -f /etc/haproxy/haproxy.cfg
|
|
211
|
+
|
|
212
|
+
# Reload without dropping connections
|
|
213
|
+
sudo systemctl reload haproxy
|
|
214
|
+
|
|
215
|
+
# View stats from CLI
|
|
216
|
+
echo "show stat" | sudo socat stdio /var/run/haproxy/admin.sock
|
|
217
|
+
|
|
218
|
+
# Drain a server (stop new connections, let existing finish)
|
|
219
|
+
echo "set server web_servers/web1 state drain" | sudo socat stdio /var/run/haproxy/admin.sock
|
|
220
|
+
|
|
221
|
+
# Set server to maintenance
|
|
222
|
+
echo "set server web_servers/web1 state maint" | sudo socat stdio /var/run/haproxy/admin.sock
|
|
223
|
+
|
|
224
|
+
# Re-enable server
|
|
225
|
+
echo "set server web_servers/web1 state ready" | sudo socat stdio /var/run/haproxy/admin.sock
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## AWS Application Load Balancer (ALB)
|
|
229
|
+
|
|
230
|
+
### Create ALB via CLI
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
# Create the load balancer
|
|
234
|
+
aws elbv2 create-load-balancer \
|
|
235
|
+
--name my-app-alb \
|
|
236
|
+
--subnets subnet-aaa111 subnet-bbb222 \
|
|
237
|
+
--security-groups sg-xxx123 \
|
|
238
|
+
--type application \
|
|
239
|
+
--scheme internet-facing
|
|
240
|
+
|
|
241
|
+
# Create a target group
|
|
242
|
+
aws elbv2 create-target-group \
|
|
243
|
+
--name my-app-targets \
|
|
244
|
+
--protocol HTTP \
|
|
245
|
+
--port 8080 \
|
|
246
|
+
--vpc-id vpc-xxx123 \
|
|
247
|
+
--health-check-protocol HTTP \
|
|
248
|
+
--health-check-path /health \
|
|
249
|
+
--health-check-interval-seconds 15 \
|
|
250
|
+
--healthy-threshold-count 2 \
|
|
251
|
+
--unhealthy-threshold-count 3 \
|
|
252
|
+
--target-type instance
|
|
253
|
+
|
|
254
|
+
# Register targets
|
|
255
|
+
aws elbv2 register-targets \
|
|
256
|
+
--target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456:targetgroup/my-app-targets/abc123 \
|
|
257
|
+
--targets Id=i-0123456789abc Id=i-0987654321def
|
|
258
|
+
|
|
259
|
+
# Create HTTPS listener
|
|
260
|
+
aws elbv2 create-listener \
|
|
261
|
+
--load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:123456:loadbalancer/app/my-app-alb/abc123 \
|
|
262
|
+
--protocol HTTPS \
|
|
263
|
+
--port 443 \
|
|
264
|
+
--certificates CertificateArn=arn:aws:acm:us-east-1:123456:certificate/abc-123 \
|
|
265
|
+
--default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-east-1:123456:targetgroup/my-app-targets/abc123
|
|
266
|
+
|
|
267
|
+
# Create HTTP redirect listener
|
|
268
|
+
aws elbv2 create-listener \
|
|
269
|
+
--load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:123456:loadbalancer/app/my-app-alb/abc123 \
|
|
270
|
+
--protocol HTTP \
|
|
271
|
+
--port 80 \
|
|
272
|
+
--default-actions Type=redirect,RedirectConfig='{Protocol=HTTPS,Port=443,StatusCode=HTTP_301}'
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Check Target Health
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Check health of registered targets
|
|
279
|
+
aws elbv2 describe-target-health \
|
|
280
|
+
--target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456:targetgroup/my-app-targets/abc123
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
## AWS Network Load Balancer (NLB)
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# Create NLB (for TCP, UDP, or TLS traffic)
|
|
287
|
+
aws elbv2 create-load-balancer \
|
|
288
|
+
--name my-tcp-nlb \
|
|
289
|
+
--subnets subnet-aaa111 subnet-bbb222 \
|
|
290
|
+
--type network \
|
|
291
|
+
--scheme internet-facing
|
|
292
|
+
|
|
293
|
+
# Create TCP target group
|
|
294
|
+
aws elbv2 create-target-group \
|
|
295
|
+
--name my-tcp-targets \
|
|
296
|
+
--protocol TCP \
|
|
297
|
+
--port 5432 \
|
|
298
|
+
--vpc-id vpc-xxx123 \
|
|
299
|
+
--health-check-protocol TCP \
|
|
300
|
+
--target-type ip
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## ALB with Terraform
|
|
304
|
+
|
|
305
|
+
```hcl
|
|
306
|
+
resource "aws_lb" "app" {
|
|
307
|
+
name = "my-app-alb"
|
|
308
|
+
internal = false
|
|
309
|
+
load_balancer_type = "application"
|
|
310
|
+
security_groups = [aws_security_group.alb.id]
|
|
311
|
+
subnets = var.public_subnet_ids
|
|
312
|
+
|
|
313
|
+
enable_deletion_protection = true
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
resource "aws_lb_target_group" "app" {
|
|
317
|
+
name = "my-app-tg"
|
|
318
|
+
port = 8080
|
|
319
|
+
protocol = "HTTP"
|
|
320
|
+
vpc_id = var.vpc_id
|
|
321
|
+
|
|
322
|
+
health_check {
|
|
323
|
+
path = "/health"
|
|
324
|
+
port = "traffic-port"
|
|
325
|
+
healthy_threshold = 2
|
|
326
|
+
unhealthy_threshold = 3
|
|
327
|
+
timeout = 5
|
|
328
|
+
interval = 15
|
|
329
|
+
matcher = "200"
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
deregistration_delay = 30
|
|
333
|
+
|
|
334
|
+
stickiness {
|
|
335
|
+
type = "lb_cookie"
|
|
336
|
+
cookie_duration = 86400
|
|
337
|
+
enabled = true
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
resource "aws_lb_listener" "https" {
|
|
342
|
+
load_balancer_arn = aws_lb.app.arn
|
|
343
|
+
port = 443
|
|
344
|
+
protocol = "HTTPS"
|
|
345
|
+
ssl_policy = "ELBSecurityPolicy-TLS13-1-2-2021-06"
|
|
346
|
+
certificate_arn = aws_acm_certificate.cert.arn
|
|
347
|
+
|
|
348
|
+
default_action {
|
|
349
|
+
type = "forward"
|
|
350
|
+
target_group_arn = aws_lb_target_group.app.arn
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
resource "aws_lb_listener" "http_redirect" {
|
|
355
|
+
load_balancer_arn = aws_lb.app.arn
|
|
356
|
+
port = 80
|
|
357
|
+
protocol = "HTTP"
|
|
358
|
+
|
|
359
|
+
default_action {
|
|
360
|
+
type = "redirect"
|
|
361
|
+
redirect {
|
|
362
|
+
port = "443"
|
|
363
|
+
protocol = "HTTPS"
|
|
364
|
+
status_code = "HTTP_301"
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Load Balancing Algorithms
|
|
371
|
+
|
|
372
|
+
| Algorithm | Use Case | nginx | HAProxy |
|
|
373
|
+
|-----------|----------|-------|---------|
|
|
374
|
+
| Round Robin | Default, equal servers | `(default)` | `balance roundrobin` |
|
|
375
|
+
| Least Connections | Uneven request durations | `least_conn` | `balance leastconn` |
|
|
376
|
+
| IP Hash | Session persistence without cookies | `ip_hash` | `balance source` |
|
|
377
|
+
| URI Hash | Cache locality per URL | `hash $request_uri` | `balance uri` |
|
|
378
|
+
| Random with Two | Large server pools | `random two least_conn` | `balance random(2)` |
|
|
379
|
+
|
|
380
|
+
## Troubleshooting
|
|
381
|
+
|
|
382
|
+
| Symptom | Cause | Fix |
|
|
383
|
+
|---------|-------|-----|
|
|
384
|
+
| All backends show "unhealthy" | Health check path returns non-200 | Verify `/health` endpoint returns 200; check security groups |
|
|
385
|
+
| 502 Bad Gateway | Backend not running or wrong port | Confirm backend is listening on the configured port |
|
|
386
|
+
| Uneven traffic distribution | Sticky sessions or weighted config | Check session affinity settings; review server weights |
|
|
387
|
+
| Connection timeouts | Backend too slow or timeout too low | Increase `proxy_read_timeout` or HAProxy `timeout server` |
|
|
388
|
+
| TLS handshake failures | Certificate mismatch or expired cert | Verify cert matches the domain; renew if expired |
|
|
389
|
+
| ALB returns 503 | No healthy targets registered | Check target group health; verify targets are in correct subnets |
|
|
390
|
+
| WebSocket disconnects | Proxy not configured for upgrades | Add `proxy_set_header Upgrade` and `Connection "upgrade"` |
|
|
391
|
+
|
|
392
|
+
## Related Skills
|
|
393
|
+
|
|
394
|
+
- reverse-proxy (`reverse-proxy`) - Reverse proxy configuration patterns
|
|
395
|
+
- dns-management (`dns-management`) - DNS records pointing to load balancers
|
|
396
|
+
- cdn-setup (`cdn-setup`) - CDN in front of load balanced origins
|
|
397
|
+
- service-mesh (`service-mesh`) - Service-level load balancing in Kubernetes
|
|
398
|
+
|
|
399
|
+
## Limitations
|
|
400
|
+
|
|
401
|
+
- Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
|
|
402
|
+
- Docs-only import: upstream scripts and templates not bundled.
|
|
403
|
+
|