Skip to content

feat(ai-sre): add 7 agent tools — restart/scale/delete/cordon/describe + parallel log analysis - #15

Merged
onkar717 merged 1 commit into
mainfrom
feat/ai-sre-agent-tools
Jun 17, 2026
Merged

feat(ai-sre): add 7 agent tools — restart/scale/delete/cordon/describe + parallel log analysis#15
onkar717 merged 1 commit into
mainfrom
feat/ai-sre-agent-tools

Conversation

@onkar717

Copy link
Copy Markdown
Owner

Summary

  • 5 new runbook tools for runbook_agent and infra_agent
  • 1 new parallel log analysis tool for log_agent
  • All wired into agents.py

New tools

runbook_tools.py

  • restart_deployment(name, namespace)kubectl rollout restart, safe/no-downtime
  • scale_deployment(name, replicas, namespace) — clamped 0–50
  • delete_stuck_pod(name, namespace, force) — optional --grace-period=0
  • cordon_node(name, uncordon) — prevent/re-enable scheduling
  • describe_cluster_resource(type, name, namespace) — safe allowlist: pod/deployment/node/service/pvc/replicaset/statefulset/daemonset/job

log_tools.py

  • analyze_logs_for_namespace(namespace, max_pods) — parallel log analysis via ThreadPoolExecutor(max_workers=5), returns aggregated error counts, category breakdown, worst offender pod

Agent wiring

  • log_agentanalyze_logs_for_namespace
  • infra_agentdescribe_cluster_resource
  • runbook_agentrestart_deployment, scale_deployment, delete_stuck_pod, cordon_node

Test plan

  • analyze_logs_for_namespace returns pod_breakdown sorted by error_count
  • restart_deployment blocked when DRY_RUN=true in config
  • describe_cluster_resource rejects invalid resource_type with error JSON

runbook_tools.py:
- restart_deployment: kubectl rollout restart deployment/X -n Y (safe, no downtime)
- scale_deployment: kubectl scale deployment/X --replicas=N (clamped 0-50)
- delete_stuck_pod: kubectl delete pod X [--force --grace-period=0] for stuck pods
- cordon_node / uncordon_node: prevent scheduling on pressured nodes
- describe_cluster_resource: kubectl describe on pod/deployment/node/service/pvc/etc

log_tools.py:
- analyze_logs_for_namespace: parallel log analysis across all running pods in namespace,
  returns aggregated error counts, categories, worst offender

agents.py:
- log_agent: +analyze_logs_for_namespace
- infra_agent: +describe_cluster_resource
- runbook_agent: +restart_deployment +scale_deployment +delete_stuck_pod +cordon_node
@onkar717 onkar717 closed this Jun 17, 2026
@onkar717 onkar717 reopened this Jun 17, 2026
@onkar717
onkar717 merged commit f22a607 into main Jun 17, 2026
26 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant