-
Notifications
You must be signed in to change notification settings - Fork 298
/
lib.rs
49 lines (48 loc) · 1.47 KB
/
lib.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! The orchestrator is a component of the Internet Computer that
//! manages the replica.
//!
//! Among other things, it continuously determines the correct Replica
//! binary to run for this node at any point in time, runs this
//! binary, and monitors this process (e.g. restarting it if it exits
//! unexpectedly)
//!
//! # Upgrades
//!
//! The orchestrator also triggers upgrades of the replica
//! process. For that, it periodically performs the following operations:
//!
//! 1. Ask the registry for the current peers in the subnetwork it is supposed to
//! run it.
//!
//! 2. From each peer, fetch the latest catch-up package via a separate CUP
//! endpoint.
//!
//! 3. Verify each of those CUPs (by means of the subnet signature) and select
//! the most recent one (based on the block height).
//!
//! 4. Check the registry version referenced in that CUP and the replica version
//! associated with that registry version.
//!
//! 5. If the version is different from what we are currently running, apply
//! upgrade and restart replica with that CUP.
//!
//! # Registry
//!
//! The orchestrator also fetches configuration updates from the
//! registry and writes them to disk for other components of the
//! system to read.
pub mod args;
mod boundary_node;
mod catch_up_package_provider;
mod dashboard;
pub mod error;
mod firewall;
mod hostos_upgrade;
mod metrics;
pub mod orchestrator;
mod process_manager;
mod registration;
mod registry_helper;
mod signer;
mod ssh_access_manager;
mod upgrade;