Files
Pulse/docs/operations/ADAPTIVE_POLLING_ROLLOUT.md
rcourtman 2b48b0a459 feat: add --kube-include-all-deployments flag for Kubernetes agent
Adds IncludeAllDeployments option to show all deployments, not just
problem ones (where replicas don't match desired). This provides parity
with the existing --kube-include-all-pods flag.

- Add IncludeAllDeployments to kubernetesagent.Config
- Add --kube-include-all-deployments flag and PULSE_KUBE_INCLUDE_ALL_DEPLOYMENTS env var
- Update collectDeployments to respect the new flag
- Add test for IncludeAllDeployments functionality
- Update UNIFIED_AGENT.md documentation

Addresses feedback from PR #855
2025-12-18 20:58:30 +00:00

1.2 KiB

🚀 Adaptive Polling Rollout

Safely enable dynamic scheduling (v5+).

📋 Pre-Flight

  1. Snapshot Health:
    curl -s -H "X-API-Token: $TOKEN" http://localhost:7655/api/monitoring/scheduler/health | jq .
    
  2. Check Metrics: Ensure pulse_monitor_poll_queue_depth is stable.

🟢 Enable

Choose one method:

  • UI: Not currently exposed in the v5 UI (use CLI or env vars).
  • CLI:
    • systemd/LXC: jq '.adaptivePollingEnabled=true' /etc/pulse/system.json > /tmp/system.json && sudo mv /tmp/system.json /etc/pulse/system.json
    • Docker/Kubernetes: edit /data/system.json in the volume and restart the container/pod
  • Env: ADAPTIVE_POLLING_ENABLED=true (Docker/K8s).

🔍 Monitor (First 15m)

Watch for stability:

watch -n 5 'curl -s http://localhost:9091/metrics | grep pulse_monitor_poll_queue_depth'
  • Success: Queue depth < 50, no permanent errors.
  • Failure: High queue depth, open breakers.

↩️ Rollback

If instability occurs > 10m:

  1. Disable: Remove the env var override or set adaptivePollingEnabled=false in system.json.
  2. Restart: Required if using Env/CLI overrides.
  3. Verify: Confirm queue drains.