mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-16 19:59:56 +02:00
En conteneur, l'image se met à jour par Docker : /api/update rend la version du Go sans mise à jour disponible et la note Docker, /api/update/apply la refuse (409). La façade sert ces deux routes quand LOKI_UPDATE=rust et LOKI_CONTAINER=1 (sysupdate.rs) ; hors conteneur, loki-rs ne passe pas la variable et le Go garde le remplacement du binaire. Parité : parity_update_test.go tire du Go les quatre réponses en conteneur, rejouées par tests/sysupdate.rs ; TestFacadeMiseAJour côté Go. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
27 lines
857 B
Go
27 lines
857 B
Go
package loki
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
// facade_update.go — mise à jour de Loki tenue par la façade Rust
|
|
// (LOKI_UPDATE=rust, lot 21 de la migration ; expérimental, le Go reste le
|
|
// défaut) : /api/update et /api/update/apply. La façade ne tourne qu'en
|
|
// conteneur, où l'image se met à jour par Docker : les deux routes le disent
|
|
// (containerUpdateNote). Hors conteneur, loki-rs ne passe pas la variable.
|
|
|
|
const facadeUpdateEnv = "LOKI_UPDATE"
|
|
|
|
// facadeUpdate : la façade tient-elle la mise à jour ?
|
|
func facadeUpdate() bool {
|
|
return strings.EqualFold(strings.TrimSpace(os.Getenv(facadeUpdateEnv)), "rust") &&
|
|
facadeAddr() != "" && internalToken() != ""
|
|
}
|
|
|
|
// facadeUpdateRoutes : les routes que la façade sert alors (sysupdate.rs).
|
|
var facadeUpdateRoutes = map[string]bool{
|
|
"/api/update": true,
|
|
"/api/update/apply": true,
|
|
}
|