From d33bd17ccd64c945f728035437eff69991482984 Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 10 Sep 2025 14:12:26 +0200 Subject: [PATCH] update api.dragons-at-work.de to api.example.com --- API-Documentation.md | 13 +++++++------ Health-Endpoint.md | 5 +++-- Home.md | 13 +++++++------ Installation-Scripte.md | 21 +++++++++++---------- Installation-automatisiert.md | 15 ++++++++------- Installation.md | 27 ++++++++++++++------------- Konfiguration.md | 7 ++++--- Mail-Service-API.md | 27 ++++++++++++++------------- create-service-sh.md | 5 +++-- health-check-sh.md | 9 +++++---- setup-directories-sh.md | 5 +++-- setup-user-sh.md | 7 ++++--- sync-files-sh.md | 7 ++++--- validate-config-sh.md | 5 +++-- 14 files changed, 90 insertions(+), 76 deletions(-) diff --git a/API-Documentation.md b/API-Documentation.md index 3bd5223..67d2b0f 100644 --- a/API-Documentation.md +++ b/API-Documentation.md @@ -9,7 +9,7 @@ Furt bietet eine REST-API für die Integration mit Websites und Anwendungen. Die ## Base URL ``` -Production: https://api.dragons-at-work.de +Production: https://api.example.com Development: http://localhost:7811 ``` @@ -121,7 +121,7 @@ Die Request-ID wird in allen Responses zurückgegeben und in den Server-Logs mit - Eigene SMTP-Konfiguration - Eigene Mail-Empfänger -- Eigene Subject-Präfixe +- Eigene Subject-Präfixe - Eigene Rate-Limits - Isolierte Logs und Metriken @@ -148,7 +148,7 @@ async function sendContactForm(formData) { }, body: JSON.stringify(formData) }); - + const result = await response.json(); return result; } @@ -157,7 +157,7 @@ async function sendContactForm(formData) { ### curl (Testing) ```bash -curl -X POST https://api.dragons-at-work.de/v1/mail/send \ +curl -X POST https://api.example.com/v1/mail/send \ -H "Content-Type: application/json" \ -H "X-API-Key: your-api-key" \ -d '{"name":"Test","email":"test@example.com","message":"Test message"}' @@ -166,7 +166,7 @@ curl -X POST https://api.dragons-at-work.de/v1/mail/send \ ### Hugo Shortcode Integration ```html -{{< furt-contact-form +{{< furt-contact-form api-endpoint="https://api.example.com/v1/mail/send" api-key="your-api-key" success-url="/contact/thanks/" @@ -199,4 +199,5 @@ curl http://localhost:7811/health curl -H "X-API-Key: test" http://localhost:7811/auth/status ``` -**Development-Endpoint:** Der `/test` Endpoint ist nur verfügbar wenn in der Konfiguration aktiviert. Er dient zum Testen der Request-Verarbeitung ohne Side-Effects. \ No newline at end of file +**Development-Endpoint:** Der `/test` Endpoint ist nur verfügbar wenn in der Konfiguration aktiviert. Er dient zum Testen der Request-Verarbeitung ohne Side-Effects. + diff --git a/Health-Endpoint.md b/Health-Endpoint.md index 1ae35e4..0b33a77 100644 --- a/Health-Endpoint.md +++ b/Health-Endpoint.md @@ -241,7 +241,7 @@ scrape_configs: - job_name: 'furt-gateway' metrics_path: '/health' static_configs: - - targets: ['api.dragons-at-work.de:443'] + - targets: ['api.example.com:443'] ``` **Health-to-Metrics Mapping:** @@ -363,4 +363,5 @@ Health-Endpoint-Aufrufe erscheinen in den Server-Logs: [2024-09-10 12:34:56] merkwerk health info: version=0.1.2, source=merkwerk ``` -**Request-ID:** Health-Checks erhalten keine Request-ID da sie stateless sind. \ No newline at end of file +**Request-ID:** Health-Checks erhalten keine Request-ID da sie stateless sind. + diff --git a/Home.md b/Home.md index ad4c1ff..07123c4 100644 --- a/Home.md +++ b/Home.md @@ -31,7 +31,7 @@ sudo ./install.sh --upgrade # Update bestehender Installation Das modulare Installationssystem führt automatisch durch: 1. System-Benutzer erstellen (`_furt` oder `furt`) -2. Verzeichnisstruktur anlegen (OS-spezifische Pfade) +2. Verzeichnisstruktur anlegen (OS-spezifische Pfade) 3. Source-Code synchronisieren 4. System-Service einrichten (rc.d oder systemd) 5. Konfiguration validieren @@ -70,7 +70,7 @@ Nach der Installation muss die Konfigurationsdatei angepasst werden: # OpenBSD doas $EDITOR /usr/local/etc/furt/furt.conf -# Linux +# Linux sudo $EDITOR /etc/furt/furt.conf ``` @@ -88,7 +88,7 @@ doas rcctl start furt doas rcctl check furt # Linux -sudo systemctl start furt +sudo systemctl start furt sudo systemctl status furt # Service-Test @@ -191,6 +191,7 @@ Furt ist aktuell ein integrierter HTTP-Server mit eingebautem Mail-Service (form --- -**Projekt:** [Dragons@Work Digital Sovereignty](https://dragons-at-work.de) -**Repository:** [Forgejo](https://smida.dragons-at-work.de/DAW/furt) -**License:** ISC \ No newline at end of file +**Projekt:** [Dragons@Work Digital Sovereignty](https://dragons-at-work.de) +**Repository:** [Forgejo](https://smida.dragons-at-work.de/DAW/furt) +**License:** ISC + diff --git a/Installation-Scripte.md b/Installation-Scripte.md index 27454b1..2e2c946 100644 --- a/Installation-Scripte.md +++ b/Installation-Scripte.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Warum modulare Scripts? @@ -21,13 +21,13 @@ Die sechs Helper Scripts folgen einer klaren Abhängigkeitskette. Das `setup-use ```bash # Abhängigkeitskette bei Fresh Installation: -setup-user.sh # Erstellt _furt oder furt Benutzer +setup-user.sh # Erstellt _furt oder furt Benutzer ↓ setup-directories.sh # Nutzt Benutzer für chown-Operationen - ↓ + ↓ sync-files.sh # Kopiert in die erstellten Verzeichnisse ↓ -create-service.sh # Verwendet die kopierten Service-Templates +create-service.sh # Verwendet die kopierten Service-Templates ↓ validate-config.sh # Prüft die installierte Konfiguration ↓ @@ -43,7 +43,7 @@ Diese Reihenfolge ist nicht willkürlich. Jedes Script baut auf den Ergebnissen Das Script prüft ob der Benutzer bereits existiert und überspringt die Erstellung falls nötig. Diese Idempotenz macht das Script sicher für mehrfache Ausführung. -### Phase 2: Verzeichnisstruktur erstellen +### Phase 2: Verzeichnisstruktur erstellen **[setup-directories.sh](setup-directories-sh.md)** legt die komplette furt-Verzeichnisstruktur an. Es versteht die Unterschiede zwischen BSD und Linux Filesystem-Konventionen: OpenBSD verwendet `/usr/local/etc/` für selbst-installierte Software um eine klare Trennung zur Basis-Installation zu schaffen. Linux-Distributionen legen alle Konfiguration in `/etc/`. ```bash @@ -53,7 +53,7 @@ Das Script prüft ob der Benutzer bereits existiert und überspringt die Erstell /var/log/furt/ # Logs (furt-writable) /var/run/furt/ # PID-Files (furt-writable) -# Linux Struktur +# Linux Struktur /etc/furt/ # Konfiguration /usr/local/share/furt/ # Source-Code (read-only) /var/log/furt/ # Logs (furt-writable) @@ -77,7 +77,7 @@ Unter OpenBSD wird das rc.d-Script nach `/etc/rc.d/furt` kopiert, ausführbar ge Das Script kann auch bestehende Konfigurationen auf Vollständigkeit prüfen - es erkennt fehlende Sektionen oder ungültige Werte und gibt entsprechende Hinweise. -### Phase 6: System-Test durchführen +### Phase 6: System-Test durchführen **[health-check.sh](health-check-sh.md)** versucht den furt-Service zu erreichen und seine grundlegenden Funktionen zu testen. Bei einer Fresh Installation kann dieser Test fehlschlagen weil der Service noch nicht gestartet wurde - das ist normal und erwartet. Das Script kann auch gegen entfernte furt-Installationen getestet werden um zu verifizieren dass Updates korrekt funktionieren. @@ -92,7 +92,7 @@ Das Orchestrator-Script `install.sh` unterstützt zwei Modi die sich in der Anza ``` Führt alle sechs Phasen aus. Geeignet für neue Installationen auf Systemen wo furt noch nie installiert war. -### Upgrade Installation +### Upgrade Installation ```bash ./install.sh --upgrade ``` @@ -127,7 +127,7 @@ Das modulare Design hilft erheblich bei der Fehlerdiagnose. Wenn die orchestrier ```bash [INFO] Phase 1: Setting up system user... OK -[INFO] Phase 2: Creating directory structure... OK +[INFO] Phase 2: Creating directory structure... OK [INFO] Phase 3: Installing source code... FAILED [ERROR] sync-files.sh: Permission denied writing to /usr/local/share/furt/ ``` @@ -153,4 +153,5 @@ Das Script-System ist für Erweiterungen designt. Neue Scripts können einfach i Diese Konsistenz macht es einfach das System zu verstehen und zu erweitern ohne bestehende Funktionalität zu beeinträchtigen. -Die Helper Scripts transformieren die manuelle furt-Installation von einem fehleranfälligen, wiederholenden Prozess zu einem robusten, automatisierten Workflow der bei Bedarf fein-granular gesteuert werden kann. \ No newline at end of file +Die Helper Scripts transformieren die manuelle furt-Installation von einem fehleranfälligen, wiederholenden Prozess zu einem robusten, automatisierten Workflow der bei Bedarf fein-granular gesteuert werden kann. + diff --git a/Installation-automatisiert.md b/Installation-automatisiert.md index a8abc0e..6f1a77f 100644 --- a/Installation-automatisiert.md +++ b/Installation-automatisiert.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Automatisierung verstehen @@ -24,7 +24,7 @@ doas pkg_add lua lua-socket lua-cjson luasec # Debian sudo apt install lua5.1 lua-socket lua-cjson lua-sec -# Arch Linux +# Arch Linux sudo pacman -S lua51 lua51-socket lua51-dkjson lua51-sec ``` @@ -51,7 +51,7 @@ Für eine neue furt-Installation führst du einfach das Orchestrator-Script aus: doas ./install.sh # Linux -sudo ./install.sh +sudo ./install.sh ``` Das Script durchläuft sechs Phasen und gibt für jeden Schritt eine Statusmeldung aus: @@ -76,7 +76,7 @@ furt installation completed successfully Next steps: 1. Edit configuration file: /usr/local/etc/furt/furt.conf -2. Start the service: doas rcctl start furt +2. Start the service: doas rcctl start furt 3. Test the API: curl http://127.0.0.1:7811/health ``` @@ -103,7 +103,7 @@ Nach der Konfiguration startest du furt mit den Standard-System-Tools: doas rcctl start furt doas rcctl check furt -# Linux +# Linux sudo systemctl start furt sudo systemctl status furt ``` @@ -168,7 +168,7 @@ Jedes Helper Script kann auch einzeln ausgeführt werden. Dies ist nützlich fü # Nur Source-Code aktualisieren sudo ./scripts/sync-files.sh -# Nur Konfiguration validieren +# Nur Konfiguration validieren sudo ./scripts/validate-config.sh # Nur Health Check @@ -185,4 +185,5 @@ Häufige Probleme sind fehlende Berechtigungen, bereits existierende Benutzer od Bei komplexeren Problemen kannst du zur manuellen Installation zurückkehren um jeden Schritt einzeln zu kontrollieren und zu verstehen wo der Fehler auftritt. -Die automatisierte Installation beschleunigt wiederkehrende furt-Deployments erheblich und reduziert die Wahrscheinlichkeit von Tippfehlern bei der manuellen Installation. \ No newline at end of file +Die automatisierte Installation beschleunigt wiederkehrende furt-Deployments erheblich und reduziert die Wahrscheinlichkeit von Tippfehlern bei der manuellen Installation. + diff --git a/Installation.md b/Installation.md index 68061ee..99126ab 100644 --- a/Installation.md +++ b/Installation.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Systemanforderungen verstehen @@ -77,7 +77,7 @@ Jetzt erstellen wir die benötigten Verzeichnisse mit korrekten Berechtigungen: ```bash # OpenBSD Verzeichnisse doas mkdir -p /usr/local/etc/furt -doas mkdir -p /usr/local/share/furt +doas mkdir -p /usr/local/share/furt doas mkdir -p /var/log/furt doas mkdir -p /var/run/furt @@ -89,10 +89,10 @@ doas chown _furt:_furt /var/run/furt Unter Linux ist die Struktur identisch, nur das Config-Verzeichnis liegt direkt in `/etc/`: ```bash -# Linux Verzeichnisse +# Linux Verzeichnisse sudo mkdir -p /etc/furt sudo mkdir -p /usr/local/share/furt -sudo mkdir -p /var/log/furt +sudo mkdir -p /var/log/furt sudo mkdir -p /var/run/furt sudo chown furt:furt /var/log/furt @@ -108,7 +108,7 @@ Der furt-Quellcode wird nach `/usr/local/share/furt/` kopiert. Dieses Verzeichni sudo cp -r src/ config/ scripts/ integrations/ /usr/local/share/furt/ # Versions-Dateien für merkwerk-Integration falls vorhanden -sudo cp VERSION /usr/local/share/furt/ 2>/dev/null || true +sudo cp VERSION /usr/local/share/furt/ 2>/dev/null || true sudo cp .version_history /usr/local/share/furt/ 2>/dev/null || true ``` @@ -125,7 +125,7 @@ sudo chmod +x /usr/local/share/furt/scripts/start.sh Unter Linux ist die Gruppe `root`: ```bash -# Linux nutzt root als Standard-Gruppe +# Linux nutzt root als Standard-Gruppe sudo chown -R root:root /usr/local/share/furt sudo chmod -R 644 /usr/local/share/furt sudo find /usr/local/share/furt -type d -exec chmod 755 {} \; @@ -149,7 +149,7 @@ Die wichtigsten Anpassungen betreffen die SMTP-Zugangsdaten und API-Keys. Öffne ```ini [smtp_default] host = mail.example.com -user = noreply@example.com +user = noreply@example.com password = your-smtp-password-here ``` @@ -166,7 +166,7 @@ Da die Konfigurationsdatei SMTP-Passwörter enthält, beschränken wir den Zugri ```bash # OpenBSD Berechtigungen -doas chmod 640 /usr/local/etc/furt/furt.conf +doas chmod 640 /usr/local/etc/furt/furt.conf doas chown root:_furt /usr/local/etc/furt/furt.conf # Linux Berechtigungen @@ -192,7 +192,7 @@ Das `furt_flags=` in `/etc/rc.conf.local` ermöglicht es später Command-Line-Pa Unter Linux verwenden wir systemd: ```bash -sudo cp deployment/linux/furt.service /etc/systemd/system/ +sudo cp deployment/linux/furt.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable furt ``` @@ -212,7 +212,7 @@ doas rcctl check furt Der `rcctl check` Befehl zeigt ob der Service läuft. Bei Problemen findest du Fehlerdetails im System-Log. ```bash -# Linux Service-Start +# Linux Service-Start sudo systemctl start furt sudo systemctl status furt ``` @@ -231,14 +231,15 @@ Die Response zeigt Service-Status, Version und verfügbare Features. Um die Mail ```bash curl -X POST http://127.0.0.1:7811/v1/mail/send \ - -H "X-API-Key: website-key" \ + -H "X-API-Key: website-key" \ -H "Content-Type: application/json" \ -d '{ "name": "Installation Test", "email": "test@example.com", - "subject": "furt Test", + "subject": "furt Test", "message": "Installation erfolgreich" }' ``` -Eine erfolgreiche Response bestätigt dass SMTP-Konfiguration und API-Key korrekt funktionieren. Die Test-Mail sollte an die in der Konfiguration angegebene Adresse ankommen. \ No newline at end of file +Eine erfolgreiche Response bestätigt dass SMTP-Konfiguration und API-Key korrekt funktionieren. Die Test-Mail sollte an die in der Konfiguration angegebene Adresse ankommen. + diff --git a/Konfiguration.md b/Konfiguration.md index 0477b7b..7157d7c 100644 --- a/Konfiguration.md +++ b/Konfiguration.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Konfigurationskonzept verstehen @@ -213,7 +213,7 @@ furt liest die Konfigurationsdatei beim Start. Nach Änderungen musst du den Ser # OpenBSD doas rcctl restart furt -# Linux +# Linux sudo systemctl restart furt ``` @@ -239,4 +239,5 @@ curl -X POST http://127.0.0.1:7811/v1/mail/send \ Der Auth-Status-Endpunkt zeigt welche Permissions der verwendete API-Key hat. Der Mail-Test sendet eine echte E-Mail an die konfigurierte Adresse und bestätigt dass SMTP-Routing funktioniert. -Diese flexible Konfigurationsarchitektur ermöglicht es furt als zentraler Mail-Gateway für komplexe Multi-Website-Umgebungen zu fungieren, während jede Website ihre spezifischen Routing- und Sicherheitsanforderungen erfüllen kann. \ No newline at end of file +Diese flexible Konfigurationsarchitektur ermöglicht es furt als zentraler Mail-Gateway für komplexe Multi-Website-Umgebungen zu fungieren, während jede Website ihre spezifischen Routing- und Sicherheitsanforderungen erfüllen kann. + diff --git a/Mail-Service-API.md b/Mail-Service-API.md index 46b519c..2e59f20 100644 --- a/Mail-Service-API.md +++ b/Mail-Service-API.md @@ -18,7 +18,7 @@ X-API-Key: your-tenant-api-key **Warum Tenant-basiert:** Jeder API-Key definiert: - Eigenen Mail-Empfänger -- Eigene SMTP-Konfiguration +- Eigene SMTP-Konfiguration - Eigene Subject-Präfixe - Isolierte Mail-Logs @@ -67,7 +67,7 @@ Dadurch kann ein Furt-Gateway Kontaktformulare für mehrere Websites gleichzeiti ```json // Invalid examples {"name": ""} // Empty string -{"name": " "} // Only whitespace +{"name": " "} // Only whitespace {"name": null} // Null value {"name": 123} // Wrong type ``` @@ -205,7 +205,7 @@ Website: your-website (your-api-key) From: John Doe Subject: Partnership Inquiry -Hello, I'm interested in discussing a potential partnership. +Hello, I'm interested in discussing a potential partnership. Could we schedule a call this week? --- @@ -259,10 +259,10 @@ X-RateLimit-Reset: 1632150000 ```javascript document.getElementById('contact-form').addEventListener('submit', async (e) => { e.preventDefault(); - + const formData = new FormData(e.target); const data = Object.fromEntries(formData); - + try { const response = await fetch('/v1/mail/send', { method: 'POST', @@ -272,9 +272,9 @@ document.getElementById('contact-form').addEventListener('submit', async (e) => }, body: JSON.stringify(data) }); - + const result = await response.json(); - + if (result.success) { alert('Message sent successfully!'); e.target.reset(); @@ -290,8 +290,8 @@ document.getElementById('contact-form').addEventListener('submit', async (e) => ### Hugo Shortcode Integration ```go -{{< furt-contact-form - api-endpoint="https://api.dragons-at-work.de/v1/mail/send" +{{< furt-contact-form + api-endpoint="https://api.example.com/v1/mail/send" api-key="your-api-key" success-url="/contact/thanks/" fields="name,email,subject,message" @@ -302,18 +302,18 @@ document.getElementById('contact-form').addEventListener('submit', async (e) => ```bash # Valid request -curl -X POST https://api.dragons-at-work.de/v1/mail/send \ +curl -X POST https://api.example.com/v1/mail/send \ -H "Content-Type: application/json" \ -H "X-API-Key: your-api-key" \ -d '{ "name": "Test User", - "email": "test@example.com", + "email": "test@example.com", "subject": "Test Message", "message": "This is a test message from the API." }' # Test validation error -curl -X POST https://api.dragons-at-work.de/v1/mail/send \ +curl -X POST https://api.example.com/v1/mail/send \ -H "Content-Type: application/json" \ -H "X-API-Key: your-api-key" \ -d '{ @@ -377,4 +377,5 @@ Sending mail for tenant: your-website To: contact@your-website.com From: noreply@your-website.com SMTP: mail.your-provider.com:587 -``` \ No newline at end of file +``` + diff --git a/create-service-sh.md b/create-service-sh.md index 68b3db5..b5c8472 100644 --- a/create-service-sh.md +++ b/create-service-sh.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Zweck des Scripts @@ -254,4 +254,5 @@ cp deployment/openbsd/rc.d-furt /etc/rc.d/furt sed -i "s|/usr/local|$PREFIX|g" /etc/rc.d/furt ``` -Das `create-service.sh` Script abstrahiert die Komplexität verschiedener Service-Management-Systeme und macht furt zu einem echten System-Service der automatisch startet, überwacht wird und in die Betriebssystem-Verwaltung integriert ist. \ No newline at end of file +Das `create-service.sh` Script abstrahiert die Komplexität verschiedener Service-Management-Systeme und macht furt zu einem echten System-Service der automatisch startet, überwacht wird und in die Betriebssystem-Verwaltung integriert ist. + diff --git a/health-check-sh.md b/health-check-sh.md index 9f0913e..8616e3a 100644 --- a/health-check-sh.md +++ b/health-check-sh.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Zweck des Scripts @@ -43,7 +43,7 @@ Die zweistufige Validierung deckt verschiedene Fehlerszenarien ab: Der `/health` Endpunkt testet die gesamte furt-Applikations-Pipeline: - **Lua-Runtime:** Script-Loading und Execution -- **HTTP-Server:** Request-Parsing und Response-Generation +- **HTTP-Server:** Request-Parsing und Response-Generation - **Konfiguration:** Config-File-Loading und Validation - **Features:** SMTP-Integration und Auth-System-Status @@ -194,7 +194,7 @@ Das Script verwendet Standardwerte falls Parameter nicht erkannt werden: # Korrekte Syntax ./scripts/health-check.sh --host 192.168.1.10 --port 8080 -# Nicht: +# Nicht: ./scripts/health-check.sh 192.168.1.10 8080 ``` @@ -256,4 +256,5 @@ else fi ``` -Das `health-check.sh` Script ist der Schlussstein des modularen furt-Installationssystems und stellt sicher dass alle vorherigen Installationsschritte erfolgreich waren und der Service vollständig betriebsbereit ist. \ No newline at end of file +Das `health-check.sh` Script ist der Schlussstein des modularen furt-Installationssystems und stellt sicher dass alle vorherigen Installationsschritte erfolgreich waren und der Service vollständig betriebsbereit ist. + diff --git a/setup-directories-sh.md b/setup-directories-sh.md index 01c527c..fdcd7c5 100644 --- a/setup-directories-sh.md +++ b/setup-directories-sh.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Zweck des Scripts @@ -197,4 +197,5 @@ CONFIG_DIR="$PREFIX/etc/furt" SHARE_DIR="$PREFIX/share/furt" ``` -Das `setup-directories.sh` Script schafft eine konsistente, sichere Verzeichnisstruktur die sich nahtlos in verschiedene Betriebssysteme integriert und dabei bewährte Admin-Praktiken respektiert. \ No newline at end of file +Das `setup-directories.sh` Script schafft eine konsistente, sichere Verzeichnisstruktur die sich nahtlos in verschiedene Betriebssysteme integriert und dabei bewährte Admin-Praktiken respektiert. + diff --git a/setup-user-sh.md b/setup-user-sh.md index 29bd2fb..a10efb5 100644 --- a/setup-user-sh.md +++ b/setup-user-sh.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Zweck des Scripts @@ -116,7 +116,7 @@ getent passwd | grep -E '(furt|_furt)' # BSD-spezifisch id _furt -# Linux-spezifisch +# Linux-spezifisch id furt ``` @@ -173,4 +173,5 @@ groupadd -g 1100 _furt 2>/dev/null || true useradd -u 1100 -g _furt -s /bin/false -d /var/empty _furt 2>/dev/null || true ``` -Das `setup-user.sh` Script reduziert die komplexen Unterschiede zwischen Betriebssystemen auf ein einfaches, einheitliches Interface. Es ist der erste Baustein des modularen Installationssystems und demonstriert wie kleine, spezialisierte Scripts robuste Automatisierung ermöglichen können. \ No newline at end of file +Das `setup-user.sh` Script reduziert die komplexen Unterschiede zwischen Betriebssystemen auf ein einfaches, einheitliches Interface. Es ist der erste Baustein des modularen Installationssystems und demonstriert wie kleine, spezialisierte Scripts robuste Automatisierung ermöglichen können. + diff --git a/sync-files-sh.md b/sync-files-sh.md index 3337f5d..892dfa9 100644 --- a/sync-files-sh.md +++ b/sync-files-sh.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Zweck des Scripts @@ -138,7 +138,7 @@ stat -c "%a %n" /usr/local/share/furt/scripts/start.sh Korrekte Synchronisation zeigt alle Source-Verzeichnisse mit entsprechenden Berechtigungen: ``` drwxr-xr-x root wheel 512 src -drwxr-xr-x root wheel 512 config +drwxr-xr-x root wheel 512 config drwxr-xr-x root wheel 512 scripts -rwxr-xr-x root wheel 1234 scripts/start.sh ``` @@ -208,4 +208,5 @@ if [ -d "$TARGET" ]; then fi ``` -Das `sync-files.sh` Script schließt die Lücke zwischen Development und Installation durch automatisierte, sichere Synchronisation aller furt-Komponenten mit betriebssystem-angemessenen Berechtigungen. \ No newline at end of file +Das `sync-files.sh` Script schließt die Lücke zwischen Development und Installation durch automatisierte, sichere Synchronisation aller furt-Komponenten mit betriebssystem-angemessenen Berechtigungen. + diff --git a/validate-config-sh.md b/validate-config-sh.md index 0ba3112..5a859ec 100644 --- a/validate-config-sh.md +++ b/validate-config-sh.md @@ -4,7 +4,7 @@ ## Getestet unter - OpenBSD 7.7 -- Debian 12 +- Debian 12 - Arch Linux ## Zweck des Scripts @@ -246,4 +246,5 @@ if ! grep -q '^port' "$CONFIG_FILE"; then fi ``` -Das `validate-config.sh` Script ist ein kritischer Sicherheits-Checkpoint der verhindert dass furt mit defekter Konfiguration startet und dadurch unvorhersagbare Fehler oder Sicherheitslücken entstehen. Es balanciert gründliche Validierung mit praktischer Nutzbarkeit. \ No newline at end of file +Das `validate-config.sh` Script ist ein kritischer Sicherheits-Checkpoint der verhindert dass furt mit defekter Konfiguration startet und dadurch unvorhersagbare Fehler oder Sicherheitslücken entstehen. Es balanciert gründliche Validierung mit praktischer Nutzbarkeit. +