Back to Agno

Agno Infra

libs/agno_infra/README.md

2.6.44.3 KB
Original Source

Agno Infra

A lightweight framework and CLI for managing Agentic Infrastructure

Overview

Agno Infra is a powerful infrastructure management framework designed specifically for building and deploying agentic applications. It provides a unified interface for managing infrastructure across multiple platforms including AWS, Docker, and local environments, making it easy to deploy AI agents and supporting services.

šŸš€ Key Features

  • Multi-Platform Support: Seamlessly manage infrastructure across AWS, Docker, and local environments
  • Agent-Focused: Purpose-built for deploying AI agents and their supporting infrastructure
  • Template-Based: Quick start with pre-built infrastructure templates
  • Unified CLI: Single command interface (ag or agno) for all infrastructure operations
  • Resource Management: Comprehensive resource management for databases, networking, storage, and compute
  • Application Support: Built-in support for FastAPI, Streamlit, Celery, Django, and more

šŸ“¦ Installation

Using pip

bash
pip install agno-infra

With optional dependencies

bash
# For AWS support
pip install agno-infra[aws]

# For Docker support
pip install agno-infra[docker]

# For development
pip install agno-infra[dev]

šŸ›  Quick Start

1. Create Infrastructure from Template

bash
# Create a new agent infrastructure project
ag create my-agent-infra --template agent-infra-docker

# Navigate to your project
cd my-agent-infra

2. CLI Operations

bash
# List available templates
ag templates

# Deploy infrastructure
ag deploy

# Check infrastructure status
ag status

# Tear down infrastructure
ag destroy

šŸ— Project Structure

agno/
ā”œā”€ā”€ aws/                    # AWS resource management
│   ā”œā”€ā”€ resource/          # AWS resource types (EC2, RDS, S3, etc.)
│   └── app/              # AWS application deployments
ā”œā”€ā”€ docker/                # Docker resource management
│   ā”œā”€ā”€ resource/         # Docker resources (containers, networks, volumes)
│   └── app/             # Dockerized applications
ā”œā”€ā”€ base/                  # Base classes and interfaces
ā”œā”€ā”€ cli/                   # Command-line interface
ā”œā”€ā”€ infra/                 # Core infrastructure management
└── utilities/             # Helper utilities and tools

🌟 Supported Resources

AWS Resources

  • Compute: EC2 instances, ECS clusters, ECS services
  • Storage: S3 buckets, EBS volumes
  • Database: RDS instances and clusters
  • Networking: VPC, subnets, security groups, load balancers
  • Security: IAM roles and policies, ACM certificates
  • Analytics: EMR clusters, Glue crawlers
  • Caching: ElastiCache clusters

Docker Resources

  • Containers: Docker containers with full lifecycle management
  • Networks: Custom Docker networks
  • Volumes: Persistent and ephemeral volumes
  • Images: Container image management

Application Types

  • FastAPI: REST API applications
  • Streamlit: Data science and ML dashboards
  • Celery: Distributed task processing
  • Django: Web applications
  • PostgreSQL: Database with pgvector support
  • Redis: Caching and message brokering

šŸ“‹ Requirements

  • Python 3.7 or higher
  • For AWS: Valid AWS credentials configured
  • For Docker: Docker engine installed and running

šŸ“š Documentation

šŸ˜ Community

šŸ“„ License

This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.

šŸ™‹ā€ā™€ļø Support

  • Documentation: Check our comprehensive docs at docs.agno.com
  • Community: Join our Discord or post on Discourse
  • Issues: Open an issue on GitHub for bugs or feature requests
  • Commercial Support: Contact us at agno.com

Built with ā¤ļø by the Agno team