Self-Update Server: Version-Endpoint, APK-Hosting & Homepage mit QR-Code #83
Labels
No labels
block-planning
bug
documentation
duplicate
enhancement
feature
good first issue
help wanted
infrastructure
invalid
planning
priority:high
priority:low
question
refactoring
status:backlog
status:done
status:in-progress
status:todo
tech-decision
test
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: bollwerkadmin/bollwerk#83
Loading…
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?
Feature: Server – Version-Endpoint, APK-Hosting & Homepage mit QR-Code
Part of: #69
Ziel
Der Server liefert Versionsinformationen über einen öffentlichen Endpoint, hostet die aktuelle APK als statische Datei und zeigt auf der Homepage einen QR-Code für den direkten APK-Download.
Scope
GET /api/version→{ "versionCode": Int, "versionName": String, "apkUrl": String }(öffentlich, kein Auth)application.conflesen (konfigurierbar via Environment-Variablen)server/data/unter/static/app-latest.apkausliefern (KtorstaticFiles)GET /→ HTML-Seite mit App-Name, Version und QR-Code (zeigt auf APK-Download-URL)qrcode.js) – keine Server-Dependency/adminbleibt unverändert erreichbar unter/adminhttps://<server-host>/static/app-latest.apk(aus Request-Host abgeleitet)Technische Hinweise
server/src/main/kotlin/de/krisenvorrat/server/plugins/Routing.ktstaticResources("/admin", "static/admin")für Admin-UIserver/data/app-latest.apk), nicht aus Ressourcen (zu groß für JAR)application.conferweitern umkrisenvorrat.appVersionCodeundkrisenvorrat.appVersionNamerespondHtmloder als Template-String gerendert werdenAkzeptanzkriterien
GET /api/versionliefert JSON mitversionCode,versionName,apkUrlGET /static/app-latest.apkliefert die APK-Datei (wenn vorhanden), 404 wenn keine APK hinterlegtGET /zeigt eine HTML-Seite mit QR-Code, der auf die APK-Download-URL zeigt/administ weiterhin erreichbar und funktioniert wie bisher