Merge gitea/main: resolve ci.yaml conflict, keep Coolify deploy
All checks were successful
CI/CD / go-lint (push) Has been skipped
CI/CD / python-lint (push) Has been skipped
CI/CD / nodejs-lint (push) Has been skipped
CI/CD / test-go-ai-compliance (push) Successful in 40s
CI/CD / test-python-backend-compliance (push) Successful in 39s
CI/CD / test-python-document-crawler (push) Successful in 30s
CI/CD / test-python-dsms-gateway (push) Successful in 24s
CI/CD / validate-canonical-controls (push) Successful in 15s
CI/CD / Deploy (push) Successful in 3s
All checks were successful
CI/CD / go-lint (push) Has been skipped
CI/CD / python-lint (push) Has been skipped
CI/CD / nodejs-lint (push) Has been skipped
CI/CD / test-go-ai-compliance (push) Successful in 40s
CI/CD / test-python-backend-compliance (push) Successful in 39s
CI/CD / test-python-document-crawler (push) Successful in 30s
CI/CD / test-python-dsms-gateway (push) Successful in 24s
CI/CD / validate-canonical-controls (push) Successful in 15s
CI/CD / Deploy (push) Successful in 3s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -44,7 +44,7 @@ Push auf gitea main → go-lint/python-lint/nodejs-lint (nur PRs)
|
||||
**Dateien:**
|
||||
- `.gitea/workflows/ci.yaml` — Pipeline-Definition (Tests + Validierung)
|
||||
- `docker-compose.yml` — Haupt-Compose
|
||||
- `docker-compose.hetzner.yml` — Override: arm64→amd64 fuer Production (x86_64)
|
||||
- `docker-compose.hetzner.yml` — Override: arm64→amd64 fuer Coolify Production (x86_64)
|
||||
|
||||
### Lokale Entwicklung (Mac Mini — optional)
|
||||
|
||||
@@ -184,7 +184,7 @@ breakpilot-compliance/
|
||||
├── dsms-gateway/ # IPFS Gateway
|
||||
├── scripts/ # Helper Scripts
|
||||
├── docker-compose.yml # Compliance Compose (~10 Services, platform: arm64)
|
||||
├── docker-compose.hetzner.yml # Override: arm64→amd64 fuer Production
|
||||
├── docker-compose.hetzner.yml # Override: arm64→amd64 fuer Coolify Production
|
||||
└── .gitea/workflows/ci.yaml # CI/CD Pipeline (Lint → Tests → Validierung)
|
||||
```
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#
|
||||
# Phasen: gesetze, eu, templates, datenschutz, verbraucherschutz, verify, version, all
|
||||
#
|
||||
# Voraussetzung: RAG-Service und Qdrant muessen auf Hetzner laufen.
|
||||
# Die BreakPilot-Services muessen deployed sein (ci.yaml deploy-hetzner).
|
||||
# Voraussetzung: RAG-Service und Qdrant muessen auf Coolify laufen.
|
||||
# Die BreakPilot-Services muessen deployed sein (ci.yaml deploy-coolify).
|
||||
|
||||
name: RAG Ingestion
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ go build -o server ./cmd/server
|
||||
|
||||
# Production: CI/CD (automatisch bei Push auf main)
|
||||
git push origin main && git push gitea main
|
||||
# → Gitea Actions: Tests → Build → Deploy auf Hetzner
|
||||
# → Gitea Actions: Tests → Build → Deploy auf Coolify
|
||||
# → Status: https://gitea.meghsakha.com/Benjamin_Boenisch/breakpilot-compliance/actions
|
||||
|
||||
# Alternativ: mit Docker (lokal)
|
||||
@@ -466,7 +466,7 @@ Tests laufen automatisch bei jedem Push via Gitea Actions (`.gitea/workflows/ci.
|
||||
| `test-python-document-crawler` | `python:3.12-slim` | `pytest tests/` |
|
||||
| `test-python-dsms-gateway` | `python:3.12-slim` | `pytest test_main.py` |
|
||||
|
||||
Nach erfolgreichen Tests: automatisches Deploy auf Hetzner (`deploy-hetzner` Job).
|
||||
Nach erfolgreichen Tests: automatisches Deploy auf Coolify (`deploy-coolify` Job).
|
||||
|
||||
### Spezifische Tests
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# =========================================================
|
||||
# BreakPilot Compliance — Hetzner Override
|
||||
# BreakPilot Compliance — Coolify Production Override
|
||||
# =========================================================
|
||||
# Verwendung: docker compose -f docker-compose.yml -f docker-compose.hetzner.yml up -d
|
||||
#
|
||||
# Aenderungen gegenueber docker-compose.yml:
|
||||
# - Platform: arm64 → amd64 (Hetzner = x86_64)
|
||||
# - Network: external → auto-create (kein breakpilot-core auf Hetzner)
|
||||
# - depends_on: core-health-check entfernt (kein Core auf Hetzner)
|
||||
# - API URLs: auf Hetzner-interne Adressen angepasst
|
||||
# - Platform: arm64 → amd64 (Coolify = x86_64)
|
||||
# - Network: external → auto-create (kein breakpilot-core auf Coolify)
|
||||
# - depends_on: core-health-check entfernt (kein Core auf Coolify)
|
||||
# - API URLs: auf Coolify-interne Adressen angepasst
|
||||
# =========================================================
|
||||
|
||||
# Auf Hetzner laeuft kein breakpilot-core, daher Network selbst erstellen
|
||||
# Auf Coolify laeuft kein breakpilot-core, daher Network selbst erstellen
|
||||
networks:
|
||||
breakpilot-network:
|
||||
external: false
|
||||
@@ -18,9 +18,9 @@ networks:
|
||||
|
||||
services:
|
||||
|
||||
# Core-Health-Check deaktivieren (Core laeuft nicht auf Hetzner)
|
||||
# Core-Health-Check deaktivieren (Core laeuft nicht auf Coolify)
|
||||
core-health-check:
|
||||
entrypoint: ["sh", "-c", "echo 'Core health check skipped on Hetzner' && exit 0"]
|
||||
entrypoint: ["sh", "-c", "echo 'Core health check skipped on Coolify' && exit 0"]
|
||||
restart: "no"
|
||||
|
||||
admin-compliance:
|
||||
|
||||
@@ -128,7 +128,7 @@ KI-generierte Inhalte werden via `compliance-tts-service` (Port 8095) in Audio u
|
||||
|
||||
- **Audio:** Piper TTS → MP3 (Modell: `de_DE-thorsten-high.onnx`)
|
||||
- **Video:** FFmpeg → MP4 (Skript + Stimme + Untertitel)
|
||||
- **Storage:** Hetzner Object Storage (`nbg1.your-objectstorage.com`, S3-kompatibel)
|
||||
- **Storage:** S3-kompatibles Object Storage (TLS)
|
||||
|
||||
```
|
||||
AudioPlayer → /sdk/v1/training/modules/:id/media (audio)
|
||||
|
||||
Reference in New Issue
Block a user