mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-20 21:48:47 +02:00
Lot 21 : mise à jour de Loki tenue par la façade (LOKI_UPDATE=rust)
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
This commit is contained in:
16 files changed
+318
-1
No files matched your search
@@ -90,6 +90,9 @@ pub struct Config {
|
||||
/// Serveurs MCP (pool de sessions, configuration, catalogue) tenus par la
|
||||
/// façade (`LOKI_MCP=rust`) ; `None` : au Go.
|
||||
pub mcp: Option<Arc<crate::mcp::Mcp>>,
|
||||
/// Mise à jour de Loki tenue par la façade (`LOKI_UPDATE=rust`, en
|
||||
/// conteneur).
|
||||
pub update: bool,
|
||||
}
|
||||
|
||||
struct Proxy {
|
||||
@@ -128,6 +131,7 @@ pub async fn serve(
|
||||
system: cfg.system,
|
||||
projects: cfg.projects,
|
||||
mcp: cfg.mcp,
|
||||
update: cfg.update,
|
||||
internal_token: cfg.internal_token.clone(),
|
||||
},
|
||||
});
|
||||
@@ -226,6 +230,9 @@ impl Proxy {
|
||||
{
|
||||
return chatapi::serve(&self.ctx, chat, req, from_go).await;
|
||||
}
|
||||
if self.ctx.update && crate::sysupdate::handles(path) {
|
||||
return crate::sysupdate::serve(&self.ctx, req, from_go).await;
|
||||
}
|
||||
if let Some(m) = &self.ctx.mcp
|
||||
&& crate::mcp::handles(path)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user