Expand description
Core infrastructure for the Cloudillo platform.
This crate contains shared infrastructure modules that are used by the server crate and potentially by future feature crates. Extracting these into a separate crate enables better build parallelism and clearer module boundaries.
Re-exports§
pub use app::App;pub use app::AppBuilderOpts;pub use app::AppState;pub use app::ServerMode;pub use dir_cache::DirCache;pub use dir_cache::DirEntry;pub use extract::Auth;pub use extract::OptionalAuth;pub use middleware::PermissionCheckFactory;pub use middleware::PermissionCheckInput;pub use middleware::PermissionCheckOutput;pub use profile_me_cache::ProfileMeCache;pub use profile_visibility::CommunityRole;pub use profile_visibility::RequesterTier;pub use profile_visibility::SectionVisibility;pub use proxy_token_cache::ProxyTokenCache;pub use ws_broadcast::BroadcastManager;
Modules§
- abac
- Attribute-Based Access Control (ABAC) system for Cloudillo
- acme
- ACME subsystem. Handles automatic certificate management using Let’s Encrypt.
- app
- App state type
- bootstrap_
types - Bootstrap-related types shared between server and feature crates.
- core_
settings - Core server settings registration
- create_
perm - Collection-level permission middleware for ABAC (CREATE operations)
- dir_
cache - Shared LRU cache of folder metadata (parent id, name, is_folder) used to
resolve
withParent/withPathlisting options and bounded parent-chain walks without recursive SQL. The cache holds folder rows only. - dns
- DNS resolver module with true recursive resolution from root nameservers
- extensions
- Type-erased extension map for AppState
- extract
- Custom extractors for Cloudillo-specific data
- file_
access - File access level helpers
- log
- Custom tracing event formatter and request-id capture layer.
- middleware
- Custom middlewares
- prelude
- profile_
me_ cache - In-memory cache for the
GET /api/mecontent-derived ETag. - profile_
visibility - Per-section profile visibility filtering.
- proxy_
token_ cache - Shared LRU cache for federated access tokens.
- rate_
limit - Rate Limiting System
- request
- Request client implementation
- roles
- Role hierarchy and expansion logic
- scheduler
- Scheduler subsystem. Handles async tasks, dependencies, fallbacks, repetitions, persistence..
- settings
- Settings subsystem types and service
- ws_
broadcast - WebSocket User Messaging
- ws_bus
- WebSocket Bus Handler - Direct user messaging
Structs§
- IdTag
- Identity tag extracted from request extensions (set by auth middleware).
- Schedule
Email Params - Parameters passed to a
ScheduleEmailFninvocation. Mirrorscloudillo_email::EmailTaskParamsbut lives in core so the ACME renewal task (and other core-side tasks) can schedule emails without a cyclic dependency on the email crate.
Functions§
Type Aliases§
- Action
Verify Fn - Type-erased function for verifying action tokens. Registered as an extension by the server’s action module. Used by auth module for the token exchange flow.
- Create
Action Fn - Type-erased function for creating an action. Registered as an extension by the server’s action module. Used by profile crate for community CONN creation.
- Create
Complete Tenant Fn - Type-erased function for creating a complete tenant (bootstrap). Registered as an extension by the server’s bootstrap module. Used by profile crate for registration and community creation.
- Ensure
Profile Fn - Type-erased function for ensuring a remote profile exists locally. Registered as an extension by the server’s app module. Used by action hooks for profile sync.
- OnFirst
Cert Issued Fn - Type-erased function invoked once the very first ACME certificate for a
tenant has been successfully issued. Registered by the profile crate so
it can flush deferred work (e.g. queueing a welcome email that requires
HTTPS to be usable). Called from
acme::handle_renewal_successonly when the renewal row’s pre-renewalexpires_atwasNone. - Schedule
Email Fn - Type-erased function for scheduling a templated email via the scheduler.
Registered as an extension by the server’s app module (delegates to
cloudillo_email::EmailModule::schedule_email_task).