This commit is contained in:
Sergio
2026-05-08 17:27:10 +00:00
parent 354f992c63
commit 9420eae0b6
6 changed files with 18 additions and 3 deletions
@@ -14,7 +14,7 @@ use std::sync::Mutex;
use tokio::signal::unix::{signal, SignalKind}; use tokio::signal::unix::{signal, SignalKind};
use tracing::{info, warn}; use tracing::{info, warn};
use tracing_subscriber::EnvFilter; use tracing_subscriber::EnvFilter;
use zbus::{fdo, interface, Connection}; use zbus::{fdo, interface};
const BUS_NAME: &str = "org.freedesktop.hostname1"; const BUS_NAME: &str = "org.freedesktop.hostname1";
const OBJ_PATH: &str = "/org/freedesktop/hostname1"; const OBJ_PATH: &str = "/org/freedesktop/hostname1";
-1
View File
@@ -4,7 +4,6 @@
//! Idempotente: si los puntos de montaje ya existen (initramfs los montó), //! Idempotente: si los puntos de montaje ya existen (initramfs los montó),
//! el segundo mount falla con EBUSY y simplemente lo ignoramos. //! el segundo mount falla con EBUSY y simplemente lo ignoramos.
use anyhow::Context;
use nix::mount::{mount, MsFlags}; use nix::mount::{mount, MsFlags};
use tracing::debug; use tracing::debug;
@@ -183,6 +183,8 @@ type TemporaryAuth = (String, String, (String, HashMap<String, OwnedValue>), u64
struct PolicyDecision { struct PolicyDecision {
allow: bool, allow: bool,
/// Origen: "fractal" si vino del bus, "default-allow" si no había proveedor. /// Origen: "fractal" si vino del bus, "default-allow" si no había proveedor.
/// Sólo aparece en `Debug` (logging); ningún consumer lo lee programmático.
#[allow(dead_code)]
source: &'static str, source: &'static str,
} }
+7
View File
@@ -1,5 +1,12 @@
//! Eventos internos del bucle primordial. Todo cambio de estado del fractal //! Eventos internos del bucle primordial. Todo cambio de estado del fractal
//! pasa por aquí — la única vía de mutación del grafo desde tasks externas. //! pasa por aquí — la única vía de mutación del grafo desde tasks externas.
//!
//! Este módulo es **vocabulario**: declara el universo completo de eventos
//! del fractal. Algunas variantes/campos están reservados para flujos
//! aún no implementados (capabilities, signal-driven shutdown). Silenciar
//! `dead_code` evita ruido sin perder la declaración del contrato.
#![allow(dead_code)]
use ente_bus::{BusMessage, BusRequest, BusResponse, PeerCreds}; use ente_bus::{BusMessage, BusRequest, BusResponse, PeerCreds};
use ente_card::{Capability, EntityCard}; use ente_card::{Capability, EntityCard};
@@ -57,6 +57,9 @@ impl EnteGraph {
/// Extiende un grant existente. Devuelve `true` si renovó. Si el token /// Extiende un grant existente. Devuelve `true` si renovó. Si el token
/// no existe o ya expiró, `false` (el cliente debe re-acquire). /// no existe o ya expiró, `false` (el cliente debe re-acquire).
/// Usa el TTL específico de la cap del grant. /// Usa el TTL específico de la cap del grant.
///
/// Reservado para el flujo de capability renewal (no cableado todavía).
#[allow(dead_code)]
pub fn renew_grant(&mut self, token: u64) -> bool { pub fn renew_grant(&mut self, token: u64) -> bool {
let now = Instant::now(); let now = Instant::now();
if let Some(g) = self.grants.get_mut(&token) { if let Some(g) = self.grants.get_mut(&token) {
+5 -1
View File
@@ -23,7 +23,8 @@ use std::collections::{BTreeMap, BTreeSet, HashMap};
use tokio::sync::{mpsc, oneshot}; use tokio::sync::{mpsc, oneshot};
use ulid::Ulid; use ulid::Ulid;
pub use shutdown::SHUTDOWN_GRACE; // `SHUTDOWN_GRACE` está re-exportado bajo `crate::graph::shutdown::SHUTDOWN_GRACE`
// directo; la re-export adicional aquí no se usa todavía.
/// Bit alto encendido en `seq` para invokes server-iniciados — evita choque /// Bit alto encendido en `seq` para invokes server-iniciados — evita choque
/// con secuencias allocadas por clientes. /// con secuencias allocadas por clientes.
@@ -74,6 +75,9 @@ pub(in crate::graph) struct GrantedCapability {
/// TTL default para grants cuando la cap no tiene override. 60s es un /// TTL default para grants cuando la cap no tiene override. 60s es un
/// compromiso: largo enough para evitar churn en patrones interactivos, /// compromiso: largo enough para evitar churn en patrones interactivos,
/// corto enough para que credenciales filtradas expiren rápidamente. /// corto enough para que credenciales filtradas expiren rápidamente.
///
/// Reservado para el flujo de capability granting (no cableado todavía).
#[allow(dead_code)]
pub const DEFAULT_GRANT_TTL: std::time::Duration = std::time::Duration::from_secs(60); pub const DEFAULT_GRANT_TTL: std::time::Duration = std::time::Duration::from_secs(60);
/// Quota máxima de tokens activos por (holder, cap). Caps escaladas tienen /// Quota máxima de tokens activos por (holder, cap). Caps escaladas tienen