Home hinzugefügt
commit
c0feed3ab8
1 changed files with 111 additions and 0 deletions
111
Home.md
Normal file
111
Home.md
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
# Furt API Gateway
|
||||
|
||||
**Pure Lua HTTP-Server für digitale Souveränität**
|
||||
|
||||
Furt ist ein minimalistisches, multi-tenant API-Gateway basierend auf Lua 5.1. Der gesamte Code ist in unter 1000 Zeilen Lua geschrieben und damit vollständig nachvollziehbar.
|
||||
|
||||
## Features
|
||||
|
||||
- **Multi-Tenant Mail-Routing** - Ein Gateway für viele Websites
|
||||
- **API-Key-basierte Authentifizierung** - Granulare Berechtigungen pro Client
|
||||
- **Rate Limiting** - Schutz vor Missbrauch
|
||||
- **CORS-Support** - Frontend-Integration
|
||||
- **nginx-style Konfiguration** - Vertraute Syntax für Admins
|
||||
- **Distribution-agnostic** - OpenBSD, Debian, Arch, FreeBSD Support
|
||||
|
||||
## Quick Start
|
||||
|
||||
### 1. Installation
|
||||
```bash
|
||||
# Git-basierte Installation (empfohlen für Development)
|
||||
git clone https://github.com/dragons-at-work/furt.git
|
||||
cd furt
|
||||
./install.sh
|
||||
|
||||
# Package-basierte Installation (empfohlen für Production)
|
||||
curl -O https://releases.../furt-api-gateway-v1.0.0.tar.gz
|
||||
tar xzf furt-api-gateway-v1.0.0.tar.gz
|
||||
cd furt-api-gateway-v1.0.0
|
||||
./install.sh
|
||||
```
|
||||
|
||||
### 2. Basis-Konfiguration
|
||||
```bash
|
||||
# Config-Template kopieren
|
||||
# BSD-Systeme: Packages gehören nach /usr/local/etc/ (klare Trennung base/ports)
|
||||
doas cp config/furt.conf.example /usr/local/etc/furt/furt.conf # OpenBSD/FreeBSD
|
||||
|
||||
# Linux-Systeme: Alles nach /etc/ (einheitlicher Namespace)
|
||||
sudo cp config/furt.conf.example /etc/furt/furt.conf # Debian/Arch
|
||||
|
||||
# API-Keys und SMTP konfigurieren
|
||||
# doas = OpenBSD-Standard (minimaler sudo-Ersatz, weniger Angriffsfläche)
|
||||
doas nano /usr/local/etc/furt/furt.conf # OpenBSD/FreeBSD
|
||||
|
||||
# sudo = Linux-Standard (komplexer, aber bekannt)
|
||||
sudo nano /etc/furt/furt.conf # Debian/Arch
|
||||
```
|
||||
|
||||
### 3. Service starten
|
||||
```bash
|
||||
# BSD-Systeme: Native Service-Management (kein systemd)
|
||||
doas rcctl enable furt && doas rcctl start furt # OpenBSD (rcctl = OpenBSD service manager)
|
||||
doas service furt enable && doas service furt start # FreeBSD (rc.conf-basiert)
|
||||
|
||||
# Linux-Systeme: systemd als Standard
|
||||
# systemd = umfangreich aber einheitlich über Distributionen
|
||||
sudo systemctl enable furt && sudo systemctl start furt
|
||||
```
|
||||
|
||||
### 4. Testen
|
||||
```bash
|
||||
curl http://localhost:8080/health
|
||||
```
|
||||
|
||||
## Navigation
|
||||
|
||||
### Installation & Setup
|
||||
- **[Installation](Installation.md)** - Vollständige Installationsanleitung
|
||||
- **[Konfiguration](Configuration.md)** - Config-System Dokumentation
|
||||
- **[Troubleshooting](Troubleshooting.md)** - Häufige Probleme
|
||||
|
||||
### Development
|
||||
- **[Development Setup](Development.md)** - Lokale Entwicklungsumgebung
|
||||
- **[API Documentation](API-Documentation.md)** - Endpunkte und Verwendung
|
||||
- **[Contributing](Contributing.md)** - Beitrag zum Projekt
|
||||
|
||||
### Current Status
|
||||
|
||||
**v1.0.0 Features:**
|
||||
- ✅ Mail-Service (`POST /v1/mail/send`)
|
||||
- ✅ Health-Check (`GET /health`)
|
||||
- ✅ API-Key Authentication
|
||||
- ✅ Multi-Tenant Configuration
|
||||
- ✅ Rate Limiting
|
||||
- ✅ CORS Support
|
||||
|
||||
**Roadmap:**
|
||||
- 🔄 Comment-Service (sagjan integration)
|
||||
- 📋 Project-Management-Service (lengan)
|
||||
- 💳 Payment-Service (wixlaz)
|
||||
|
||||
## Architecture
|
||||
|
||||
Furt folgt dem **Service-Separation-Prinzip**:
|
||||
- **furt** = Service-Discovery-Coordinator
|
||||
- **sagjan** = Comments (separate namespace)
|
||||
- **formular2mail** = Mail-Routing (separate namespace)
|
||||
|
||||
Jeder Service behält seine eigene Konfiguration, furt koordiniert nur die Discovery und das Routing.
|
||||
|
||||
**Technische Basis:**
|
||||
- **Lua 5.1** als Implementierungssprache
|
||||
- **nginx-style Konfiguration** für vertraute Admin-Workflows
|
||||
- **Multi-OS Support** über distribution-spezifische Package-Layouts
|
||||
- **Socket-basierter HTTP-Server** ohne externe Dependencies
|
||||
|
||||
---
|
||||
|
||||
**Projekt:** [Dragons@Work Digital Sovereignty](https://dragons-at-work.de)
|
||||
**Repository:** [Forgejo](https://smida.dragons-at-work.de/DAW/furt) | [GitHub Mirror](https://github.com/dragons-at-work/furt)
|
||||
**License:** Apache 2.0
|
||||
Loading…
Add table
Add a link
Reference in a new issue