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 --reloadpytest├── 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