FastAPI backend service for the AI Terraform Module Generator, providing AI-powered module generation and Terraform Registry Protocol implementation.
- AI-powered Terraform module generation
- Complete Terraform Registry Protocol implementation
- Module validation and testing
- GitHub repository integration
- Version management system
- Role-based access control
- API documentation with OpenAPI/Swagger
- Python 3.9+
- PostgreSQL 14+
- Docker and Docker Compose
- OpenAI API key or Claude API key
- Clone the repository:
git clone https://github.com/HappyPathway/ai-terraform-module-generator-backend.git
- Configure environment:
cp .env.example .env
# Edit .env with your configuration
- Start services:
docker compose up -d
- Access API documentation at http://localhost:8000/docs
DATABASE_URL
: PostgreSQL connection stringOPENAI_API_KEY
: OpenAI API keyCLAUDE_API_KEY
: Claude API key (if using Claude)JWT_SECRET_KEY
: Secret for JWT token generationGITHUB_TOKEN
: GitHub API tokenREDIS_URL
: Redis connection string
- Create virtual environment:
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
- Install dependencies:
pip install -r requirements.txt
- Run database migrations:
alembic upgrade head
- Start development server:
uvicorn app.main:app --reload
pytest
├── app/ # Application package
│ ├── __init__.py
│ ├── main.py # FastAPI application
│ ├── api/ # API endpoints
│ ├── core/ # Core functionality
│ ├── models/ # Database models
│ └── services/ # Business logic
├── tests/ # Test suite
├── alembic/ # Database migrations
└── docker/ # Docker configuration
The backend implements these key endpoints:
/v1/modules/*
: Terraform Registry Protocol endpoints/api/generate
: Module generation endpoint/api/validate
: Module validation endpoint/auth/*
: Authentication endpoints
Full API documentation is available at /docs
when running the server.
See CONTRIBUTING.md for contribution guidelines.
MIT License - see LICENSE for details