Skip to main content

Crate cloudillo_core

Crate cloudillo_core 

Source
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 extract::Auth;
pub use extract::OptionalAuth;
pub use middleware::PermissionCheckFactory;
pub use middleware::PermissionCheckInput;
pub use middleware::PermissionCheckOutput;
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)
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_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).
ScheduleEmailParams
Parameters passed to a ScheduleEmailFn invocation. Mirrors cloudillo_email::EmailTaskParams but 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§

register_settings

Type Aliases§

ActionVerifyFn
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.
CreateActionFn
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.
CreateCompleteTenantFn
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.
EnsureProfileFn
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.
OnFirstCertIssuedFn
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_success only when the renewal row’s pre-renewal expires_at was None.
ScheduleEmailFn
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).