feat(infra): Qdrant + MinIO auf externe Hetzner-Services migrieren
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 33s
CI / test-python-backend-compliance (push) Successful in 30s
CI / test-python-document-crawler (push) Successful in 20s
CI / test-python-dsms-gateway (push) Successful in 17s
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 33s
CI / test-python-backend-compliance (push) Successful in 30s
CI / test-python-document-crawler (push) Successful in 20s
CI / test-python-dsms-gateway (push) Successful in 17s
- docker-compose.yml: QDRANT_HOST/PORT → QDRANT_URL (qdrant-dev.breakpilot.ai) + QDRANT_API_KEY - docker-compose.yml: MINIO bp-core-minio → nbg1.your-objectstorage.com (Hetzner) - .env.example: QDRANT_URL + QDRANT_API_KEY ergaenzt, MinIO-Hinweis - architecture-data.ts: PostgreSQL/Qdrant/MinIO auf externe Dienste aktualisiert - PostgreSQL 17 @ 46.225.100.82:54321 (migriert 2026-03-06) - Qdrant Cloud @ qdrant-dev.breakpilot.ai (migriert 2026-03-06) - Hetzner Object Storage @ nbg1.your-objectstorage.com (migriert 2026-03-06) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -48,3 +48,11 @@ SESSION_TTL_HOURS=24
|
|||||||
# SMTP (uses Core Mailpit)
|
# SMTP (uses Core Mailpit)
|
||||||
SMTP_HOST=bp-core-mailpit
|
SMTP_HOST=bp-core-mailpit
|
||||||
SMTP_PORT=1025
|
SMTP_PORT=1025
|
||||||
|
|
||||||
|
# Qdrant (externe Instanz — Hetzner/meghshakka)
|
||||||
|
QDRANT_URL=https://qdrant-dev.breakpilot.ai
|
||||||
|
QDRANT_API_KEY=<api-key>
|
||||||
|
|
||||||
|
# MinIO / Object Storage (Hetzner Object Storage)
|
||||||
|
# MINIO_ENDPOINT, MINIO_ACCESS_KEY, MINIO_SECRET_KEY sind direkt in docker-compose hart kodiert
|
||||||
|
# (compliance-tts-service: nbg1.your-objectstorage.com)
|
||||||
|
|||||||
@@ -252,12 +252,12 @@ export const ARCH_SERVICES: ArchService[] = [
|
|||||||
name: 'PostgreSQL',
|
name: 'PostgreSQL',
|
||||||
nameShort: 'PostgreSQL',
|
nameShort: 'PostgreSQL',
|
||||||
layer: 'infrastructure',
|
layer: 'infrastructure',
|
||||||
tech: 'PostgreSQL 16',
|
tech: 'PostgreSQL 17',
|
||||||
port: 5432,
|
port: 54321,
|
||||||
url: null,
|
url: null,
|
||||||
container: 'bp-core-postgres',
|
container: '46.225.100.82:54321 (extern)',
|
||||||
description: 'Zentrale Datenbank. Schemas: compliance, core, public. Shared mit breakpilot-core.',
|
description: 'Externe PostgreSQL-Instanz (Hetzner/meghshakka). Schemas: compliance (51 Tabellen) + public (33 compliance_*-Tabellen). Migriert 2026-03-06.',
|
||||||
descriptionLong: 'PostgreSQL ist die gemeinsame Datenbank fuer das gesamte BreakPilot-Oekosystem. Das compliance-Schema enthaelt alle Compliance-spezifischen Tabellen, waehrend core und public von breakpilot-core bereitgestellt werden. Der search_path ist auf compliance,core,public konfiguriert, sodass Services transparent auf Schema-uebergreifende Daten zugreifen koennen.',
|
descriptionLong: 'Die Compliance-Daten liegen seit 2026-03-06 auf einer dedizierten externen PostgreSQL 17-Instanz bei Hetzner (meghshakka, 46.225.100.82:54321). Das compliance-Schema umfasst 51 Tabellen fuer Risiken, Kontrollen, VVT, DSFA, Einwilligungen, Loeschfristen u.v.m. Weitere 33 compliance_*-Tabellen befinden sich im public-Schema (Tenants, Namespaces, LLM-Policies, Legal Documents etc.). Die Verbindung ist TLS-verschluesselt (sslmode=require). Die lokale bp-core-postgres auf dem Mac Mini wird exklusiv von breakpilot-lehrer (NIBIS-Daten) genutzt.',
|
||||||
dbTables: [],
|
dbTables: [],
|
||||||
ragCollections: [],
|
ragCollections: [],
|
||||||
apiEndpoints: [],
|
apiEndpoints: [],
|
||||||
@@ -284,12 +284,12 @@ export const ARCH_SERVICES: ArchService[] = [
|
|||||||
name: 'Qdrant',
|
name: 'Qdrant',
|
||||||
nameShort: 'Qdrant',
|
nameShort: 'Qdrant',
|
||||||
layer: 'infrastructure',
|
layer: 'infrastructure',
|
||||||
tech: 'Qdrant',
|
tech: 'Qdrant Cloud',
|
||||||
port: 6333,
|
port: 443,
|
||||||
url: null,
|
url: 'https://qdrant-dev.breakpilot.ai',
|
||||||
container: 'bp-core-qdrant',
|
container: 'qdrant-dev.breakpilot.ai (extern)',
|
||||||
description: 'Vektor-Datenbank fuer RAG-Compliance-Suche. Collections: DSGVO, AI Act, BDSG, TTDSG.',
|
description: 'Externe Vektor-Datenbank (Hetzner/meghshakka). RAG-Compliance-Suche. Collections: DSGVO, AI Act, BDSG, TTDSG. Migriert 2026-03-06.',
|
||||||
descriptionLong: 'Qdrant speichert Vektorembeddings von Rechtstexten und Compliance-Dokumenten in thematischen Collections (DSGVO, AI Act, BDSG, TTDSG, Templates). Der AI Compliance SDK nutzt diese fuer semantische Suchen — Nutzer koennen so in natuerlicher Sprache nach relevanten Gesetzespassagen und Compliance-Anforderungen suchen, ohne exakte Suchbegriffe kennen zu muessen.',
|
descriptionLong: 'Qdrant laeuft seit 2026-03-06 als externe Instanz auf qdrant-dev.breakpilot.ai (Hetzner/meghshakka). Es speichert Vektorembeddings von Rechtstexten und Compliance-Dokumenten in thematischen Collections. Der AI Compliance SDK verbindet sich per HTTPS mit API-Key-Authentifizierung. Durch die externe Instanz skaliert der Vektorspeicher unabhaengig vom Mac Mini.',
|
||||||
dbTables: [],
|
dbTables: [],
|
||||||
ragCollections: [
|
ragCollections: [
|
||||||
'bp_dsgvo', 'bp_ai_act', 'bp_bdsg', 'bp_ttdsg',
|
'bp_dsgvo', 'bp_ai_act', 'bp_bdsg', 'bp_ttdsg',
|
||||||
@@ -300,15 +300,15 @@ export const ARCH_SERVICES: ArchService[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'minio',
|
id: 'minio',
|
||||||
name: 'MinIO',
|
name: 'Hetzner Object Storage',
|
||||||
nameShort: 'MinIO',
|
nameShort: 'Object Storage',
|
||||||
layer: 'infrastructure',
|
layer: 'infrastructure',
|
||||||
tech: 'MinIO',
|
tech: 'S3-kompatibel',
|
||||||
port: 9000,
|
port: 443,
|
||||||
url: null,
|
url: 'https://nbg1.your-objectstorage.com',
|
||||||
container: 'bp-core-minio',
|
container: 'nbg1.your-objectstorage.com (extern)',
|
||||||
description: 'Object Storage fuer TTS-Audio, generierte Videos und Dokument-Uploads.',
|
description: 'Externer S3-kompatibler Object Storage (Hetzner Nuernberg). TTS-Audio, generierte Videos. Migriert 2026-03-06.',
|
||||||
descriptionLong: 'MinIO stellt S3-kompatiblen Object Storage bereit und wird von breakpilot-core verwaltet. Der Compliance-Stack nutzt es primaer fuer generierte Schulungsvideos und Audio-Dateien aus dem TTS-Service. Durch die S3-API-Kompatibilitaet koennen Standard-AWS-SDKs fuer den Zugriff verwendet werden.',
|
descriptionLong: 'Der Object Storage laeuft seit 2026-03-06 auf dem Hetzner-Standort Nuernberg (nbg1.your-objectstorage.com) und ist vollstaendig S3-kompatibel. Der Compliance TTS-Service speichert dort generierte Schulungsvideos und Audio-Dateien. Die Verbindung ist TLS-verschluesselt (MINIO_SECURE=true). Die lokale bp-core-minio-Instanz auf dem Mac Mini wird nicht mehr vom Compliance-Stack genutzt.',
|
||||||
dbTables: [],
|
dbTables: [],
|
||||||
ragCollections: [],
|
ragCollections: [],
|
||||||
apiEndpoints: [],
|
apiEndpoints: [],
|
||||||
|
|||||||
Reference in New Issue
Block a user