Service-Management: pexp-Pattern durch PID-File ersetzen #100
Labels
No labels
apache
api
api-contract
api-gateway
authentication
automation
breaking-change
comments
component/deployment
component/documentation
component/service-management
configuration
contact-form
coordination/cross-repo
coordination/needed
core
deployment
development
development-ready
digital-sovereignty
distribution
effort
large
effort
medium
effort
small
enhancement
frontend
furt-service
furt/gateway
furt/installation
gateway
gateway-integration
generator
gitea-testing
health-check
help-wanted
hugo
hugo-integration
infrastructure
installation
logging
low-tech
mail
meta
meta/duplicate
meta/planning
meta/wontfix
monitoring
observability
openapi
organization
packaging
performance
planning
platform/linux
priority
high
priority
low
priority
medium
production
question
sagjan
security
service
service-analytics
service-development
service-formular2mail
service-newsletter
service-request
service-sagjan
session
blocker
session
handover
session
next
shortcode
specs
ssl
status
blocked
status
done
status
in-progress
status
review
status
to-go
systemd
testing
tooling
type
admin
type
bug
type
config
type
deployment
type
docs
type
enhancement
type
feature
type
handover
type
infrastructure
type
installation
type
maintenance
type
migration
type/refactor
type
research
type
security
type/testing
v0.1.0
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: DAW/furt#100
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Das aktuelle Service-Management verwendet pexp-Pattern die unzuverlässig und unsicher sind.
werner-Testing Erkenntnisse:
rcctl check furtzeigt (failed) obwohl Service läuft/usr/local/bin/lua src/main.lua.*matcht nicht den tatsächlichen Processlua src/main.lua (lua51)pexp-Pattern Probleme
1. Platform-spezifische Unterschiede
Ein Pattern funktioniert nicht überall.
2. Security-Risiken
3. Multi-Instance Probleme
4. Maintenance-Overhead
Lösung: PID-File Service-Management
Warum PID-Files besser sind
Eindeutigkeit: Eine PID gehört exakt einem Process
Sicherheit: Kann nur den korrekten Process killen
Platform-unabhängig: PIDs funktionieren überall gleich
Standard-Pattern: Etablierte Unix/Linux-Konvention
Multi-Instance-fähig: Verschiedene PID-Files möglich
Implementation
1. start.sh erweitern
Service-Detection + PID-File:
2. rc.d Script umstellen
OpenBSD rc.d ohne pexp:
3. Systemd Service (Linux)
Native PID-File Support:
Multi-Instance Support (Optional)
Port-basierte PID-Files:
Service-Management:
Vorteile der PID-File Lösung
1. Zuverlässigkeit
2. Sicherheit
3. Platform-Kompatibilität
4. Wartbarkeit
Testing-Plan
Phase 1: start.sh PID-File Implementation
Phase 2: Service-Scripts anpassen
Phase 3: Multi-Platform Testing
Phase 4: Edge-Cases
Implementation-Reihenfolge
Akzeptanzkriterien
doas rcctl start furt→ (ok)doas rcctl check furt→ (ok)doas rcctl stop furt→ Service gestoppt, PID-File entferntBetroffene Dateien
scripts/start.sh- PID-File schreibenInstallation.md- Service-Management-SektionPriorität: Medium - Service läuft, aber Management ist unzuverlässig
Aufwand: Medium - Cross-Platform Testing erforderlich
Impact: Zuverlässige Service-Verwaltung für Production-Systeme
Scope Update: Robustes PID-File Service-Management
Erweiterte Implementation basierend auf Testing-Erfahrungen:
Original Scope (PID-File Basics)
Erweiterte Robustheit (gleicher Testing-Aufwand)
Rationale: Zusammenhängende Service-Management-Features einmal richtig testen statt 3x separate Issues mit jeweiligem walter/werner Testing-Aufwand.
Ausgeschlossen: systemd Security-Hardening (separates Issue #110)
Status: Implementation in
feature/pid-file-service-managementbranch bereit für Testing✅ Issue #100 Successfully Completed
Implementation completed and tested on werner (OpenBSD):
✅ Changes Made
✅ Testing Results
✅ Git Integration
59f372f(implementation) +bbbbeef(merkwerk auto-update)✅ Platform Status
Result: Service detection now works reliably across platforms. The fragile pexp-pattern approach has been replaced with robust PID-file based service management.
Ready for production deployment.