Expand description
Fleet config pull: signed configs from HTTPS, S3 or git (18.23.0). Fleet config pull (18.23.0, #80): many instances, one source of truth.
With [fleet] source set, rws fetches its config file from an HTTPS
URL, an S3 object or a git repository every interval_secs, checks its
Ed25519 signature (<source>.sig) against public_key, validates it
like rws --check, writes it over the local config file and reloads.
A config that fails any step is refused and the running one stays;
report_url gets each outcome. {node} in the source is the node name
([cluster] node, else the host name), so each instance can have its
own file.
The fleet config is the declared layer; runtime changes made through
the admin API (crate::cluster) are the live one.
rws fleet keygen makes a key pair; rws fleet sign <file> --key <key>
writes <file>.sig.
Structs§
- Fleet
- The puller: fetch, verify, check, write, reload, report.
- Fleet
Config [fleet]settings.
Enums§
Constants§
- RWS_
CONFIG_ FLEET_ INSECURE - RWS_
CONFIG_ FLEET_ INTERVAL_ SECS - RWS_
CONFIG_ FLEET_ PUBLIC_ KEY - RWS_
CONFIG_ FLEET_ REPORT_ URL - RWS_
CONFIG_ FLEET_ S3_ ENDPOINT - RWS_
CONFIG_ FLEET_ SOURCE - SIG_
PREFIX - The signature file
rws fleet signwrites (18.24.0): one line,rws-fleet-sig v2 <serial> <base64 signature>, the signature oversigned_message. The serial only grows: an instance refuses a config whose serial isn’t above the one it applied, so an older signed file can’t roll it back.
Functions§
- command
rws fleet keygen [<prefix>]/rws fleet sign <file> --key <file>:Some(exit code)whenargs(a full argv) asks for one.- parse_
signature - A parsed signature file: the serial (0 for the 18.23 format, which signed the body alone) and the signature bytes.
- read_
public_ key - A public key: base64 of the 32 raw bytes, inline or in a file.
- signed_
message - What a v2 signature covers: a domain tag, the serial, then the file.
- start_
from_ env - The binary’s entry point: with
[fleet] source, pull on a thread. - status_
json - The fleet status for the admin API, or
Nonewithout[fleet]. - verify
- Check
bodyagainst a signature file withpublic_key; the serial it carries (0 for an 18.23-format file).