Skip to content

Feature/enterprise upgrade - #1

Merged
allgorithm merged 5 commits into
mainfrom
feature/enterprise-upgrade
Sep 11, 2026
Merged

allgorithm merged 5 commits into
mainfrom
feature/enterprise-upgrade

Conversation

@allgorithm

Copy link
Copy Markdown
Owner

🎯 Übersicht

Dieser Pull Request hebt das zenv Docker-Entwicklungsfundament auf ein vollwertiges Enterprise-Niveau:

  1. Vollautomatisierte GitHub Actions CI/CD Pipeline mit Static Analysis, Security-Audits, Docker Layer Caching und Full-Stack E2E-Healthchecks.
  2. Interaktiver Standalone Environment Hub & Health Dashboard unter http://localhost/ (behebt den FastCGI File not found.-Fehler im Standalone-Modus).
  3. Ausrichtung auf Laravel 13 & PHP 8.4+ in Dokumentation, CLI und Konfigurationen.
  4. Enterprise-Grade .gitignore nach Strict Zero-Leak-Policy.
  5. CI/CD-kompatibles TTY-Handling im CLI-Skript ./zenv.
  6. Package-Modus-Stabilität für den Queue-Worker (verhindert Crash-Loops ohne artisan).

🚀 Wichtigste Änderungen

1. 🤖 GitHub Actions CI/CD Pipeline (.github/workflows/ci.yml)

  • Static Analysis & Linting: ShellCheck für das CLI-Skript, Hadolint für das Dockerfile, Docker Compose Schema-Validierung und PHP-Syntaxprüfungen.
  • Security Audit: Automatische Secret-Leak-Erkennung via TruffleHog sowie Prüfung der Executable-Dateirechte.
  • Docker Layer Caching: GitHub Actions Cache (type=gha) für schnelle Buildx-Durchläufe.
  • End-to-End Smoke Tests: Reales Hochfahren aller 6 Container, HTTP 200-Prüfungen auf Port 80, Mailpit, MinIO, Redis Ping (PONG), PHP 8.4-Erweiterungs-Checks und sauberer Teardown.

2. ⚡️ Standalone Environment Hub (public/index.php)

  • Bietet beim Start ohne eingehängte Laravel-App sofort visuelles Feedback unter http://localhost/.
  • Live Socket- und Status-Prüfungen für Nginx, PHP 8.4-FPM, Redis, Mailpit (inkl. Link zu :8025), MinIO (inkl. Link zu :9001) und MariaDB Host-Gateway.
  • Schnelle 1-Klick-Befehlsreferenz für die gängigsten ./zenv-Befehle.
  • Wird automatisch und nahtlos abgelöst, sobald ein Laravel-Projekt mit eigenem public/index.php gemountet wird.

3. 🛡️ Enterprise .gitignore (Strict Zero-Leak Policy)

  • Umfassender 8-teiliger Regelsatz:
    • Secrets & Keys (.env*, auth.json, *.key, *.pem, *.cert etc.)
    • Package Manager & Vendor Caches
    • Granulare Laravel 13 Storage- und Cache-Verzeichnisse
    • Frontend Build-Artefakte (Vite / Livewire)
    • Testing & Profiling Caches (PHPUnit, Pest, PHPStan, Infection)
    • Lokale Datenbank-Dumps & SQLite-Dateien
    • IDEs & Editoren (JetBrains, VS Code, Fleet, Zed)
    • OS-Artefakte (macOS .DS_Store, Windows, Linux)

4. 💻 CLI-Verbesserungen (./zenv)

  • Dynamische TTY-Erkennung: Weist Docker Compose nur dann ein Pseudoterminal (-it) zu, wenn stdin/stdout echte TTYs sind. In CI-Pipelines, Cronjobs und Shell-Pipes wird automatisch ohne -t gearbeitet, was input device is not a TTY-Abbrüche verhindert.
  • Aktualisierte Hilfe und Header auf Laravel 13 & PHP 8.4+.

5. 🐳 Docker & Webserver Feinschliff

  • FastCGI-Puffer (docker/nginx.conf): Puffer auf 128k/256k vergrößert, um HTTP 502 ("upstream sent too big header") bei großen Filament 5 / Livewire Payloads zu verhindern.
  • Queue Worker Package-Mode (docker-compose.yml): Wechselt automatisch in den Ruhezustand (sleep infinity), falls keine artisan-Datei vorhanden ist.
  • Port-Mapping: Nginx direkt auf Standard-Port 80:80 gelegt.

🧪 Durchgeführte Verifikationen & Tests

  • Docker Stack Start: ./zenv up startet alle 6 Container stabil im Status Up.
  • HTTP Smoke Test: curl -I http://localhost/ liefert HTTP/1.1 200 OK.
  • Service Health: Redis PING (PONG), MinIO S3 API und Mailpit Webmail UI erfolgreich validiert.
  • CLI Syntax & TTY: ./zenv php -v und Shell-Pipes (echo "" | ./zenv php -v) laufen fehlerfrei durch.
  • YAML-Validierung: CI-Workflow (.github/workflows/ci.yml) und docker-compose.yml syntaktisch verifiziert.
  • Changelog & Doku: CHANGELOG.md und README.md vollständig gepflegt.

📋 Checklist

  • Code entspricht den Projekt- und Architekturstandards
  • Keine Secrets oder sensiblen Daten committed
  • CHANGELOG.md aktualisiert
  • README.md aktualisiert
  • Branch ist auf aktuellem Stand von main

@allgorithm
allgorithm merged commit fa66327 into main Sep 11, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant