n8n for Agentic Ops - Build AI agents with Kubernetes-style YAML. No Python required.
AOF is a Rust-based framework that lets DevOps, SRE, and Platform engineers build and orchestrate AI agents using familiar YAML specifications and kubectl-style CLI commands.
β If you find AOF useful, please star this repo! It helps us reach more developers.
If you know Kubernetes, you already know how to use AOF.
| Traditional AI Frameworks | AOF |
|---|---|
| Write Python code (LangChain, CrewAI) | Write YAML specs |
| Learn new programming paradigms | Use kubectl-style CLI |
| Complex dependency management | Single binary, no dependencies |
| Limited tooling integration | Native MCP support + Shell/HTTP/GitHub |
- π― YAML-First: Define agents like K8s resources - no code required
- π οΈ MCP Tooling: Native Model Context Protocol support for extensible tools
- π Multi-Provider: OpenAI, Anthropic, Google Gemini, Ollama, Groq - switch with one line
- π AgentFlow: n8n-style visual DAG workflows for complex automation
- π Production Ready: Built in Rust for performance and reliability
- π§ Ops-Native: kubectl-style CLI that feels familiar
cargo install aofctl# Auto-detect platform and install
curl -sSL https://docs.aof.sh/install.sh | bashOr download manually from GitHub Releases.
Create your first agent:
# Set your API key
export OPENAI_API_KEY=sk-...
# Create a simple agent
cat > my-agent.yaml <<EOF
apiVersion: aof.dev/v1
kind: Agent
metadata:
name: k8s-helper
spec:
model: openai:gpt-4
instructions: |
You are a helpful Kubernetes expert. Help users with kubectl commands,
troubleshoot pod issues, and explain K8s concepts clearly.
tools:
- shell
EOF
# Run it interactively
aofctl run agent my-agent.yaml
# Or with a query
aofctl run agent my-agent.yaml -i "How do I check if my pods are running?"- Slack Bots: Auto-respond to incidents, answer questions
- Incident Response: Auto-remediation workflows with human-in-the-loop
- PR Reviewers: Automated code review and feedback
- Daily Reports: Scheduled cluster health checks and summaries
- On-Call Assistants: Diagnose and fix issues automatically
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β aofctl CLI β
β (kubectl-style user interface) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββΌββββββββββββββββββββββ
β β β
βββββββββΌβββββββββ ββββββββββΌβββββββββ ββββββββββΌβββββββββ
β Agent β β AgentFleet β β AgentFlow β
β (Single AI) β β (Team of AIs) β β (Workflow DAG) β
βββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β β
βββββββββββββββββββββββΌββββββββββββββββββββββ
β
βββββββββββββββββββββββΌββββββββββββββββββββββ
β β β
βββββββββΌβββββββββ ββββββββββΌβββββββββ ββββββββββΌβββββββββ
β LLM Providers β β MCP Servers β β Integrations β
β(OpenAI/Claude/ β β (kubectl/git) β β(Slack/PagerDuty/ β
β Gemini/Ollama) β β β βDiscord/Telegram) β
ββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
π Full documentation at docs.aof.sh
- Getting Started - 5-minute quickstart guide
- Core Concepts - Understand Agents, Fleets, and Flows
- Tutorials - Step-by-step guides
- CLI Reference - Complete CLI documentation
- Examples - Copy-paste ready YAML files
apiVersion: aof.dev/v1
kind: AgentFlow
metadata:
name: incident-response
spec:
trigger:
type: Webhook
config:
path: /pagerduty
nodes:
- id: diagnose
type: Agent
config:
agent: k8s-diagnostic-agent
- id: auto-fix
type: Agent
config:
agent: remediation-agent
conditions:
- severity != "critical"
- id: human-approval
type: Slack
config:
channel: "#sre-alerts"
message: "Critical issue detected. Approve fix?"
conditions:
- severity == "critical"
connections:
- from: diagnose
to: auto-fix
- from: diagnose
to: human-approval- Documentation: docs.aof.sh
- GitHub: github.com/agenticdevops/aof
- Issues: Report bugs or request features
- Discussions: Join the community
β Star us on GitHub - It helps more DevOps engineers discover AOF!
We welcome contributions! See CONTRIBUTING.md for guidelines.
Apache 2.0 - See LICENSE for details.
Built by ops engineers, for ops engineers. π