skip to content
[readonly]

The fleet's desired state: the programs that should run, lockstep groups and placement requests, as the Rust's text document

sh
$ sexc add @ajax/mesh-fleet-doc
  • total 3
  • drwxr-xr-x-../
  • drwxr-xr-x-Oct 27 04:08v/# 1 version
  • drwxr-xr-x-Oct 27 04:08files/# the files of 0.1.0
latest
0.1.0, published Oct 27 04:08 by ajax
owners
ajax
license
MIT
dependencies
@ajax/mesh-check ^0.1.0, @ajax/mesh-mt ^0.1.0, @ajax/mesh-parse ^0.1.0, @ajax/rust-fmt ^0.1.0, @ajax/mesh-member-list ^0.1.0, @ajax/mesh-sched-needs ^0.1.0, @ajax/mesh-abi-base ^0.1.0, @ajax/mesh-abi-backend ^0.1.0
dependents
@ajax/mesh-fleet-core, @ajax/mesh-fleet-edit, @ajax/mesh-fleet-groups, @ajax/mesh-fleet-persist, @ajax/mesh-fleet-plan, @ajax/mesh-jobd, @ajax/mesh-peer-codec, @ajax/mesh-peer-relay, @ajax/mesh-reconcile, @ajax/mesh-sched-place, @ajax/mesh-sched-tracker
keywords
mesh alphaos fleet fleet desired-state document
homepage
https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-fleet-doc
repository
https://github.com/thomasdavis/alpha-c-mesh
==> README.md <==
1# @ajax/mesh-fleet-doc
2
3The fleet's desired state (`mfd_doc`): the programs that should be loaded (catalog dir, image hash, run
4state, reset generation, the previous image for a rollback, the scheduling needs, the scheduler's
5placement, a migration in flight, the operator's pin, why it is where it is), the lockstep groups
6(program, ordered members, epoch, cycle, state, on-loss policy), the placement requests and the
7scheduler's switches (paused, autoreform, cordon). `mfd_encode` / `mfd_decode` are the Rust's text
8document, one line per item, byte for byte; the leader sends it whole.
9
10Programs and placement requests are kept sorted by name (the Rust's `BTreeMap` order); groups keep
11their order.
12
13## Ported from
14
15[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) `crates/mesh-host/src/fleet.rs`:
16`ProgSpec` (`here`), `CycleOp`, `GroupState`, `OnLoss`, `Group` (`mask`, `rank`, `order`), `Doc`
17(`id`, `group_of`, `encode`, `decode`), `can_run`.
18
19## Tests
20
21`tests/doc.c`: the document part of the Rust's `document_round_trips` (with every scheduler field),
22the exact text, decode errors in the Rust's words and order, ranks, `here`, `can_run`.
23
24## Licence
25
26MIT. See the repository's LICENSE.