Commit Graph
2 Commits
Author SHA1 Message Date
RichardandClaude Opus 5 e14dd25979 Pruefplan fuer den ersten Linux-Lauf (A4a)
CI / Build & Tests (Linux) (push) Waiting to run
CI / Plattformneutralität & Hygiene (push) Waiting to run
docs/pruefplaene/PRUEFPLAN-Linux-Betrieb.md: Schritt-fuer-Schritt-Protokoll zum
Abarbeiten auf einer Test-VM, jeder Schritt mit erwartetem Ergebnis und der
Angabe, was zurueckzumelden ist.

Zwei Fallen vorab, die beim Vorbereiten aufgefallen sind:

1. Der Linux-Publish enthaelt appsettings.Local.json mit den echten
   MySQL-Zugangsdaten. Ungeprueft auf die VM kopiert, laeuft der Test gegen die
   PRODUKTIVdatenbank - und der MarketSyncService schreibt dort als
   Hintergrunddienst hinein. Der Plan legt deshalb zuerst eine eigene
   Testdatenbank samt eigenem Benutzer an; das Umstellen der Verbindung ist
   ausdruecklich als wichtigster Schritt markiert.
2. Es gibt keine automatischen Migrationen beim Start (nachgeprueft: kein
   Migrate()/EnsureCreated() im Code). Das Schema muss vorher stehen - fuenf
   DbContexts, jeder mit eigenen Migrationen, ueber die Umgebungsvariable
   POLYTRADER_MYSQL.

Inhaltliche Schwerpunkte des Plans:
- Die Hypothese, dass --headless OHNE GUI-Bibliotheken auskommt, weil
  BuildAvaloniaApp() dort nie aufgerufen wird und Skia damit nie geladen wird.
  Der Plan prueft das bewusst zuerst ohne die Pakete - das Ergebnis entscheidet,
  was spaeter ins Server-Grundimage muss.
- Die WorkingDirectory-Falle aus D-11: server_settings.xml relativ zum
  Arbeitsverzeichnis, master.key relativ zur Programmdatei. Bei Abweichung legt
  ServerSettings.Load() kommentarlos eine neue Datei an. Wird per find ueber
  frisch geaenderte Dateien nachgewiesen.
- SIGTERM-Shutdown gegen TimeoutStopSec=45 gemessen, Restart=on-failure
  per pkill -9 gegengetestet.
- T2 (TerminalLogger stempelt DateTime.Now statt AppTimeZone) wird auf einer
  UTC-VM erstmals nachweisbar statt nur behauptet.
- Logrotate mit copytruncate, weil die App die Logdatei offen haelt.
- Master-Key als Umgebungsvariable im Dienst: erster echter Lauf von
  FilePermissions unter Linux-Rechten.

Am Ende eine Liste der zehn zurueckzumeldenden Ausgaben und die Befehle zum
Aufraeumen der VM.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 22:33:00 +02:00
RichardandClaude Opus 4.8 c5f0b1d188 Docs: Konzepte/Plaene in docs/ mit Typ-Unterordnern buendeln
Root aufgeraeumt: alle Konzept-/Plan-/Fach-Dokumente nach docs/ verschoben,
organisiert nach Typ (wie fuer ein separates Docs-Repo vorgeschlagen, aber bewusst
in diesem Repo, damit Plan->umsetzende-Commits nachvollziehbar bleiben):
- docs/konzepte/       (KONZEPT-*)
- docs/umsetzungsplaene/ (UMSETZUNGSPLAN-*)
- docs/ideen/          (fruehe Ideen, Platzhalter)
- docs/pruefplaene/    (PRUEFPLAN-*)
- docs/steuer/         (Steuer-/Buchhaltungs-Doks, z.B. US-CPA-Fragebogen)
- docs/README.md       (Index/Konventionen)

Getrackte Plaene als Rename verschoben (History erhalten); zuvor untracked Konzept-/
Plan-Dateien jetzt versioniert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 10:15:08 +02:00