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:**
|
**Dateien:**
|
||||||
- `.gitea/workflows/ci.yaml` — Pipeline-Definition (Tests + Validierung)
|
- `.gitea/workflows/ci.yaml` — Pipeline-Definition (Tests + Validierung)
|
||||||
- `docker-compose.yml` — Haupt-Compose
|
- `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)
|
### Lokale Entwicklung (Mac Mini — optional)
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ breakpilot-compliance/
|
|||||||
├── dsms-gateway/ # IPFS Gateway
|
├── dsms-gateway/ # IPFS Gateway
|
||||||
├── scripts/ # Helper Scripts
|
├── scripts/ # Helper Scripts
|
||||||
├── docker-compose.yml # Compliance Compose (~10 Services, platform: arm64)
|
├── 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)
|
└── .gitea/workflows/ci.yaml # CI/CD Pipeline (Lint → Tests → Validierung)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
#
|
#
|
||||||
# Phasen: gesetze, eu, templates, datenschutz, verbraucherschutz, verify, version, all
|
# Phasen: gesetze, eu, templates, datenschutz, verbraucherschutz, verify, version, all
|
||||||
#
|
#
|
||||||
# Voraussetzung: RAG-Service und Qdrant muessen auf Hetzner laufen.
|
# Voraussetzung: RAG-Service und Qdrant muessen auf Coolify laufen.
|
||||||
# Die BreakPilot-Services muessen deployed sein (ci.yaml deploy-hetzner).
|
# Die BreakPilot-Services muessen deployed sein (ci.yaml deploy-coolify).
|
||||||
|
|
||||||
name: RAG Ingestion
|
name: RAG Ingestion
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ go build -o server ./cmd/server
|
|||||||
|
|
||||||
# Production: CI/CD (automatisch bei Push auf main)
|
# Production: CI/CD (automatisch bei Push auf main)
|
||||||
git push origin main && git push gitea 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
|
# → Status: https://gitea.meghsakha.com/Benjamin_Boenisch/breakpilot-compliance/actions
|
||||||
|
|
||||||
# Alternativ: mit Docker (lokal)
|
# 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-document-crawler` | `python:3.12-slim` | `pytest tests/` |
|
||||||
| `test-python-dsms-gateway` | `python:3.12-slim` | `pytest test_main.py` |
|
| `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
|
### 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
|
# Verwendung: docker compose -f docker-compose.yml -f docker-compose.hetzner.yml up -d
|
||||||
#
|
#
|
||||||
# Aenderungen gegenueber docker-compose.yml:
|
# Aenderungen gegenueber docker-compose.yml:
|
||||||
# - Platform: arm64 → amd64 (Hetzner = x86_64)
|
# - Platform: arm64 → amd64 (Coolify = x86_64)
|
||||||
# - Network: external → auto-create (kein breakpilot-core auf Hetzner)
|
# - Network: external → auto-create (kein breakpilot-core auf Coolify)
|
||||||
# - depends_on: core-health-check entfernt (kein Core auf Hetzner)
|
# - depends_on: core-health-check entfernt (kein Core auf Coolify)
|
||||||
# - API URLs: auf Hetzner-interne Adressen angepasst
|
# - 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:
|
networks:
|
||||||
breakpilot-network:
|
breakpilot-network:
|
||||||
external: false
|
external: false
|
||||||
@@ -18,9 +18,9 @@ networks:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
# Core-Health-Check deaktivieren (Core laeuft nicht auf Hetzner)
|
# Core-Health-Check deaktivieren (Core laeuft nicht auf Coolify)
|
||||||
core-health-check:
|
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"
|
restart: "no"
|
||||||
|
|
||||||
admin-compliance:
|
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`)
|
- **Audio:** Piper TTS → MP3 (Modell: `de_DE-thorsten-high.onnx`)
|
||||||
- **Video:** FFmpeg → MP4 (Skript + Stimme + Untertitel)
|
- **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)
|
AudioPlayer → /sdk/v1/training/modules/:id/media (audio)
|
||||||
|
|||||||
Reference in New Issue
Block a user