11. Infrastructure and tools - FA-Systems-Operon/Operon GitHub Wiki

Infrastructure and Tools

The repository contains the following technologies and configurations for Operon's application foundation.

Area Technology Purpose
Frontend React, TypeScript, Vite Provides the web application scaffold, type checking, and frontend builds. The current interface is a starter page.
Backend Python, FastAPI, Uvicorn Implements the API, including client and document routes, interactive API documentation, and a health endpoint. The backend container uses Python 3.11.
Database PostgreSQL 17, SQLAlchemy, psycopg Stores structured application data and provides database access from Python.
Document processing pypdf, markdown-it-py, text extraction utilities Extracts and normalizes text from supported PDF, Markdown, and text documents.
Containers and storage Docker, Docker Compose, named volumes Defines a local environment containing the frontend, backend, PostgreSQL, and Ollama. Named volumes are configured for database data, uploaded documents, and downloaded models.
AI infrastructure Ollama Included as a service in the Compose files, with an endpoint setting in the backend. This configuration does not establish a completed agent integration.
Testing pytest, pytest-cov Provides backend tests and coverage reporting. The GitHub Actions test workflow configures a separate PostgreSQL database and Python 3.13.
Code quality Ruff, SonarQube Cloud, Codecov Workflows are configured to check Python linting and formatting, run code analysis, and upload coverage reports. External reporting requires the configured repository secrets.
Collaboration and automation GitHub, Issues, pull requests, Actions, Dependabot Supports source control, task tracking, code review, and automated checks. Dependabot is configured to check GitHub Actions dependencies weekly.
Deployment configuration Docker Compose, Caddy Production-oriented configuration files define a reverse proxy and HTTPS routing. Their presence does not confirm a working production deployment or hosting provider.

Application settings are supplied through environment variables. Database tables are currently created at startup using SQLAlchemy; there is no database migration system in the current implementation.

Authentication, human approval, and background agent execution are not implemented in the application code reviewed. Hosting and production readiness have not been verified.