{"id":49148758,"url":"https://github.com/berrybytes/01agent","last_synced_at":"2026-04-22T05:05:09.770Z","repository":{"id":343225053,"uuid":"1174158303","full_name":"BerryBytes/01agent","owner":"BerryBytes","description":"Kubernetes Alert Remediation System An intelligent Kubernetes alert remediation platform powered by LLM agents and LangGraph. Features a modern React web interface (L0) and specialized remediation agent (L1) that analyzes monitoring alerts, retrieves live cluster context via MCP, and generates executable remediation scripts.","archived":false,"fork":false,"pushed_at":"2026-04-07T11:51:23.000Z","size":679,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-07T13:29:12.761Z","etag":null,"topics":["a2a-protocol","agentic-ai-development","agentic-workflow","deepagents-langgraph","k8s","kubernetes","lanchain","langraph","mcp-server","sre-agent-tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BerryBytes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-06T06:05:13.000Z","updated_at":"2026-03-10T06:02:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/BerryBytes/01agent","commit_stats":null,"previous_names":["berrybytes/01agent"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/BerryBytes/01agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BerryBytes","download_url":"https://codeload.github.com/BerryBytes/01agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32122005,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a2a-protocol","agentic-ai-development","agentic-workflow","deepagents-langgraph","k8s","kubernetes","lanchain","langraph","mcp-server","sre-agent-tools"],"created_at":"2026-04-22T05:05:06.883Z","updated_at":"2026-04-22T05:05:09.765Z","avatar_url":"https://github.com/BerryBytes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 01Agents: Kubernetes Alert Remediation System\n\n[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)\n[![React Router v7](https://img.shields.io/badge/React_Router-v7-green.svg)](https://reactrouter.com/)\n[![LangGraph](https://img.shields.io/badge/LangGraph-1.0.5-green.svg)](https://langchain.com/langgraph)\n[![MCP](https://img.shields.io/badge/MCP-1.24.0-orange.svg)](https://modelcontextprotocol.io/)\n\nA Kubernetes alert remediation system with a modern web interface and intelligent remediation agent. This platform analyzes monitoring alerts, fetches live cluster context, and generates executable remediation scripts through LLM‑powered workflows.\n\n## 🏗️ Architecture Overview\n\nThe system follows a two‑tier hierarchical architecture:\n\n```\nMonitoring Alerts → L0 Client (UI) → L1 Remediation Agent → Remediation Scripts\n```\n\n### **L0 Client: React Router v7 Web Interface**\n- **Role**: Modern web interface for alert management and visualization.\n- **Port**: Default `3000`.\n\n### **L1: Kubernetes Alert Remediation Agent**\n- **Role**: LangGraph‑powered remediation specialist using specialized subagents.\n- **Port**: Default `10001`.\n\n---\n\n## 🚀 Quick Start\n\n### Clone the Repository\n\n```bash\ngit clone git@github.com:BerryBytes/01agent.git\ncd 01agent\n```\n\n### Choose Your Deployment Approach\n\n- **[Approach 1: Using Pre-built Images](#approach-1-using-pre-built-images)** (Recommended for most users)\n- **[Approach 2: Building Custom Images](#approach-2-building-custom-images)** (For developers modifying source code)\n\n---\n\n## Approach 1: Using Pre-built Images\n\nDeploy using ready-to-use images from the `01community` registry. Perfect for quick setup and production use.\n\n### Prerequisites\n\n- **Kubernetes cluster** (Kind, Minikube, or Cloud)\n- **Helm 3+**\n- **LLM API Key** (OpenRouter, DeepSeek, Google, or Anthropic)\n\n### Step 1: Install MCP Server for Kubernetes\n\nThe MCP (Model Context Protocol) Server provides Kubernetes tools for the agents.\n\n#### Clone the MCP Server repository\n\n```bash\ngit clone https://github.com/Flux159/mcp-server-kubernetes.git\n```\n\n#### Update the schema (Required)\n\n```bash\npython3 -c \"\nimport json\nwith open('mcp-server-kubernetes/helm-chart/values.schema.json') as f:\n    schema = json.load(f)\n\nschema['properties']['observability'] = {\n    'type': 'object',\n    'additionalProperties': True\n}\n\nwith open('mcp-server-kubernetes/helm-chart/values.schema.json', 'w') as f:\n    json.dump(schema, f, indent=2)\nprint('Schema updated successfully!')\n\"\n```\n\n#### Install the MCP Server\n\n```bash\nhelm install mcp-server ./mcp-server-kubernetes/helm-chart \\\n  --set kubeconfig.provider=serviceaccount \\\n  --set transport.mode=http \\\n  --set transport.service.type=ClusterIP \\\n  --set security.allowOnlyNonDestructive=false \\\n  --create-namespace \\\n  --namespace mcp-system\n```\n\n### Step 2: Install PostgreSQL Operator\n\nThe agents use PostgreSQL for long-term memory. We use the CrunchyData Operator to manage it.\n\n#### Install OLM (Operator Lifecycle Manager)\n\n```bash\ncurl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.40.0/install.sh | bash -s v0.40.0\n```\n\n\u003e [!IMPORTANT]\n\u003e OLM installation can take a few minutes. Please ensure all OLM pods in the `olm` namespace are in the **Running** state before proceeding.\n\n#### Install the PostgreSQL Operator\n\n```bash\nkubectl create -f https://operatorhub.io/install/postgresql.yaml\n```\n\n### Step 3: Configure Agent Settings\n\nEdit `helm-chart/values.yaml` to configure your LLM provider and API key.\nYou must set the `MODEL_PROVIDER`, `MODEL_NAME` and provide the corresponding API key in the `secret` section.\n\n```yaml\nagents:\n  - name: l0\n    enabled: true\n    image: 01community/agent-l0:v1\n\n  - name: l1\n    enabled: true\n    image: 01community/agent-l1:v1\n    env:\n      MODEL_PROVIDER: deepseek # options: gemini, openai, openrouter, anthropic, deepseek\n      MODEL_NAME: deepseek-chat # examples: gemini-2.0-flash, gpt-4o, claude-3-5-sonnet\n      MCP_SERVER_URL: http://mcp-server-mcp-server-kubernetes.mcp-system.svc.cluster.local:3001/mcp\n      ENABLE_K8S_TOOLS: \"true\"\n      STM_ENABLE_POSTGRES: \"true\"\n    usePostgresql: true\n    secret:\n      DEEPSEEK_API_KEY: \"your-api-key-here\"\n      # GOOGLE_API_KEY: \"your-api-key\"\n      # OPENAI_API_KEY: \"your-api-key\"\n      # OPENROUTER_API_KEY: \"your-api-key\"\n      # ANTHROPIC_API_KEY: \"your-api-key\"\n```\n\n### Step 4: Deploy 01Agents\n\n```bash\nhelm upgrade --install 01agent ./helm-chart -n 01cloud --create-namespace\n```\n\u003e [!IMPORTANT]\n\u003e Ensure all the pods in the namespace have initialized successfully and running\n\n### Step 5: Access the Application\n\nPort-forward the UI service:\n\n```bash\nkubectl port-forward svc/agent-l0 -n 01cloud 3000:3000\n```\n\nOpen your browser and navigate to `http://localhost:3000`\n\n### Step 6: Monitoring \u0026 Observability (Optional)\n\nFor advanced monitoring with Grafana, Loki, Tempo, and OpenTelemetry, see [OTEL-setup.md](./OTEL-setup.md). These features are **disabled by default** and should only be enabled if you have the observability stack configured.\n\n---\n\n## Approach 2: Building Custom Images\n\nBuild and deploy your own modified images from source code. Ideal for developers customizing the system.\n\n### Prerequisites\n\n- **Kubernetes cluster** (Kind, Minikube, or Cloud)\n- **Helm 3+**\n- **Docker** (for building images)\n- **Node.js 25+** \u0026 **npm** (for L0 Client modifications)\n- **Python 3.11+** (for L1 Agent modifications)\n- **LLM API Key** (OpenRouter, DeepSeek, Google, or Anthropic)\n\n### Step 1: Install MCP Server for Kubernetes\n\nThe MCP (Model Context Protocol) Server provides Kubernetes tools for the agents.\n\n#### Clone the MCP Server repository\n\n```bash\ngit clone https://github.com/Flux159/mcp-server-kubernetes.git\n```\n\n#### Update the schema (Required)\n\n```bash\npython3 -c \"\nimport json\nwith open('mcp-server-kubernetes/helm-chart/values.schema.json') as f:\n    schema = json.load(f)\n\nschema['properties']['observability'] = {\n    'type': 'object',\n    'additionalProperties': True\n}\n\nwith open('mcp-server-kubernetes/helm-chart/values.schema.json', 'w') as f:\n    json.dump(schema, f, indent=2)\nprint('Schema updated successfully!')\n\"\n```\n\n#### Install the MCP Server\n\n```bash\nhelm install mcp-server ./mcp-server-kubernetes/helm-chart \\\n  --set kubeconfig.provider=serviceaccount \\\n  --set transport.mode=http \\\n  --set transport.service.type=ClusterIP \\\n  --set security.allowOnlyNonDestructive=false \\\n  --create-namespace \\\n  --namespace mcp-system\n```\n\n### Step 2: Install PostgreSQL Operator\n\nThe agents use PostgreSQL for long-term memory. We use the CrunchyData Operator to manage it.\n\n#### Install OLM (Operator Lifecycle Manager)\n\n```bash\ncurl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.40.0/install.sh | bash -s v0.40.0\n```\n\n\u003e [!IMPORTANT]\n\u003e OLM installation can take a few minutes. Please ensure all OLM pods in the `olm` namespace are in the **Running** state before proceeding.\n\n#### Install the PostgreSQL Operator\n\n```bash\nkubectl create -f https://operatorhub.io/install/postgresql.yaml\n```\n\n### Step 3: Build Custom Images\n\nNavigate to the repository root and build your images:\n\n#### Build L0 Frontend\n\n```bash\ndocker build -t your-registry/agent-l0:latest ./k8s-agent/level-0-agent\n```\n\n#### Build L1 Backend Agent\n\n```bash\ndocker build -t your-registry/agent-l1:latest ./k8s-agent/level-1-agent\n```\n\n### Step 4: Push or Load Images\n\n**For remote clusters** - Push to your registry:\n\n```bash\ndocker push your-registry/agent-l0:latest\ndocker push your-registry/agent-l1:latest\n```\n\n**For local Kind clusters** - Load images directly:\n\n```bash\nkind load docker-image your-registry/agent-l0:latest --name 01cloud-cluster\nkind load docker-image your-registry/agent-l1:latest --name 01cloud-cluster\n```\n\n### Step 5: Configure Agent Settings\n\nEdit `helm-chart/values.yaml` to use your custom images and configure your LLM provider.\nYou must set the `MODEL_PROVIDER`, `MODEL_NAME`, `image` and provide the corresponding API key in the `secret` section.\n\n```yaml\nagents:\n  - name: l0\n    enabled: true\n    image: your-registry/agent-l0:latest  # Your custom image\n\n  - name: l1\n    enabled: true\n    image: your-registry/agent-l1:latest  # Your custom image\n    env:\n      MODEL_PROVIDER: deepseek # options: gemini, openai, openrouter, anthropic, deepseek\n      MODEL_NAME: deepseek-chat # examples: gemini-2.0-flash, gpt-4o, claude-3-5-sonnet\n      MCP_SERVER_URL: http://mcp-server-mcp-server-kubernetes.mcp-system.svc.cluster.local:3001/mcp\n      ENABLE_K8S_TOOLS: \"true\"\n      STM_ENABLE_POSTGRES: \"true\"\n    usePostgresql: true\n    secret:\n      DEEPSEEK_API_KEY: \"your-api-key-here\"\n      # GOOGLE_API_KEY: \"your-api-key\"\n      # OPENAI_API_KEY: \"your-api-key\"\n      # OPENROUTER_API_KEY: \"your-api-key\"\n      # ANTHROPIC_API_KEY: \"your-api-key\"\n```\n\n### Step 6: Deploy 01Agents\n\n```bash\nhelm upgrade --install 01agent ./helm-chart -n 01cloud --create-namespace\n```\n\u003e [!IMPORTANT]\n\u003e Ensure all the pods in the namespace have initialized successfully and running\n\n### Step 7: Access the Application\n\nPort-forward the UI service:\n\n```bash\nkubectl port-forward svc/agent-l0 -n 01cloud 3000:3000\n```\n\nOpen your browser and navigate to `http://localhost:3000`\n\n### Step 8: Monitoring \u0026 Observability (Optional)\n\nFor advanced monitoring with Grafana, Loki, Tempo, and OpenTelemetry, see [OTEL-setup.md](./OTEL-setup.md).\n\n---\n\n## 🔌 Local Development Tools\n\nAccess these services via port-forwarding for development and debugging:\n\n```bash\n# PostgreSQL Database\nkubectl port-forward svc/agents-primary -n 01cloud 5432:5432\n\n# MCP Server\nkubectl port-forward svc/mcp-server-mcp-server-kubernetes -n mcp-system 3001:3001\n```\n\n---\n\n## 📁 Repository Structure\n\n- `helm-chart/`: Core Helm chart for deployment\n- `k8s-agent/`: Source code for L0 and L1 agents\n- `OTEL-setup.md`: Optional guide for monitoring (Prometheus, Grafana, Loki)\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions from the community! Whether you are reporting a bug, suggesting a feature, or submitting a pull request, your help is appreciated.\n\n- **Found a bug?** [Open an issue](https://github.com/BerryBytes/01agent/issues/new?template=bug_report.md)\n- **Have a feature idea?** [Suggest it here](https://github.com/BerryBytes/01agent/issues/new?template=feature_request.md)\n- **Want to contribute code?** Check out our [Contributing Guidelines](./CONTRIBUTING.md)\n\nThis project is maintained by [Bishal Singh (@bsalsingh)](https://github.com/bsalsingh) and the 01Cloud community.\n\n---\n\n## 📜 Code of Conduct\n\nTo ensure a welcoming and inclusive community, please review and follow our [Code of Conduct](./CODE_OF_CONDUCT.md).\n\n---\n\n## ⚖️ License\n\nThis project is licensed under the [MIT License](./LICENSE.md).\n\n---\n\n## 📚 Component Documentation\n\n- [L0 Client (Frontend)](k8s-agent/level-0-agent/README.md)\n- [L1 Agent (Backend)](k8s-agent/level-1-agent/README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberrybytes%2F01agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fberrybytes%2F01agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberrybytes%2F01agent/lists"}