ravenrs_report_server/lib.rs
1//! Report server for RavenRS Reporting: stores layouts with versions, renders
2//! them over HTTP and delivers scheduled reports by email or to a folder.
3//!
4//! * [`config`] reads the server's configuration; secrets come from the environment.
5//! * [`store`] keeps layouts, jobs, history and documents as files.
6//! * [`cron`] parses schedules and finds the next run, time zones included.
7//! * [`job`] is the job format and its validation.
8//! * [`render`] resolves a layout's data and writes the output files.
9//! * [`deliver`] sends files by email or writes them to a folder.
10//! * [`scheduler`] runs what is due, with retries, history and retention.
11//! * [`http`] is the API.
12//!
13//! The binary runs all of it from a configuration file. The server has one
14//! administrative identity, its API token, and is meant to run as one instance.
15
16pub mod config;
17pub mod cron;
18pub mod deliver;
19pub mod http;
20pub mod job;
21pub mod render;
22pub mod scheduler;
23pub mod store;