Zum Inhalt

Technologie-Stack

Auswahlübersicht

Schicht Auswahl Begründung
Sprache Go 1.25+ einzelnes Binary, Cross-Kompilierung, gute Nebenläufigkeit, ausgereiftes Ökosystem
Web-Framework Gin größtes Ökosystem, reichhaltige Middleware
Datenbank SQLite eingebettet, wartungsfrei, passt zum Einzel-Server-Szenario
SQLite-Treiber glebarez/sqlite (reines Go) kein CGO, unkomplizierte Cross-Kompilierung
ORM GORM hohe Entwicklungseffizienz, bei komplexen Abfragen Rückgriff auf natives SQL
Echtzeitkommunikation gorilla/websocket Terminal, Log-tail, Metrik-Push
Aufgabenplanung robfig/cron geplante Panel-Aufgaben
Systemmonitoring gopsutil plattformübergreifend CPU / Speicher / Festplatte / Prozesse
Docker offizielles SDK Container / Images / Volumes / Netzwerke
Authentifizierung JWT + refresh zustandslose API + optionale Sitzung
2FA TOTP (RFC 6238) zweite Verifizierung bei der Anmeldung
AI abstrahierte LLM-Schnittstelle einheitliche Anpassung von OpenAI / DeepSeek / Qwen / Ollama
Frontend Vue 3 + ECharts moderne SPA + Diagramme

Gesamtarchitektur

┌──────────────────────────────────────────────────────────┐
│              OpsMini (Einzel-Server-Panel, einzelnes Binary) │
│                                                          │
│   Vue3-SPA (Build-Ergebnis in das Binary eingebettet)      │
│        │  HTTP / WebSocket                                │
│   ┌────▼───────────────────────────────────────────────┐  │
│   │  Gin-Router → Middleware (Auth/Berechtigung/Audit/  │  │
│   │               Begrenzung/Sicherheitseingang)        │  │
│   │  Controller → Service → Repository                 │  │
│   └────┬──────────────────────────────────────────────┘  │
│        │                                                  │
│   ┌────▼───────────────────────────────────────────────┐  │
│   │  SQLite (Geschäftsdaten) │  Systemressourcen-       │  │
│   │  users/cron/...          │  Adapterschicht           │  │
│   │                          │  Docker SDK / crontab /   │  │
│   │                          │  gopsutil / Dateisystem / │  │
│   │                          │  SSH                      │  │
│   └──────────────────────────┴────────────────────────┘  │
│                                                          │
│   Zwei REST-APIs nach außen:                             │
│   · /api/v1   Panel-API (JWT + RBAC)                     │
│   · /agent/v1 Agent-API (Token + Befehls-Whitelist)      │
└──────────────────────────────────────────────────────────┘